// // Copyright (C) 2006, NinjaTrader LLC . // NinjaTrader reserves the right to modify or overwrite this NinjaScript component with each release. // #region Using declarations using System; using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Xml.Serialization; using NinjaTrader.Data; using NinjaTrader.Gui.Chart; #endregion #region NinjaScript generated code. Neither change nor remove. // This namespace holds all indicators and is required. Do not change it. namespace NinjaTrader.Indicator { public partial class Indicator : IndicatorBase { private BetterXTrend[] cacheBetterXTrend = null; private static BetterXTrend checkBetterXTrend = new BetterXTrend(); /// /// Better X Trend indicator from emini-watch.com /// /// public BetterXTrend BetterXTrend(string alertSound, Color bearishColor, Color bullishColor, int lookback, string password, bool trendChangeAlert, bool useTickVolume) { return BetterXTrend(Input, alertSound, bearishColor, bullishColor, lookback, password, trendChangeAlert, useTickVolume); } /// /// Better X Trend indicator from emini-watch.com /// /// public BetterXTrend BetterXTrend(Data.IDataSeries input, string alertSound, Color bearishColor, Color bullishColor, int lookback, string password, bool trendChangeAlert, bool useTickVolume) { if (cacheBetterXTrend != null) for (int idx = 0; idx < cacheBetterXTrend.Length; idx++) if (cacheBetterXTrend[idx].AlertSound == alertSound && cacheBetterXTrend[idx].BearishColor == bearishColor && cacheBetterXTrend[idx].BullishColor == bullishColor && cacheBetterXTrend[idx].Lookback == lookback && cacheBetterXTrend[idx].Password == password && cacheBetterXTrend[idx].TrendChangeAlert == trendChangeAlert && cacheBetterXTrend[idx].UseTickVolume == useTickVolume && cacheBetterXTrend[idx].EqualsInput(input)) return cacheBetterXTrend[idx]; lock (checkBetterXTrend) { checkBetterXTrend.AlertSound = alertSound; alertSound = checkBetterXTrend.AlertSound; checkBetterXTrend.BearishColor = bearishColor; bearishColor = checkBetterXTrend.BearishColor; checkBetterXTrend.BullishColor = bullishColor; bullishColor = checkBetterXTrend.BullishColor; checkBetterXTrend.Lookback = lookback; lookback = checkBetterXTrend.Lookback; checkBetterXTrend.Password = password; password = checkBetterXTrend.Password; checkBetterXTrend.TrendChangeAlert = trendChangeAlert; trendChangeAlert = checkBetterXTrend.TrendChangeAlert; checkBetterXTrend.UseTickVolume = useTickVolume; useTickVolume = checkBetterXTrend.UseTickVolume; if (cacheBetterXTrend != null) for (int idx = 0; idx < cacheBetterXTrend.Length; idx++) if (cacheBetterXTrend[idx].AlertSound == alertSound && cacheBetterXTrend[idx].BearishColor == bearishColor && cacheBetterXTrend[idx].BullishColor == bullishColor && cacheBetterXTrend[idx].Lookback == lookback && cacheBetterXTrend[idx].Password == password && cacheBetterXTrend[idx].TrendChangeAlert == trendChangeAlert && cacheBetterXTrend[idx].UseTickVolume == useTickVolume && cacheBetterXTrend[idx].EqualsInput(input)) return cacheBetterXTrend[idx]; BetterXTrend indicator = new BetterXTrend(); indicator.BarsRequired = BarsRequired; indicator.CalculateOnBarClose = CalculateOnBarClose; #if NT7 indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256; indicator.MaximumBarsLookBack = MaximumBarsLookBack; #endif indicator.Input = input; indicator.AlertSound = alertSound; indicator.BearishColor = bearishColor; indicator.BullishColor = bullishColor; indicator.Lookback = lookback; indicator.Password = password; indicator.TrendChangeAlert = trendChangeAlert; indicator.UseTickVolume = useTickVolume; Indicators.Add(indicator); indicator.SetUp(); BetterXTrend[] tmp = new BetterXTrend[cacheBetterXTrend == null ? 1 : cacheBetterXTrend.Length + 1]; if (cacheBetterXTrend != null) cacheBetterXTrend.CopyTo(tmp, 0); tmp[tmp.Length - 1] = indicator; cacheBetterXTrend = tmp; return indicator; } } } } // This namespace holds all market analyzer column definitions and is required. Do not change it. namespace NinjaTrader.MarketAnalyzer { public partial class Column : ColumnBase { /// /// Better X Trend indicator from emini-watch.com /// /// [Gui.Design.WizardCondition("Indicator")] public Indicator.BetterXTrend BetterXTrend(string alertSound, Color bearishColor, Color bullishColor, int lookback, string password, bool trendChangeAlert, bool useTickVolume) { return _indicator.BetterXTrend(Input, alertSound, bearishColor, bullishColor, lookback, password, trendChangeAlert, useTickVolume); } /// /// Better X Trend indicator from emini-watch.com /// /// public Indicator.BetterXTrend BetterXTrend(Data.IDataSeries input, string alertSound, Color bearishColor, Color bullishColor, int lookback, string password, bool trendChangeAlert, bool useTickVolume) { return _indicator.BetterXTrend(input, alertSound, bearishColor, bullishColor, lookback, password, trendChangeAlert, useTickVolume); } } } // This namespace holds all strategies and is required. Do not change it. namespace NinjaTrader.Strategy { public partial class Strategy : StrategyBase { /// /// Better X Trend indicator from emini-watch.com /// /// [Gui.Design.WizardCondition("Indicator")] public Indicator.BetterXTrend BetterXTrend(string alertSound, Color bearishColor, Color bullishColor, int lookback, string password, bool trendChangeAlert, bool useTickVolume) { return _indicator.BetterXTrend(Input, alertSound, bearishColor, bullishColor, lookback, password, trendChangeAlert, useTickVolume); } /// /// Better X Trend indicator from emini-watch.com /// /// public Indicator.BetterXTrend BetterXTrend(Data.IDataSeries input, string alertSound, Color bearishColor, Color bullishColor, int lookback, string password, bool trendChangeAlert, bool useTickVolume) { if (InInitialize && input == null) throw new ArgumentException("You only can access an indicator with the default input/bar series from within the 'Initialize()' method"); return _indicator.BetterXTrend(input, alertSound, bearishColor, bullishColor, lookback, password, trendChangeAlert, useTickVolume); } } } #endregion