protected override void OnStateChange() { if (State == State.SetDefaults) { Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionMAEnvelopes; Name = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameMAEnvelopes; IsSuspendedWhileInactive = true; IsOverlay = true; MAType = 3; Period = 14; EnvelopePercentage = 1.5; AddPlot(Brushes.DodgerBlue, NinjaTrader.Custom.Resource.NinjaScriptIndicatorUpper); AddPlot(new Gui.Stroke(Brushes.DodgerBlue, DashStyleHelper.Dash, 1), PlotStyle.Line, NinjaTrader.Custom.Resource.NinjaScriptIndicatorMiddle); AddPlot(Brushes.DodgerBlue, NinjaTrader.Custom.Resource.NinjaScriptIndicatorLower); } else if (State == State.DataLoaded) { ema = EMA(Inputs[0], Period); hma = HMA(Inputs[0], Period); sma = SMA(Inputs[0], Period); tma = TMA(Inputs[0], Period); tema = TEMA(Inputs[0], Period); wma = WMA(Inputs[0], Period); } }
protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"thinkorswim's HMA formula"; Name = "HMACustom"; IsSuspendedWhileInactive = true; Period = 45; IsOverlay = true; AddPlot(Brushes.Goldenrod, "HMACustom"); } else if (State == State.DataLoaded) { diffSeries = new Series <double>(this); int halfHMALength = (int)Math.Ceiling((double)Period / 2); int halfPeriod = Convert.ToInt32(halfHMALength); wma1 = WMA(Inputs[0], halfPeriod); wma2 = WMA(Inputs[0], Period); int sq = Convert.ToInt32(Math.Round(Math.Sqrt(Period), 0)); wmaDiffSeries = WMA(diffSeries, sq); } }
protected override void OnStateChange() { if (State == State.SetDefaults) { Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionHMA; Name = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameHMA; IsSuspendedWhileInactive = true; Period = 14; IsOverlay = true; AddPlot(Brushes.Goldenrod, NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameHMA); } else if (State == State.DataLoaded) { diffSeries = new Series <double>(this); wma1 = WMA(Inputs[0], (Period / 2)); wma2 = WMA(Inputs[0], Period); wmaDiffSeries = WMA(diffSeries, (int)Math.Sqrt(Period)); } }