Exemple #1
0
        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);
            }
        }