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