Thanks for your post.
To create a counter just declare an integer with the name of your choice such as peCounter. Initialize it to 0. Then in the code you increment the variable using "++", for example:
if (Close[0] > 63.0)
{
priceExceeded = true; // set bool/flag to indicate exit when cross
peCounter++; // increment counter each time.
}
Then all you would need to do is to test for peCounter == 1, for example:
if (CrossBelow(Stochastics(7, 14, 3).K[1], Stochastics(7, 14, 3).D[1] && priceExceeded && peCounter == 1)
{
ExitLong(100)
}
So to exit with a cross the peCounter must only be 1, otherwise it would exit on time. If you wanted to you could actually remove the bool variable and replace its function with the counter.
Later in your code where you are resetting the bool variable you would now also want to reset the counter to 0: peCounter = 0;
Comment