PDA

View Full Version : Plotting 3 lines beside Wizard generated code


grd974
08-26-2007, 01:18 AM
Using Wizard, I first generated this code in order to plot 3 lines :

protected override void Initialize()
{
Add(new Plot(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Line, "Plot0"));
Add(new Plot(Color.FromKnownColor(KnownColor.Green), PlotStyle.Line, "Plot1"));
Add(new Plot(Color.FromKnownColor(KnownColor.DarkViolet), PlotStyle.Line, "Plot2"));
CalculateOnBarClose = false;
Overlay = false;
PriceTypeSupported = false;
}

/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
// Use this method for calculating your indicator values. Assign a value to each
// plot below by replacing 'Close[0]' with your own formula.
Plot0.Set(Close[0]);
Plot1.Set(Close[0]);
Plot2.Set(Close[0]);
}

It went Ok, displaying a DarkViolet pricemarker.


Then I altered the plotting that way :

Plot1.Set(Close[1]);
Plot2.Set(Close[2]);

As a result, I no longer get any line displayed on my chart. How come ?

NinjaTrader_Josh
08-26-2007, 02:00 AM
The reason you are not getting any line is because your code is now referencing indexes out of range. To fix this you need to add this at the beginning of OnBarUpdate(): if(CurrentBar < 2)
return;Basically on the very first bar there is no Close[1] or Close[2] and it causes errors. When you add the above code it tells NinjaTrader to not run the calculations till there are at least 2 bars and that will circumvent the error of referencing nonexistent indexes. Hope that helps.

grd974
08-26-2007, 02:07 AM
Thanks a lot, Josh. Best regards.
Gérard