if (Bars == null || ChartBars.Bars == null || Bars.Instrument == null || CurrentBar < 1) {
return;
}
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
ChartBars.Bars vs. Bars
Collapse
X
-
ChartBars.Bars vs. Bars
I find this (or something like this) is common at the start of OnRender():
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?Code: -
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.
results in:Code:protected override void OnBarUpdate() { Print(Bars.ToChartString() + " " + ChartBars.Bars.ToChartString()); }
ChartBars.Bars is static and represents the chart series, where the Bars object changes when the series calls OnBarUpdate.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)
I look forward to being of further assistance.
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by CarlTrading, 03-31-2026, 09:41 PM
|
1 response
82 views
1 like
|
Last Post
|
||
|
Started by CarlTrading, 04-01-2026, 02:41 AM
|
0 responses
43 views
0 likes
|
Last Post
by CarlTrading
04-01-2026, 02:41 AM
|
||
|
Started by CaptainJack, 03-31-2026, 11:44 PM
|
0 responses
64 views
2 likes
|
Last Post
by CaptainJack
03-31-2026, 11:44 PM
|
||
|
Started by CarlTrading, 03-30-2026, 11:51 AM
|
0 responses
68 views
0 likes
|
Last Post
by CarlTrading
03-30-2026, 11:51 AM
|
||
|
Started by CarlTrading, 03-30-2026, 11:48 AM
|
0 responses
56 views
0 likes
|
Last Post
by CarlTrading
03-30-2026, 11:48 AM
|

Comment