PDA

View Full Version : Fibonacci Retracements


grd974
07-13-2007, 02:35 PM
Could any of the seasoned NT programers tell me why the code listed below does not draw any object on my chart ?

namespace NinjaTrader.Indicator
{
/// <summary>
/// Fib Retracements
/// </summary>
[Description("Fib Retracements")]
[Gui.Design.DisplayName("Fib2")]
public class Fib2 : Indicator
{
#region Variables
// Wizard generated variables
private int myInput0 = 1; // Default setting for MyInput0
// User defined variables (add any user defined variables below)
#endregion

/// <summary>
/// This method is used to configure the indicator and is called once before any bar data is loaded.
/// </summary>
protected override void Initialize()
{
Add(new Plot(Color.Orange, PlotStyle.Line, "Plot0"));
CalculateOnBarClose = true;
Overlay = false;
PriceTypeSupported = false;
}

/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
if (Close[0] > Close[1])
DrawFibonacciRetracements("Lines" + CurrentBar, 1, High[0], 0, Low[0]);
else if (Close[0] <= Close[1])
DrawFibonacciRetracements("Lines" + CurrentBar, 1, Low[0], 0, High[0]);
}

Thanks.

NinjaTrader_Ray
07-13-2007, 03:00 PM
Any error messages in your log tab?

Do you want a lot of fib objects on your chart? The way you wrote it is what you will get, or do you only every want one to be visible? If the latter, use the same "tag" value insread of making it unique by adding the CurrentBar to the tag name.

NinjaTrader_Ray
07-13-2007, 03:04 PM
Actually, I see the issue which will be displayed in the Log Tab.

Add:

if (CurrentBar < 1)
return;

Your are accessing Close[1] on the 1st bar of the chart where 1 bar ago does not yet exist.

grd974
07-13-2007, 06:16 PM
Now it works great, thanks.