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