NexusFi: Find Your Edge


Home Menu

 





Indicator for Market TICK reading?


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one redratsal with 4 posts (2 thanks)
    2. looks_two hector24 with 3 posts (0 thanks)
    3. looks_3 Fat Tails with 2 posts (0 thanks)
    4. looks_4 BCNTrader with 2 posts (3 thanks)
    1. trending_up 6,056 views
    2. thumb_up 5 thanks given
    3. group 6 followers
    1. forum 13 posts
    2. attach_file 6 attachments




 
Search this Thread

Indicator for Market TICK reading?

  #1 (permalink)
 hector24 
austin, texas
 
Experience: Intermediate
Platform: ninja trader
Trading: currency futures
Posts: 506 since Jan 2011
Thanks Given: 14
Thanks Received: 234

I don't know how many of you watch the TICK but I was wondering if someone knew how to code and indicator (ninja)that shows the TICK at certain levels. For instance at level 600 brown dot, at level 1000 a blue dot, at level 1300 a red dot, etc. I have attached a pic to show what I am talking about.

https://screencast.com/t/4tAKhDl5yqd

Thanks
Hector

Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
The space time continuum and the dynamics of a financial …
Emini and Emicro Index
Better Renko Gaps
The Elite Circle
Futures True Range Report
The Elite Circle
Deepmoney LLM
Elite Quantitative GenAI/LLM
Exit Strategy
NinjaTrader
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Get funded firms 2023/2024 - Any recommendations or word …
59 thanks
Funded Trader platforms
36 thanks
NexusFi site changelog and issues/problem reporting
22 thanks
The Program
20 thanks
GFIs1 1 DAX trade per day journal
19 thanks
  #3 (permalink)
 
redratsal's Avatar
 redratsal 
Milan (I)
 
Experience: Advanced
Platform: Ninjatrader
Broker: Kinetick
Trading: FDAX,6E,CL,YM,NQ,ES
Posts: 1,648 since Oct 2010
Thanks Given: 1,215
Thanks Received: 2,090



hector24 View Post
I don't know how many of you watch the TICK but I was wondering if someone knew how to code and indicator (ninja)that shows the TICK at certain levels. For instance at level 600 brown dot, at level 1000 a blue dot, at level 1300 a red dot, etc. I have attached a pic to show what I am talking about.

tick pic - hector24's library

Thanks
Hector

Hi,

Pace of tape is kind of what you are looking for View Download Details - Big Mike's Trading Forum

Visit my NexusFi Trade Journal Reply With Quote
  #4 (permalink)
 
BCNTrader's Avatar
 BCNTrader 
Barcelona, Spain
 
Experience: Intermediate
Platform: NinjaTrader 7
Broker: Interactive Brokers/Kinetick
Trading: US stocks, EUR/USD
Posts: 119 since Sep 2010
Thanks Given: 138
Thanks Received: 108

I think he is talking about TICK-NYSE, not tick reading.

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #5 (permalink)
 
redratsal's Avatar
 redratsal 
Milan (I)
 
Experience: Advanced
Platform: Ninjatrader
Broker: Kinetick
Trading: FDAX,6E,CL,YM,NQ,ES
Posts: 1,648 since Oct 2010
Thanks Given: 1,215
Thanks Received: 2,090


BCNTrader View Post
I think he is talking about TICK-NYSE, not tick reading.

I think you are right, I can code the indy for the OP, but I need more details, for instance in ^Tick charts it is difficult to find fixed recurring levels, IMO the indy should plot between Tick ranges like blue dot between 400 and 600 and so on.


Visit my NexusFi Trade Journal Reply With Quote
  #6 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


hector24 View Post
I don't know how many of you watch the TICK but I was wondering if someone knew how to code and indicator (ninja)that shows the TICK at certain levels. For instance at level 600 brown dot, at level 1000 a blue dot, at level 1300 a red dot, etc. I have attached a pic to show what I am talking about.

tick pic - hector24's library

Thanks
Hector

Not difficult to code, but in my experience absolute levels of tick reading are not that useful. If you have an uptrending day, you will frequently find tick readings above 1000. You cannot fade these reading, but they are simply a sign of strength.

More interesting are the high tick readings against the trend. To catch these the tick levels should be adjusted for the current trend. A tick reading of -600 against the trend can be more significant than a tick reading of +1000 in direction of the trend.

See charts of NYSE Tick and ES 06-11 below for yesterday.

Attached Thumbnails
Click image for larger version

Name:	^TICK (1 Min) 27_04_2011.jpg
Views:	290
Size:	135.6 KB
ID:	37519   Click image for larger version

Name:	ES 06-11 (3 Min) 27_04_2011.jpg
Views:	303
Size:	90.5 KB
ID:	37520  
Reply With Quote
  #7 (permalink)
TAJTrades
Here, GA
 
Posts: 158 since Jun 2009
Thanks Given: 1
Thanks Received: 86


Fat Tails View Post
More interesting are the high tick readings against the trend. To catch these the tick levels should be adjusted for the current trend. A tick reading of -600 against the trend can be more significant than a tick reading of +1000 in direction of the trend..

Fat Tails, Its all about context isn't it. That, IMO, is where most attempts at AutoTrading blow up.

Reply With Quote
  #8 (permalink)
 
BCNTrader's Avatar
 BCNTrader 
Barcelona, Spain
 
Experience: Intermediate
Platform: NinjaTrader 7
Broker: Interactive Brokers/Kinetick
Trading: US stocks, EUR/USD
Posts: 119 since Sep 2010
Thanks Given: 138
Thanks Received: 108

Is easy to code.... I started coding it 20 minutes ago but I don't know how to use the same periodtype that the main chart (I used my fav. 5min, but must be something about this, never used multi-instrument in indicators but strategies) and I don't know how this will work in real-time (I can't test it now and I like to see the candle close, so I'm not used to).

So, I will post the code here, use at your own risk, is at very basic level, you'd better improve it and test it:

 
Code
// This namespace holds all indicators and is required. Do not change it.
namespace NinjaTrader.Indicator
{
    /// <summary>
    /// TICK
    /// </summary>
    [Description("TICK")]
    public class BCNxTICKAlerts : Indicator
    {

        private double vdAlertHighXtrme = 1000;    
        private double vdAlertHigh         = 800;
        private double vdAlertLow          = -800;
        private double vdAlertLowXtrme  = -1000;
        
        
        // 2 = XT High / 1 = high /  _1 = low / _2 = XT Low 
        private bool vlAlert2 = false;
        private bool vlAlert1 = false;
        private bool vlAlert_1 = false;
        private bool vlAlert_2 = false;
        
        
        /// <summary>
        /// This method is used to configure the indicator and is called once before any bar data is loaded.
        /// </summary>
        protected override void Initialize()
        {
            CalculateOnBarClose = true;            
            Overlay                = true;
            Add("^TICK",PeriodType.Minute, 5);
        }

        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            if (BarsInProgress == 0)
            {
                
                // User chart data
                if (vlAlert_2 == true) DrawDiamond(CurrentBar.ToString(), true, 0, Low[0] - (TickSize * 5), Color.Green);                
                if (vlAlert_1 == true) DrawDiamond(CurrentBar.ToString(), true, 0, Low[0] - (TickSize * 2), Color.Aqua);
                if (vlAlert1  == true) DrawDiamond(CurrentBar.ToString(), true, 0, High[0] + (TickSize * 2), Color.Aqua);    
                if (vlAlert2  == true) DrawDiamond(CurrentBar.ToString(), true, 0, High[0] + (TickSize * 5), Color.Red);
            
                // Reset alerts
                vlAlert_2 = false;
                vlAlert_1 = false;
                vlAlert1 = false;
                vlAlert2 = false;
                

            } else if (BarsInProgress == 1) 
            {
                // TICK data
                
                if (Low[0]  <= vdAlertLow)       vlAlert_1 = true;
                if (Low[0]  <= vdAlertLowXtrme)  {
                    vlAlert_1 = false;
                    vlAlert_2 = true;
                }
                
                if (High[0] >= vdAlertHigh)      vlAlert1  = true;
                if (High[0] >= vdAlertHighXtrme) {
                    vlAlert1  = false;
                    vlAlert2  = true;
                }
                
            }
            
            
        }

        [Description("Draw a green diamond 5 ticks under the candle when TICK low is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_LowTick
        {
            get { return vdAlertLow; }
            set { vdAlertLow = value; }        
        }    

        [Description("Draw a green diamond 5 ticks under the candle when TICK low is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_LowTickXtrme
        {
            get { return vdAlertLowXtrme; }
            set { vdAlertLowXtrme = value; }        
        }            
        [Description("Draw a red diamond 5 ticks above the candle when TICK high is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_HighTick
        {
            get { return vdAlertHigh; }
            set { vdAlertHigh = value; }        
        }            
        [Description("Draw a red diamond 5 ticks above the candle when TICK high is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_HighTickXtrme
        {
            get { return vdAlertHighXtrme; }
            set { vdAlertHighXtrme = value; }        
        }                
    }
}

Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #9 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


BCNTrader View Post
Is easy to code.... I started coding it 20 minutes ago but I don't know how to use the same periodtype that the main chart (I used my fav. 5min, but must be something about this, never used multi-instrument in indicators but strategies) and I don't know how this will work in real-time (I can't test it now and I like to see the candle close, so I'm not used to).

So, I will post the code here, use at your own risk, is at very basic level, you'd better improve it and test it:

 
Code
// This namespace holds all indicators and is required. Do not change it.
namespace NinjaTrader.Indicator
{
    /// <summary>
    /// TICK
    /// </summary>
    [Description("TICK")]
    public class BCNxTICKAlerts : Indicator
    {

        private double vdAlertHighXtrme = 1000;    
        private double vdAlertHigh         = 800;
        private double vdAlertLow          = -800;
        private double vdAlertLowXtrme  = -1000;
        
        
        // 2 = XT High / 1 = high /  _1 = low / _2 = XT Low 
        private bool vlAlert2 = false;
        private bool vlAlert1 = false;
        private bool vlAlert_1 = false;
        private bool vlAlert_2 = false;
        
        
        /// <summary>
        /// This method is used to configure the indicator and is called once before any bar data is loaded.
        /// </summary>
        protected override void Initialize()
        {
            CalculateOnBarClose = true;            
            Overlay                = true;
            Add("^TICK",PeriodType.Minute, 5);
        }

        /// <summary>
        /// Called on each bar update event (incoming tick)
        /// </summary>
        protected override void OnBarUpdate()
        {
            if (BarsInProgress == 0)
            {
                
                // User chart data
                if (vlAlert_2 == true) DrawDiamond(CurrentBar.ToString(), true, 0, Low[0] - (TickSize * 5), Color.Green);                
                if (vlAlert_1 == true) DrawDiamond(CurrentBar.ToString(), true, 0, Low[0] - (TickSize * 2), Color.Aqua);
                if (vlAlert1  == true) DrawDiamond(CurrentBar.ToString(), true, 0, High[0] + (TickSize * 2), Color.Aqua);    
                if (vlAlert2  == true) DrawDiamond(CurrentBar.ToString(), true, 0, High[0] + (TickSize * 5), Color.Red);
            
                // Reset alerts
                vlAlert_2 = false;
                vlAlert_1 = false;
                vlAlert1 = false;
                vlAlert2 = false;
                

            } else if (BarsInProgress == 1) 
            {
                // TICK data
                
                if (Low[0]  <= vdAlertLow)       vlAlert_1 = true;
                if (Low[0]  <= vdAlertLowXtrme)  {
                    vlAlert_1 = false;
                    vlAlert_2 = true;
                }
                
                if (High[0] >= vdAlertHigh)      vlAlert1  = true;
                if (High[0] >= vdAlertHighXtrme) {
                    vlAlert1  = false;
                    vlAlert2  = true;
                }
                
            }
            
            
        }

        [Description("Draw a green diamond 5 ticks under the candle when TICK low is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_LowTick
        {
            get { return vdAlertLow; }
            set { vdAlertLow = value; }        
        }    

        [Description("Draw a green diamond 5 ticks under the candle when TICK low is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_LowTickXtrme
        {
            get { return vdAlertLowXtrme; }
            set { vdAlertLowXtrme = value; }        
        }            
        [Description("Draw a red diamond 5 ticks above the candle when TICK high is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_HighTick
        {
            get { return vdAlertHigh; }
            set { vdAlertHigh = value; }        
        }            
        [Description("Draw a red diamond 5 ticks above the candle when TICK high is at least xxxx")]
        [GridCategory("Parameters")]        
        public double Alert_HighTickXtrme
        {
            get { return vdAlertHighXtrme; }
            set { vdAlertHighXtrme = value; }        
        }                
    }
}

The periodtype and value of the first bar series can be recovered via BarsPeriods[0].Id or BarsPeriods[0].Value, but I think this does not work within the Initialize method().

In the end you should be fine, if you just add a 1 minute bar series of ^Tick.

Reply With Quote
  #10 (permalink)
 
redratsal's Avatar
 redratsal 
Milan (I)
 
Experience: Advanced
Platform: Ninjatrader
Broker: Kinetick
Trading: FDAX,6E,CL,YM,NQ,ES
Posts: 1,648 since Oct 2010
Thanks Given: 1,215
Thanks Received: 2,090


Looks fine to me


Attached Files
Elite Membership required to download: BCNxTICKAlerts.zip
Visit my NexusFi Trade Journal Reply With Quote




Last Updated on April 29, 2011


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts