Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

ChartBars.Bars vs. Bars

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

    ChartBars.Bars vs. Bars

    I find this (or something like this) is common at the start of OnRender():

    Code:
       if (Bars == null || ChartBars.Bars == null || Bars.Instrument == null || CurrentBar < 1) {
        return;
       }
    This was a suggestion on another forum post I had however, after reading the doc's a little further, it would seem that Bars and ChartBars.Bars are the same thing. Is one an alias for the other? Do I need to check both as shown above? If so, is there some sort of hierarchical overview given in the doc's that would have shown me this?

    #2
    Hello swcooke,

    Thank you for the post.

    In this case, the context is important due to how NinjaScript inherits properties.

    First, to directly answer your question, you only need to null check what you use. If you didn't use ChartBars.Bars in the syntax, there would not be a need to check if it was null. Likely the various objects have been used in the syntax below that point, so those are the null checks that were the result. After seeing the difference between the two objects, you can better determine what may be needed in the code you are asking about.

    The ChartBars.Bars object points to specifically the primary ChartBars object configured on the chart. Bars are the NinjaScript inherited property meaning this changes depending on the series that called OnBarUpdate.

    For example, using the following print you can see how these properties work. An example is using a multi-series script. Assume the primary chart series is a 4 range chart, and I have added a 15 minute series in code.

    Code:
    protected override void OnBarUpdate()
    {
        Print(Bars.ToChartString() + " " +  ChartBars.Bars.ToChartString());
    }
    results in:

    ES 06-18 (4 Range) ES 06-18 (4 Range)
    ES 06-18 (4 Range) ES 06-18 (4 Range)
    ES 06-18 (15 Minute) ES 06-18 (4 Range)
    ES 06-18 (4 Range) ES 06-18 (4 Range)
    ES 06-18 (4 Range) ES 06-18 (4 Range)
    ChartBars.Bars is static and represents the chart series, where the Bars object changes when the series calls OnBarUpdate.

    I look forward to being of further assistance.

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by Geovanny Suaza, 02-11-2026, 06:32 PM
    0 responses
    648 views
    0 likes
    Last Post Geovanny Suaza  
    Started by Geovanny Suaza, 02-11-2026, 05:51 PM
    0 responses
    369 views
    1 like
    Last Post Geovanny Suaza  
    Started by Mindset, 02-09-2026, 11:44 AM
    0 responses
    109 views
    0 likes
    Last Post Mindset
    by Mindset
     
    Started by Geovanny Suaza, 02-02-2026, 12:30 PM
    0 responses
    573 views
    1 like
    Last Post Geovanny Suaza  
    Started by RFrosty, 01-28-2026, 06:49 PM
    0 responses
    575 views
    1 like
    Last Post RFrosty
    by RFrosty
     
    Working...
    X