Exemplo n.º 1
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionMFI;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameMFI;
                IsSuspendedWhileInactive = true;
                Period           = 14;
                DrawOnPricePanel = false;

                AddPlot(Brushes.DarkCyan, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameMFI);
                AddLine(Brushes.SlateBlue, 20, NinjaTrader.Custom.Resource.NinjaScriptIndicatorLower);
                AddLine(Brushes.Goldenrod, 80, NinjaTrader.Custom.Resource.NinjaScriptIndicatorUpper);
            }
            else if (State == State.DataLoaded)
            {
                negative    = new Series <double>(this);
                positive    = new Series <double>(this);
                sumNegative = SUM(negative, Period);
                sumPositive = SUM(positive, Period);
            }
            else if (State == State.Historical)
            {
                if (Calculate == Calculate.OnPriceChange)
                {
                    Draw.TextFixed(this, "NinjaScriptInfo", string.Format(NinjaTrader.Custom.Resource.NinjaScriptOnPriceChangeError, Name), TextPosition.BottomRight);
                    Log(string.Format(NinjaTrader.Custom.Resource.NinjaScriptOnPriceChangeError, Name), LogLevel.Error);
                }
            }
        }
Exemplo n.º 2
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionChaikinMoneyFlow;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameChaikinMoneyFlow;
                IsSuspendedWhileInactive = true;
                DrawOnPricePanel         = false;
                Period = 21;

                AddPlot(Brushes.Goldenrod, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameChaikinMoneyFlow);
            }
            else if (State == State.DataLoaded)
            {
                moneyFlow    = new Series <double>(this);
                sumMoneyFlow = SUM(moneyFlow, Period);
                sumVolume    = SUM(Volume, Period);
            }
            else if (State == State.Historical)
            {
                if (Calculate == Calculate.OnPriceChange)
                {
                    Draw.TextFixed(this, "NinjaScriptInfo", string.Format(NinjaTrader.Custom.Resource.NinjaScriptOnPriceChangeError, Name), TextPosition.BottomRight);
                    Log(string.Format(NinjaTrader.Custom.Resource.NinjaScriptOnPriceChangeError, Name), LogLevel.Error);
                }
            }
        }
Exemplo n.º 3
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionStdError;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameStdError;
                IsSuspendedWhileInactive = true;
                Period    = 14;
                IsOverlay = true;

                AddPlot(Brushes.Goldenrod, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameLinReg);
                AddPlot(Brushes.DarkCyan, NinjaTrader.Custom.Resource.NinjaScriptIndicatorUpper);
                AddPlot(Brushes.DarkCyan, NinjaTrader.Custom.Resource.NinjaScriptIndicatorLower);
            }
            else if (State == State.Configure)
            {
                avg = divisor = intercept = myPeriod = priorSumXY
                                                           = priorSumY = slope = sumX = sumX2 = sumY = sumXY = 0;
            }
            else if (State == State.DataLoaded)
            {
                y   = new Series <double>(this);
                sum = SUM(Inputs[0], Period);
            }
        }
Exemplo n.º 4
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionUltimateOscillator;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameUltimateOscillator;
                IsSuspendedWhileInactive = true;
                Fast         = 7;
                Intermediate = 14;
                Slow         = 28;

                AddPlot(Brushes.DodgerBlue, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameUltimateOscillator);

                AddLine(Brushes.DarkGray, 30, NinjaTrader.Custom.Resource.NinjaScriptIndicatorOversold);
                AddLine(Brushes.DarkGray, 50, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNeutral);
                AddLine(Brushes.DarkGray, 70, NinjaTrader.Custom.Resource.NinjaScriptIndicatorOverbought);
            }
            else if (State == State.Configure)
            {
                constant1 = Slow / Fast;
                constant2 = Slow / Intermediate;
                constant3 = constant1 + constant2 + 1;
            }
            else if (State == State.DataLoaded)
            {
                buyingPressure    = new Series <double>(this);
                trueRange         = new Series <double>(this);
                sumBpFast         = SUM(buyingPressure, Fast);
                sumBpIntermediate = SUM(buyingPressure, Intermediate);
                sumBpSlow         = SUM(buyingPressure, Slow);
                sumTrFast         = SUM(trueRange, Fast);
                sumTrIntermediate = SUM(trueRange, Intermediate);
                sumTrSlow         = SUM(trueRange, Slow);
            }
        }
Exemplo n.º 5
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionKAMA;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameKAMA;
                Fast        = 2;
                IsSuspendedWhileInactive = true;
                IsOverlay = true;
                Period    = 10;
                Slow      = 30;

                AddPlot(Brushes.DodgerBlue, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameKAMA);
            }
            else if (State == State.Configure)
            {
                fastCF = 2.0 / (Fast + 1);
                slowCF = 2.0 / (Slow + 1);
            }
            else if (State == State.DataLoaded)
            {
                diffSeries = new Series <double>(this);
                sum        = SUM(diffSeries, Period);
            }
        }
Exemplo n.º 6
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionLinReg;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameLinReg;
                IsOverlay   = true;
                IsSuspendedWhileInactive = true;
                Period = 14;

                AddPlot(Brushes.Orange, "LinReg");
            }
            else if (State == State.Configure)
            {
                avg = divisor = intercept = myPeriod = priorSumXY
                                                           = priorSumY = slope = sumX = sumX2 = sumY = sumXY = 0;
                sum = SUM(Inputs[0], Period);
            }
        }
Exemplo n.º 7
0
        protected override void OnStateChange()
        {
            if (State == State.SetDefaults)
            {
                Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionCMO;
                Name        = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameCMO;
                IsSuspendedWhileInactive = true;
                IsOverlay = false;
                Period    = 14;

                AddPlot(Brushes.DodgerBlue, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameCMO);
            }
            else if (State == State.DataLoaded)
            {
                down    = new Series <double>(this);
                up      = new Series <double>(this);
                sumDown = SUM(down, Period);
                sumUp   = SUM(up, Period);
            }
        }