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
-
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:
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 junkone, 04-21-2024, 07:17 AM
|
10 responses
148 views
0 likes
|
Last Post Today, 09:03 AM | ||
Started by tsantospinto, 04-12-2024, 07:04 PM
|
6 responses
99 views
0 likes
|
Last Post
by tsantospinto
Today, 08:57 AM
|
||
Started by rocketman7, Today, 02:12 AM
|
5 responses
26 views
0 likes
|
Last Post Today, 08:56 AM | ||
Started by ZenCortexReal, Today, 08:54 AM
|
0 responses
1 view
0 likes
|
Last Post Today, 08:54 AM | ||
Started by ZenCortexReal, Today, 08:52 AM
|
0 responses
0 views
0 likes
|
Last Post Today, 08:52 AM |
Leave a comment: