protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"Enter the description for your new custom Indicator here."; Name = "VwapBandsWeekOut"; Calculate = Calculate.OnBarClose; IsOverlay = false; DisplayInDataBox = true; DrawOnPricePanel = false; DrawHorizontalGridLines = true; DrawVerticalGridLines = true; PaintPriceMarkers = true; ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right; //Disable this property if your indicator requires custom values that cumulate with each new market data event. //See Help Guide for additional information. IsSuspendedWhileInactive = true; AddPlot(Brushes.Orange, "OutputSignal"); // added inputs BandRange = 1; Average = 42; RangeLength = 100; SmoothLength = 100; BandOne = 1; BandTwo = 2; BandThree = 3; ColorBars = true; PlotArrows = true; // CSIPosOne = 100; // CSIPosTwo = 180; // CSINegOne = -100; // CSINegTwo = -180; // RSIperiod = 14; // double bandRange = 0.125; // int VwmaAverage = 42; // int RangeLength = 100; // int SmoothLength = 100; // int BandOne = 1; // int BandTwo = 2; // double BandThree = 3; } else if (State == State.Configure) { AddDataSeries(Data.BarsPeriodType.Week, 1); } else if (State == State.DataLoaded) { stdDev = StdDev(Average); Vwma = new Series <double>(this, MaximumBarsLookBack.Infinite); VwmaU = new Series <double>(this, MaximumBarsLookBack.Infinite); VwmaL = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandOneU = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandOneL = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandOne = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandTwoU = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandTwoL = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandTwo = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandThreeU = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandThreeL = new Series <double>(this, MaximumBarsLookBack.Infinite); UpperBandThree = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandOneU = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandOneL = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandOne = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandTwoU = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandTwoL = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandTwo = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandThreeU = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandThreeL = new Series <double>(this, MaximumBarsLookBack.Infinite); LowerBandThree = new Series <double>(this, MaximumBarsLookBack.Infinite); } }