I would like to test a strategy where Ninjatrader goes long when there is a 10 point gap up from yesterdays close till next day open at 8:30 E/T (IF THIS IS TRUE)
Then Ninjatrade should take EVERY LONG EVERYTIME it crosses above the 5 EMA line and looki for 2pt profit.
My issue is that ninjatrade only takes one trade a day. can you pleas take a look at the code and tell me what i am doing wrong.
#region Using declarations // This namespace holds all strategies and is required. Do not change it. namespace NinjaTrader.Strategy { /// <summary> /// Enter the description of your strategy here /// </summary> [Description("Enter the description of your strategy here")] public class Gap6 : Strategy { #region Variables // Wizard generated variables private double p = 0.050; // Default setting for P private double sL = 0.03; // Default setting for SL private double oFL = 0.005; // Default setting for OFL private double oFS = 0.005; // Default setting for OFS // User defined variables (add any user defined variables below) #endregion /// <summary> /// This method is used to configure the strategy and is called once before any strategy method is called. /// </summary> protected override void Initialize() { SetProfitTarget("", CalculationMode.Ticks, 10); SetStopLoss("", CalculationMode.Ticks, 10, false); CalculateOnBarClose = false; } /// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { // Condition set 1 if (PriorDayOHLC().PriorClose[0] > CurrentDayOHL().CurrentOpen[0] + 40 * TickSize && ToTime(Time[0]) == ToTime(8, 35, 0)) { Variable0 = 1; } // Condition set 5 if (Variable0 == 1 && CrossAbove(Close, EMA(5), 1)) { EnterLong(DefaultQuantity, ""); Variable0 = 0; }
Comment