Esempio n. 1
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionRSS;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameRSS;
                IsSuspendedWhileInactive = true;
                EMA1   = 10;
                EMA2   = 40;
                Length = 5;

                AddPlot(Brushes.DarkCyan, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameRSS);
                AddLine(Brushes.DarkGray, 20, NinjaTrader.Custom.Resource.NinjaScriptIndicatorLower);
                AddLine(Brushes.DarkGray, 80, NinjaTrader.Custom.Resource.NinjaScriptIndicatorUpper);
            }
            else if (State == State.DataLoaded)
            {
                spread = new Series <double>(this);
                rs     = new Series <double>(this);
                ema1   = EMA(EMA1);
                ema2   = EMA(EMA2);
                rsi    = RSI(spread, Length, 1);
                sma    = SMA(rs, 5);
            }
        }
Esempio n. 2
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description             = @"Enter the description for your new custom Indicator here.";
                Name                    = "CompositeIndex";
                Calculate               = Calculate.OnBarClose;
                IsOverlay               = false;
                DisplayInDataBox        = true;
                DrawOnPricePanel        = true;
                DrawHorizontalGridLines = true;
                DrawVerticalGridLines   = true;
                PaintPriceMarkers       = true;
                ScaleJustification      = NinjaTrader.Gui.Chart.ScaleJustification.Right;
                BarsRequiredToPlot      = 20;
                //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;
                RsiLength    = 14;
                RsiMomLength = 9;
                RsiMaLength  = 3;
                MaLength     = 3;

                AddPlot(Brushes.Red, "S");
            }
            else if (State == State.DataLoaded)
            {
                rsi      = RSI(RsiLength, 3);
                shortRsi = RSI(RsiMaLength, MaLength);
            }
        }
Esempio n. 3
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionStochRSI;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameStochRSI;
                IsSuspendedWhileInactive = true;
                IsOverlay = false;
                Period    = 14;

                AddPlot(Brushes.DarkCyan, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameStochRSI);

                AddLine(Brushes.Crimson, 0.8, NinjaTrader.Custom.Resource.NinjaScriptIndicatorOverbought);
                AddLine(Brushes.DodgerBlue, 0.5, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNeutral);
                AddLine(Brushes.Crimson, 0.2, NinjaTrader.Custom.Resource.NinjaScriptIndicatorOversold);
            }
            else if (State == State.DataLoaded)
            {
                rsi = RSI(Inputs[0], Period, 1);
                min = MIN(rsi, Period);
                max = MAX(rsi, Period);
            }
        }