The logic of ATR breakout is comparing whether the price has broken the level (for longs)
LowestPoint + (ATR * multiplier)
When we put some value as multiplier, we are also estimating the number of bars needed to get to this level.
Example:
When we put a criteria of 3 as a multiplier we are also saying that we require 9 bars, without realizing that this is the end result. I am basing this logic to square root of time rule, which is simply FutureVolatility = current volatility * Square root of time
According to this rule, ATR breakout method would also need the number of bars figure to reach the ATR breakout level.
So I would suggest this dynamic breakout criteria, instead of fixed multiplier.
According to sqrtof time rule
1 bar volatility would be equal to 8.84 pips (I am using the value from sample calculation in my previous post)
2 bar volatility sqrt(2) * 8.84
3 bar volatility sqrt(3) * 8.84 etc.....So the calculation is sqrt(number of bars from lowest point) = expected range
Since the volatility here is sort of standard deviation of the volatility, to find out if a price has broken the ATR threshold (entry point), we need to use ZScores:
EntryLevelForLong = LowestPoint + Sqrt(number of bars from lowest point) * 8.84 * ZScore
In statistics Z-Score values for various confidence levels would be 1, 1.645, 1.96, 2.58
So the optimization of the EA would be bound to the 4 ZScore values above. This would make the system mathematically sound, and resistant to changes of price behaviour of the pairs in future.
Please give your comments and thoughts..
Thanks