Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
Initializing indicator w/alternative time frame
Collapse
X
-
Hi cgeorgan,
With each OnBarUpdate, the indicator plot value is attached to the bar object, this way you have as many Plot values as you do bars, and can access the plot values by referring to the bar.
If you are setting this to a variable, the value needs to be placed under OnBarUpdate, as the value would be continually changing.
If you want to set a variable less often, depending on what you are trying to do, you can use FirstBarOfSession, for example.
More info at - http://www.ninjatrader-support.com/H...stBarOfSession
-
Yes, this part I follow - However, what this involves is creating a brand new indicator every time (I presume you're making this set call under "BarUpdate").Originally posted by NinjaTrader_Tim View PostHi cgeorgan,
The BarsArray does not exist in Initialize(), so should be set in OnBarUpdate()
Please see the following page for details on properly created a Multi-Time series indicator
From there, you can set the plot under the appropriate BarsInProgress, for example...
if (BarsInProgress == 0)
{
Plot1.Set(CCI(BarsArray[1], 20)[0]);
}
So, instead of merely creating an indicator once with the correct "BarsInProgress", then referring to values within that indicator by calling Update() on it, you're saying I need to create a brand new indicator every time a bar is updated.
Is this the most efficient way of doing this?
Leave a comment:
-
Hi cgeorgan,
The BarsArray does not exist in Initialize(), so should be set in OnBarUpdate()
Please see the following page for details on properly created a Multi-Time series indicator
From there, you can set the plot under the appropriate BarsInProgress, for example...
if (BarsInProgress == 0)
{
Plot1.Set(CCI(BarsArray[1], 20)[0]);
}
Leave a comment:
-
Initializing indicator w/alternative time frame
Hi:
I'm getting an exception when I attempt the following:
The exception is thrown when creating myIndicator2 with the higher time frame value:Code:protected override void Initialize() { try { CalculateOnBarClose = true; EntriesPerDirection = 20; EntryHandling = EntryHandling.AllEntries; ExitOnClose = true; TraceOrders = true; SyncAccountPosition = true; Unmanaged = true; myIndicator1 = Indicator1(parameters); myIndicator2 = Indicator2(BarsArray[1]); Add(PeriodType.Tick, BarsPeriod.Value * this.HigherTimeframeMultiple); Add(myIndicator1); } catch (Exception ex) { Debug.WriteLine(ex); } }
"'BarsArray' property can't be accessed from within 'Initialize' method"
So my question is, where can I instantiate this indicator once? The alternative is calling it on every bar update -
Second question, somewhat of a derivative of this, is how do I display this higher time frame indicator on the same chart as the base time frame indicator?Tags: None
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by CarlTrading, 03-31-2026, 09:41 PM
|
1 response
31 views
0 likes
|
Last Post
|
||
|
Started by CarlTrading, Yesterday, 02:41 AM
|
0 responses
14 views
0 likes
|
Last Post
by CarlTrading
Yesterday, 02:41 AM
|
||
|
Started by CaptainJack, 03-31-2026, 11:44 PM
|
0 responses
23 views
1 like
|
Last Post
by CaptainJack
03-31-2026, 11:44 PM
|
||
|
Started by CarlTrading, 03-30-2026, 11:51 AM
|
0 responses
40 views
0 likes
|
Last Post
by CarlTrading
03-30-2026, 11:51 AM
|
||
|
Started by CarlTrading, 03-30-2026, 11:48 AM
|
0 responses
34 views
0 likes
|
Last Post
by CarlTrading
03-30-2026, 11:48 AM
|

Leave a comment: