Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Bar Numbering

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

  • 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:

    http://www.ninjatrader.com/support/f...d=4&linkid=430

    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:


  • Dale1670
    replied
    Thanks Austin, I tried your suggestion, and just got a pile of error messages.

    Db

    Leave a comment:


  • NinjaTrader_Austin
    replied
    Dale, you could certainly create your own indicator that numbers the bars. Just stick this line of code inside OnBarUpdate() of an indicator (perhaps a new indicator to keep stuff separate) and you'll be good to go:
    Code:
    DrawText("bar number" + CurrentBar, CurrentBar.ToString(), 0, High[0] + 3 * TickSize, Color.Black);

    Leave a comment:

Latest Posts

Collapse

Topics Statistics Last Post
Started by gbajaj, Today, 03:35 PM
2 responses
6 views
0 likes
Last Post gbajaj
by gbajaj
 
Started by space_trader, Today, 03:19 PM
2 responses
8 views
0 likes
Last Post space_trader  
Started by max1ci6, Today, 02:02 AM
4 responses
27 views
0 likes
Last Post joromero  
Started by Johnny, Today, 02:38 PM
1 response
8 views
0 likes
Last Post NinjaTrader_Tyler  
Started by M_ichel, Today, 02:26 PM
1 response
5 views
0 likes
Last Post NinjaTrader_Tyler  
Working...
X