Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

Tick ​​to tick problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Tick ​​to tick problem

    Is there a way to know how many ticks happened in a one minute bar?

    #2
    Hello 7robert,

    Thank you for your reply.

    There's a few different approaches you could take to get the number of ticks in a 1 minute bar. The simplest would likely be to run the script OnEachTick, and increment a counter on each iteration through On Bar Update, resetting the counter on the first tick of the next bar, however, this would only function in real time, unless you enable Tick Replay on the chart. Here's a basic example:

    Code:
    namespace NinjaTrader.NinjaScript.Indicators
    {
    public class CountTicksInMinuteBarExample : Indicator
    {
    private int Counter;
    private int PriorCount;
    protected override void OnStateChange()
    {
    if (State == State.SetDefaults)
    {
    Description = @"Enter the description for your new custom Indicator here.";
    Name = "CountTicksInMinuteBarExample";
    Calculate = Calculate.OnEachTick;
    IsOverlay = true;
    DisplayInDataBox = true;
    DrawOnPricePanel = true;
    DrawHorizontalGridLines = true;
    DrawVerticalGridLines = true;
    PaintPriceMarkers = true;
    ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right;
    //Disable this property if your indicator requires custom values that cumulate with each new market data event.
    //See Help Guide for additional information.
    IsSuspendedWhileInactive = true;
    Counter = 0;
    PriorCount = 0;
    }
    else if (State == State.Configure)
    {
    }
    }
    
    protected override void OnBarUpdate()
    {
    
    if(!Bars.IsTickReplay)
    {
    Draw.TextFixed(this, "MyTextFixed", "This indicator requires tick replay to function. Please turn this on for the chart.", TextPosition.BottomLeft);
    return;
    }
    
    if (IsFirstTickOfBar)
    {
    PriorCount = Counter;
    Counter = 1;
    if(CurrentBar != 0)
    {
    Draw.Text(this, "myText"+ CurrentBar, PriorCount + " Ticks", 1, High[1] + (2 * TickSize), Brushes.White);
    }
    }
    else
    {
    Counter++;
    }
    }
    }
    }
    Please let us know if we may be of further assistance to you.
    Kate W.NinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by chbruno, Today, 04:10 PM
    0 responses
    3 views
    0 likes
    Last Post chbruno
    by chbruno
     
    Started by josh18955, 03-25-2023, 11:16 AM
    6 responses
    436 views
    0 likes
    Last Post Delerium  
    Started by FAQtrader, Today, 03:35 PM
    0 responses
    6 views
    0 likes
    Last Post FAQtrader  
    Started by rocketman7, Today, 09:41 AM
    5 responses
    19 views
    0 likes
    Last Post NinjaTrader_Jesse  
    Started by frslvr, 04-11-2024, 07:26 AM
    9 responses
    127 views
    1 like
    Last Post caryc123  
    Working...
    X