I have a Strategy build from the Strategy Builder (no manual coding).
The backtest Results of this Strategy before and after the upgrade are different:
The entry are matching 100% of the time (Both Time & Price execution)
I am using Trailing Stop (in %) to Exit.
The exits are sometimes the same, sometimes they are different.
In the environment after upgrade, sometimes the Trade exits directly after the entry. Whereas in the environment before upgrade, the trade keeps open.
EVERYTHING is the same between both environments except the NT upgrade (I am using Virtual Machines -> I made a copy of the non upgraded environment on which I ONLY applied the NT upgrade to validate my hypothesis).
My hypothesis, after hours of research, is the following (99,9% sure): One of the upgrades between 8.0.21.1 and 8.0.24.3 introduced the following bug:
The trailing stop value is calculated from the High of the bar EVEN on the entry bar in High Order Fill Resolution. This is not correct since I can enter during the bar, before the High occurs (I use limit orders placed the bar before the entry and Order Fill Resolution is High). Therefore, if the Entry Price < High * (1 - % Trailing Stop) the trade is immediately closed after it is entered (because my Entry < Stop Loss value from the start of the Trade).
In attachment a Simple Strategy to reproduce the bug. You can run it on whatever instrument. When Entry Time = Exit Time, you have found an occurence of the bug (highlighted in my results).
Comment