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

Bar Numbering

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

  • NinjaTrader_ChelseaB
    replied
    Hello Bullseye,

    I recommend you contact the vendor to see if they have designed this script to set plot values with Add(new Plot()).

    If the indicator sets plots, those plots can be used for the Alerts window as well as the Strategy Wizard in NinjaTrader 7.

    Leave a comment:


  • Bullseye
    replied
    Hi guys ,is there any possibility to set up an alert for Al brooks Bar indicator ? when it plots on the chart to get an WAV. sound or to get notified

    Thank you​

    Leave a comment:


  • freddie1
    replied
    Originally posted by koganam View Post
    I believe I may have edited it while you were working? At any event, what you have is not what I last wrote.

    difference = CurrentBar - 1;

    Funnily enough, once you use that line, it will not matter if you set sessionBar to zero or one: you should get the same result.
    Yes, that did it! Thank you so much for your help.

    Leave a comment:


  • koganam
    replied
    I believe I may have edited it while you were working? At any event, what you have is not what I last wrote.

    difference = CurrentBar - 1;

    Funnily enough, once you use that line, it will not matter if you set sessionBar to zero or one: you should get the same result.

    Leave a comment:


  • freddie1
    replied
    Thank you. I tried that, and now the first bar is numbered 2. Here's the full script; is there something else in there throwing it off? Thanks again.


    public class SessionBars : Indicator
    {
    private int sessionBar = 0;
    private int difference = 0;
    protected override void Initialize()
    {
    Overlay = false;
    }
    protected override void OnBarUpdate()
    {
    if (Bars.FirstBarOfSession)
    {
    sessionBar = 1;
    difference = CurrentBar;
    }

    if ((sessionBar + difference) != CurrentBar)
    {
    sessionBar = sessionBar + 1;
    }

    if (CurrentBar % 2 == 0)
    {
    DrawText("bar number" + CurrentBar, sessionBar.ToString(), 0, High[0] + 3 * TickSize, Color.White);

    }
    }
    }
    }

    Leave a comment:


  • koganam
    replied
    Start your session count at a value of 1

    Code:
    if (Bars.FirstBarOfSession) 
    {             
    sessionBar = 1;             
    difference = CurrentBar - 1;
    }
    Last edited by koganam; 01-24-2012, 03:20 PM.

    Leave a comment:


  • freddie1
    replied
    Originally posted by NinjaTrader_Austin View Post
    Dale, you'll have to create some sort of a counter that resets upon each new session. We aren't allowed to write code for customers, but I knew this would be hard to explain and it would result in much back-and-forth between you and us, so I just coded it out for you. Please take a look and study the code so you can see how and when the numbers reset. Of primary interest is the property Bars.FirstBarOfSession - this property returns true if and only if the bar is the first bar of a new session.
    Code:
    public class SessionBars : Indicator
    {
        private int sessionBar = 0;
        private int difference = 0;
        protected override void Initialize()
        {         
            Overlay                = false;
        }
        protected override void OnBarUpdate()
        {
            if (Bars.FirstBarOfSession)
            {
                sessionBar = 0;
                difference = CurrentBar;
            }
            
            if ((sessionBar + difference) != CurrentBar)
            {
                sessionBar = sessionBar + 1;
            }
            
            DrawText("bar number" + CurrentBar, sessionBar.ToString(), 0, High[0] + 3 * TickSize, Color.Black);
            
        }
    }
    If you want to show less text, you could draw only on every odd numbered or even numbered bar by using the modulo operator (%). It basically gives you the remainder after a division operation.
    Code:
    if (CurrentBar % 2 == 0)
    {
       // place the draw text code here
    }
    The screenshot only shows every other bar number.
    Austin, I used the above code and even-number only modification you suggested, to create the bar-numbering indicator I wanted so thank you very much. It just has one bug I can't figure out how to fix: the first bar on my 5-minute chart (i.e. the one that closes at 9:35am Eastern) is numbered 0. I need it to be numbered 1 or else it throws off the count for the whole day. What do I need to change in the code? Thank you.

    Leave a comment:


  • JoshDance
    replied
    Thanks very much Ryan-- I would like to see if I can modify it to show numbers on two separate rows like in the picture I posted, as when we get into the double digit bars starting with 10 it becomes a bit crowded. Thanks for pointing me to this!

    Leave a comment:


  • NinjaTrader_RyanM1
    replied
    Hi JoshDance,

    One of our members has shared an indicator that does this - available in the file sharing section:

    Leave a comment:


  • JoshDance
    replied
    Is it possible to number the bars at the bottom of the screen? Kind of like the attached picture.
    Attached Files

    Leave a comment:


  • Mindset
    replied
    Five stars to Austin

    Excellent - takes half the time and supports a new user.

    Leave a comment:


  • Dale1670
    replied
    Thanks Austin, I appreciate your help, I will try it out tommorrow, I really know nothing about code, and my focus right now is on improving my trading results.

    Dale

    Leave a comment:


  • NinjaTrader_Austin
    replied
    Dale, you'll have to create some sort of a counter that resets upon each new session. We aren't allowed to write code for customers, but I knew this would be hard to explain and it would result in much back-and-forth between you and us, so I just coded it out for you. Please take a look and study the code so you can see how and when the numbers reset. Of primary interest is the property Bars.FirstBarOfSession - this property returns true if and only if the bar is the first bar of a new session.
    Code:
    public class SessionBars : Indicator
    {
        private int sessionBar = 0;
        private int difference = 0;
        protected override void Initialize()
        {         
            Overlay                = false;
        }
        protected override void OnBarUpdate()
        {
            if (Bars.FirstBarOfSession)
            {
                sessionBar = 0;
                difference = CurrentBar;
            }
            
            if ((sessionBar + difference) != CurrentBar)
            {
                sessionBar = sessionBar + 1;
            }
            
            DrawText("bar number" + CurrentBar, sessionBar.ToString(), 0, High[0] + 3 * TickSize, Color.Black);
            
        }
    }
    If you want to show less text, you could draw only on every odd numbered or even numbered bar by using the modulo operator (%). It basically gives you the remainder after a division operation.
    Code:
    if (CurrentBar % 2 == 0)
    {
       // place the draw text code here
    }
    The screenshot only shows every other bar number.
    Attached Files

    Leave a comment:


  • Dale1670
    replied
    Hi again Austin, I discovered the problem, I use 6.5 for my trading, I haven't switched to 7 for live trading yet. When I created the indicator in 7 it worked, however there is already an indicator called Bar Numbers created by someone else which does the same thing. Could you tell me how to set it so the count starts with the first bar of the day? Right now it starts with the first bar of the first day of the chart series.

    DB


    Leave a comment:


  • NinjaTrader_Austin
    replied
    Dale, please try this:

    1) Tools -> New indicator -> name it -> next -> next -> next until the code appears
    2) Paste the line into OnBarUpdate()
    3) Hit the F5 key to compile
    4) Put your new indicator on a chart.
    Attached Files

    Leave a comment:

Latest Posts

Collapse

Topics Statistics Last Post
Started by love2code2trade, Yesterday, 01:45 PM
4 responses
28 views
0 likes
Last Post love2code2trade  
Started by funk10101, Today, 09:43 PM
0 responses
7 views
0 likes
Last Post funk10101  
Started by pkefal, 04-11-2024, 07:39 AM
11 responses
37 views
0 likes
Last Post jeronymite  
Started by bill2023, Yesterday, 08:51 AM
8 responses
45 views
0 likes
Last Post bill2023  
Working...
X