Low Quality Broker Data on MT5 - page 5

 
koranged: The accounts that I'm using are definitely not spread betting accounts. I am certain that two of the five brokers I am using are not HQ'd in the UK. They are of course regulated by the FCA as well as their domestic regulators, not sure if this would make any difference?

This very simple question can help you identify a possible case: Is you account using Instant Execution or Market Execution policy?

If it is Instant Execution (on Forex or CFDs), then chances are, that it is a Dealing Desk and the tick data can differ substantially from other brokers.

 
Fernando Carreiro:

This very simple question can help you identify a possible case: Is you account using Instant Execution or Market Execution policy?

If it is Instant Execution (on Forex or CFDs), then chances are, that it is a Dealing Desk and the tick data can differ substantially from other brokers.

Okay I have run a quick test with two brokers that I can guarantee use a market execution rather than an instant execution. I have confirmed the execution policy with the brokers themselves.

The table below shows the OHLC data from four dates picked at random on the EUR/USD, spanning across the last ten years, with either broker.

As you can see, despite the fact that these two brokers definitely use a market execution, some of the OHLC data differs slightly. In fact, there is even a 15 pip discrepancy in the close prices on 17/04/2008.

Unfortunately I cannot name the specific brokers that I am using here due to MQ's strict policy on broker discussion in this forum. 

OHLC
Broker #1    17/04/2008    1.59490    1.59830    1.58470    1.59070
19/08/20111.432651.445071.425851.43930
03/11/20141.251261.251261.243851.24807
13/01/20171.061171.067351.059601.06409
OHLC
Broker #217/04/20081.594101.598301.584701.58920
19/08/20111.432211.445071.425851.43950
03/11/20141.250641.251321.243791.24808
13/01/20171.061041.067251.059531.06420
 
koranged:


OHLC
Broker #1    17/04/2008    1.59490    1.59830    1.58470    1.59070
19/08/20111.432651.445071.425851.43930
03/11/20141.251261.251261.243851.24807
13/01/20171.061171.067351.059601.06409
OHLC
Broker #217/04/20081.594101.598301.584701.58920
19/08/20111.432211.445071.425851.43950
03/11/20141.250641.251321.243791.24808
13/01/20171.061041.067251.059531.06420

Interesting test . 
If we take the average deviation between prices and plot it for each month maybe(assumption) it will show a "shrinking" difference between prices for these brokers.
A question arises as to what actually lies in the servers of these brokers . For instance , on 2008 have they adjusted their feeds or are we receiving prices they served back then (where they maybe were not routing orders to exchanges).

On a different note , if we take a human trader (hypothetical) with experience in the market and a strategy of his own (purely technical) , will he even notice
the differences in price ? (what i mean to say is that the human tends to be more visual and more flexible when it comes to evaluating in contrast with an algorithm that requires precise conditions) 

 
Lorentzos Roussos:

Interesting test . 
If we take the average deviation between prices and plot it for each month maybe(assumption) it will show a "shrinking" difference between prices for these brokers.
A question arises as to what actually lies in the servers of these brokers . For instance , on 2008 have they adjusted their feeds or are we receiving prices they served back then (where they maybe were not routing orders to exchanges).

On a different note , if we take a human trader (hypothetical) with experience in the market and a strategy of his own (purely technical) , will he even notice
the differences in price ? (what i mean to say is that the human tends to be more visual and more flexible when it comes to evaluating in contrast with an algorithm that requires precise conditions) 

The simplest (yet not wholly adequate) explanation is linked to the fact that the FX market is decentralised so because transactions are not conducted on a central exchange, data can differ from one broker to another slightly. I am sure there is some complex reason behind the differences, maybe due to a change of liquidity provider under certain conditions... who knows. But the fact remains that there are differences, so everyone should just be aware of this when setting up a backtest.

 
koranged:

The simplest (yet not wholly adequate) explanation is linked to the fact that the FX market is decentralised so because transactions are not conducted on a central exchange, data can differ from one broker to another slightly. I am sure there is some complex reason behind the differences, maybe due to a change of liquidity provider under certain conditions... who knows. But the fact remains that there are differences, so everyone should just be aware of this when setting up a backtest.

  1. I did NOT say that there is ONLY ONE data feed and liquidity provider, I stated that there are only a few and that chances are that two brokers would be using the same source one. So two brokers can actually be using two different sources.
  2. The difference however, should not be causing vast results in your testing. If it is, then your EA is not adaptive enough. EAs need to be designed to adapt to market conditions, so adjust its logic so as to be able to adapt. For example, using volatility based stops, instead of fixed pip sized stops.
  3. In order to introduce even more discrepancies to test the robustness of your EA against different data, deliberately alter the test data and use for example Monte Carlo testing method or just test against many different symbols or currency pairs. If properly coded it should do well with many and if not, then it is back to the drawing board.
 
Fernando Carreiro:
  1. I did NOT say that there is ONLY ONE data feed and liquidity provider

Neither did I... Nor did I suggest that you said that.

Fernando Carreiro:
  1. The difference however, should not be causing vast results in your testing. If it is, then your EA is not adaptive enough. EAs need to be designed to adapt to market conditions, so adjust its logic so as to be able to adapt. For example, using volatility based stops, instead of fixed pip sized stops.

As I illustrated in the table on Page 2 of this thread, it can result in vast differences... but I agree that a robust EA should work with all brokers regardless of slight data discrepancies. These discrepencies are not big enough to turn a robust EA with one broker's data into a bad EA with another broker's data. 

It is just to warn that, on a core level, as has been proven in this thread, IT IS possible that these discrepancies result in differences between the backtests.  

Reason: