trendlineValueUp is evaluating correctly and prints Current trendline Up value at bar 0: 19553, I then assign flagEntryLevel to trendlineValueUp
However nothing else gets printed even when bar closes below trendline. I dont know what is going on.
Any help would be appriciated. Strategy is on bar close.
if(trendDirection == cFalling
// && stochPrim[0] < 50
)
{
bool isLowSequence = true;
for (int i = 0
; i < lookbackPeriod; i++)
{
if (Low[i] <= Low[i + 1])
{
isLowSequence = false;
break;
}
}
if (isLowSequence && doOnce==false)
{
double slope = (Low[0] - Low[lookbackPeriod]) / lookbackPeriod;
trendlineValueUp = Low[0] - (slope * 0);
Draw.Line(this, "BearFlag" + CurrentBar, true, lookbackPeriod, Low[lookbackPeriod], 0, Low[0], Brushes.Aqua, DashStyleHelper.Solid, 2);
bearFlag = true;
Print("Current trendline Up value at bar 0: " + trendlineValueUp);
Alert("Alert", Priority.High, "Up trend line broken", NinjaTrader.Core.Globals.InstallDir+@"\sounds\Reve rsing.wav", 10, Brushes.Transparent, Brushes.Transparent);
// PlaySound(@"C:\Program Files (x86)\NinjaTrader 8\sounds\VolumeSpike.wav");
doOnce=true;
}
else
{
bearFlag = false;
}
if(bearFlag)
{
Print("bear flag is true today");
Print("Close0"+Close[0]);
Print("trendlineValueUp"+trendlineValueUp);
bearFlagEntry = true;
flagEntryLevel = trendlineValueUp - TickSize;
Print("Time:"+Time[0]);
Print("flagEntryLevel"+flagEntryLevel);
Print("Close[0]"+Close[0]);
}
// We don't reset bearFlagEntry immediately, so that the entry condition can still evaluate
if (bearFlagEntry)
{
// Evaluate if Close[0] is below the flag entry level
if (Close[0] < flagEntryLevel)
{
Print("jambo");
// EnterShort(0, PositionSize, "LB Short");
EnterShortStopMarket(0,true, PositionSize, flagEntryLevel,"MyEntryShort");
// Reset bearFlagEntry only after the trade is executed
bearFlagEntry = false;
}
}
}

Comment