I seem to have run into a problem that has been discussed multiple times, but never appears to be properly resolved. Majority of previous discussions have been on the MT4 platform, however I am seeing similar issues with the MT5 Platform.
Backtesting the same EA, over the same historical timeframe and the same chart time (1 hour, 2 hour etc) produces different results from different brokers using modelling based on real ticks, every tick. And not only are EA results different, the historical data is actually different. For example on an H1 AUD/USD chart 1st September 2020 at 18:00 GMT+0, the metatrader demo account data shows:
Open: 0.73792High: 0.73833Low: 0.73712Close: 0.73740
While a live account with IC-Markets shows:
Open: 0.73788High: 0.73837Low: 0.73718Close: 0.73744
While these differences are relatively small (and from a randomly selected candle), they are causing significant differences in EA results. The results produced by an EA modelled "every tick based on real ticks" produces results that are an order of magnitude in difference (or larger in some cases) across the brokers.
My questions lie in whether this is expected behaviour for an EA (note that even using example included EA's from the MT5 platform produce different results, and so appears to be independent of EA code) and if this is expected behaviour, which set of broker data should be used for back/forward testing to determine the most accurate results? If this is expected behaviour is it then prudent to then check multiple brokers to determine the best results that an EA can achieve?
Previous threads can be found here:
Forex == decentralized. Different prices == different result.
Only on central exchange prices will be the same on every broker, yet could still yield different results because of different commission charges, network latency and so on.
I had not considered the decentralized nature of FOREX, thanks for the insight.
I will run the EA's again on a centralized exchange instrument with different brokers to determine whether this is the only thing attributing to different results.
For each of the EA's run, the modelled broker commissions and network latency were identical. Notwithstanding, network latency and commissioning charges should not materially affect the EA trade entrance and exit points (these EA's do not alter their behaviour based on spread etc). So even if end values are different, I'd expect the EA to make the same number and duration trades for the same historical window if data is identical between brokers.
I think each broker also have EA (a kind of) at server side that can handles orders from clients and the setting is different for each broker.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.