I keep getting errors and I'm still learning ninjascript.
Thanks in advance
#region Using declarations using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Xml.Serialization; using NinjaTrader.Cbi; using NinjaTrader.Data; using NinjaTrader.Gui.Chart; #endregion // This namespace holds all indicators and is required. Do not change it. namespace NinjaTrader.NinjaScript.Indicators { /// <summary> /// Count down tick counter /// </summary> [Description("Count down tick counter")] public class sbTickCounter : Indicator { #region Variables // Wizard generated variables // User defined variables (add any user defined variables below) private double tickCount = 0; private double alertCntDn = 0; #endregion /// <summary> /// This method is used to configure the indicator and is called once before any bar data is loaded. /// </summary> protected override void Initialize() { ChartOnly = true; Overlay = true; CalculateOnBarClose = false; } /// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { // Use this method for calculating your indicator values. Assign a value to each // plot below by replacing 'Close[0]' with your own formula. if (Bars == null) return; if (Bars.Period.Id == PeriodType.Tick) //Check period ID = tick { int periodValue = Bars.Period.Value; tickCount = periodValue - Bars.TickCount; alertCntDn = 0.05* Bars.Period.Value; //set tick cont down threshold to change color of text display string sTicCnt = string.Format( "{0:####0}", tickCount); if ( tickCount >= alertCntDn ) DrawText("Count down",true, sTicCnt, -3, Close[0] + 3 * TickSize, 3, Color.Black, myFont, StringAlignment.Center, Color.Transparent, Color.Transparent,0); else DrawText("Count down",true, sTicCnt, -3, Close[0] + 3 * TickSize, 3, Color.Red, myFont, StringAlignment.Center, Color.Transparent, Color.Transparent,0); } else DrawText("error text",true, "ERROR" , -3, Close[0] + 2 * TickSize, 3, Color.Red, myFont, StringAlignment.Center, Color.Transparent, Color.Transparent,0); } #region Properties #endregion } } #region NinjaScript generated code. Neither change nor remove. namespace NinjaTrader.NinjaScript.Indicators { public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase { private sbTickCounter[] cachesbTickCounter; public sbTickCounter sbTickCounter() { return sbTickCounter(Input); } public sbTickCounter sbTickCounter(ISeries<double> input) { if (cachesbTickCounter != null) for (int idx = 0; idx < cachesbTickCounter.Length; idx++) if (cachesbTickCounter[idx] != null && cachesbTickCounter[idx].EqualsInput(input)) return cachesbTickCounter[idx]; return CacheIndicator<sbTickCounter>(new sbTickCounter(), input, ref cachesbTickCounter); } } } namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns { public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase { public Indicators.sbTickCounter sbTickCounter() { return indicator.sbTickCounter(Input); } public Indicators.sbTickCounter sbTickCounter(ISeries<double> input ) { return indicator.sbTickCounter(input); } } } namespace NinjaTrader.NinjaScript.Strategies { public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase { public Indicators.sbTickCounter sbTickCounter() { return indicator.sbTickCounter(Input); } public Indicators.sbTickCounter sbTickCounter(ISeries<double> input ) { return indicator.sbTickCounter(input); } } } #endregion
Comment