I am creating SMA with formulated data series. I encounter error compiling below for [INPUT].with error assembly reference missing.
My version is 8.0.26 I cant find Ninja.Trader.Gui.Tools.dll and assuming this is the reason for the error.
I had my NT installed newly. How can fix?
using System; using NinjaTrader.Cbi; using NinjaTrader.Gui.Tools; using NinjaTrader.NinjaScript; using NinjaTrader.Data; using NinjaTrader.NinjaScript.Strategies; namespace NinjaTrader.NinjaScript.Indicators { public class CustomSMAIndicator : Indicator { [Input] public double GoldPriceMultiplier = 2.0; // Multiplier for gold price [Input] public string GoldInstrument = "GC 12-23"; // Gold instrument [Input] public string SilverInstrument = "SI 12-23"; // Silver instrument [Input] public double SmaPeriod = 14; // SMA period private SMA goldSMA; private SMA silverSMA; protected override void OnStateChange() { if (State == State.SetDefaults) { Description = "Custom SMA Indicator"; Calculate = Calculate.OnEachTick; IsOverlay = true; DisplayInDataBox = true; DrawOnPricePanel = true; DrawHorizontalGridLines = true; DrawVerticalGridLines = true; PaintPriceMarkers = true; ScaleJustification = NinjaTrader.Gui.Tools.ScaleJustification.Right; IsSuspendedWhileInactive = true; BarsRequiredToPlot = 2; } else if (State == State.Configure) { AddDataSeries(GoldInstrument, BarsPeriodType.Day, 1); AddDataSeries(SilverInstrument, BarsPeriodType.Day, 1); goldSMA = SMA(GoldInstrument, (int)SmaPeriod); silverSMA = SMA(SilverInstrument, (int)SmaPeriod); } } protected override void OnBarUpdate() { if (BarsInProgress == 0) { double goldPrice = goldSMA[0]; double silverPrice = silverSMA[0]; double priceDifference = (goldPrice * GoldPriceMultiplier) - silverPrice; Value[0] = priceDifference; } } } } [HASHTAG="t3322"]region[/HASHTAG] NinjaScript generated code. Neither change nor remove. namespace NinjaTrader.NinjaScript.Indicators { public partial https://forum.ninjatrader.com/search?searchJSON=%7B%22tag%22%3A%22region%22%7Dclass Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase { private CustomSMAIndicator[] cacheCustomSMAIndicator; public Custhttps://forum.ninjatrader.com/search?searchJSON=%7B%22tag%22%3A%22region%22%7DomSMAIndicator CustomSMAIndicator() { return CustomSMAIndicator(Input); } public CustomSMAIndicator CustomSMAIndicator(ISeries<double> input) { if (cacheCustomSMAIndicator != null) for (int idx = 0; idx < cacheCustomSMAIndicator.Length; idx++) if (cacheCustomSMAIndicator[idx] != null && cacheCustomSMAIndicator[idx].EqualsInput(input)) return cacheCustomSMAIndicator[idx]; return CacheIndicator<CustomSMAIndicator>(new CustomSMAIndicator(), input, ref cacheCustomSMAIndicator); } } } namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns { public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase { public Indicators.CustomSMAIndicator CustomSMAIndicator() { return indicator.CustomSMAIndicator(Input); } public Indicators.CustomSMAIndicator CustomSMAIndicator(ISeries<double> input ) { return indicator.CustomSMAIndicator(input); } } } namespace NinjaTrader.NinjaScript.Strategies { public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase { public Indicators.CustomSMAIndicator CustomSMAIndicator() { return indicator.CustomSMAIndicator(Input); } public Indicators.CustomSMAIndicator CustomSMAIndicator(ISeries<double> input ) { return indicator.CustomSMAIndicator(input); } } } #endregion
Comment