I'm trying to do a simple own ExitOnClose that substitutes the NT default gate, cause I'm aware that often while "live", it doesn't work properly. I'm aware that NT team is working to solve it in the next major upgrade. So at this point, I thought a simple sub-routine:
// if market is open, Algo works taking positions
if(ToTime(Time[0]) >= 171500 || ToTime(Time[0]) <= 165950)
{
// ALGO WORKING
}
// if market is closed, Flatten-All
if (Position.MarketPosition != MarketPosition.Flat)
{
ExitLong();
ExitShort();
}
Supposedly, the control flow should be within the main sub-routine until the two conditions are both false, that's when ToTime(Time[0]) >= 170000 ToTime(Time[0]) <171500 . The problem is it seems that very often the sub-routine go out of that bracket to execute the Flatten-All sub-routine. I can work this out with certain changes, but I'm curious why this logic doesn't its job.
Thanks
Comment