What am I doing wrong here?
#region Using declarations using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Xml.Serialization; using NinjaTrader.Cbi; using NinjaTrader.Data; using NinjaTrader.Gui.Chart; #endregion // This namespace holds all indicators and is required. Do not change it. namespace NinjaTrader.Indicator { /// <summary> /// Enter the description of your new custom indicator here /// </summary> [Description("Enter the description of your new custom indicator here")] public class Black : Indicator { #region Variables //Narrow Range private BoolSeries NR4; private double R1 = 0; private double R2 = 0; private double R3 = 0; private double R4 = 0; #endregion protected override void Initialize() { Overlay = false; NR4 = new BoolSeries(this, MaximumBarsLookBack.Infinite); } protected override void OnBarUpdate() { if(Bars.GetDayBar(4).Close != null) { R1 = Bars.GetDayBar(1).High - Bars.GetDayBar(1).Low; R2 = Bars.GetDayBar(2).High - Bars.GetDayBar(2).Low; R3 = Bars.GetDayBar(3).High - Bars.GetDayBar(3).Low; R4 = Bars.GetDayBar(4).High - Bars.GetDayBar(4).Low; } else return; NR4.Set(R1 < R2 && R1 < R3 && R1 < R4 ? true : false); } #region Properties #endregion } }
Error on calling 'OnBarUpdate' method for indicator 'Black' on bar 0: Object reference not set to an instance of an object.
Any help would be appreciated.
Comment