Low Quality Broker Data on MT5

 

There are dozens of topics on this forum related to MT5 native historical data vs MT4 external imported data, but I think that this issue is a bit more specific to longer term backtesting and therefore warrants it's own thread;

If you develop strategies for lower timeframes and are only looking to test across the last few years, then I can understand the allure of being able to obtain real tick data from your broker and run at (or near) 100% history quality back-tests.

However if you want to backtest on a higher timeframe such as the daily chart, then you will probably need to test further into the past to get the volume of trades required to make an evaluation of the system's promise, and therefore whether or not you wish to take it live.
Here in lies the problem

I ran a ten year backtest on the daily chart of EURGBP in MT5 with 4 different brokers, using the every tick based on real ticks method, and was not able to achieve a history quality above 60.00%. 

History Quality- 01/01/2008 - 01/01/2018:

Broker A - 60.00% 
Broker B - 60.00%
Broker C - 58.00%
Broker D - 11.00% 

Now if I were to use the MT4 platform and import external data from Dukascopy, I can get 99.90% history quality from 01/01/2004 - Today. Of course there are separate issues when using external data from a source other than your broker, but my question is, is this really as much of a drawback as only being able to achieve at best 60.00% reliability in the data we are testing on? Surely the fact that the data has come from your broker is irrelevant if it is only 60.00% accurate?

As I mentioned before I am already aware that most of the regulars on this forum who use the MT5 Strategy Tester will only look back at most a couple of years in the backtest, and for this MT5 is more than adequate, but for those who want to go back ten years plus, how do you work around this issue? Have you managed to find an MT5 broker which can offer reliable historical tick data beyond the last few years, do you settle for using external data in MT4? Would be good to hear the thoughts of longer term traders on this...

 

No because it's not really usable to evaluate if the system is any good.

Have you ever heard:

"Past performance is no guarantee of future results."

 
Marco vd Heijden:

No because it's not really usable to evaluate if the system is any good.

Have you ever heard:

"Past performance is no guarantee of future results?

Of course! I'm not saying that if a strategy performs well in backtest then that guarantees its performance in real-time. 

My question is in regards to the quality and depth of the historical data offered by brokers in MT5, I'm not talking about strategy performance, just data quality and depth.

 

If "Past performance is no guarantee of future results." 

Then any quality will do ? 

Can you explain to me at what threshold you believe the test becomes valuable, and in what respect it becomes valuable. 

Maybe it's best to look for the broker with the best data ? 

If you want a high quality back test, but realize that won't say anything about future performance, so what good is it ?

 
koranged: Of course! I'm not saying that if a strategy performs well in backtest then that guarantees its performance in real-time. 

My question is in regards to the quality and depth of the historical data offered by brokers in MT5, I'm not talking about strategy performance, just data quality and depth.

Unfortunately, MetaQuotes, does not impose on Brokers to provide quality data and there is no guarantee that Brokers will do thatl. The good reliable brokers do it, but no so much the less reliable brokers.

You can however, import the Dukascopy tick data into a MT5 Custom Symbol and back test against that (just like in MT4), so as not to depend on broker data.

 
Marco vd Heijden:

If "Past performance is no guarantee of future results." 

Then any quality will do ? 

No any quality will not do. If the data used in your backtest is only 60.00% accurate, then the results of the backtest will also be only 60.00% accurate... do you not agree?

Marco vd Heijden:

Can you explain to me at what threshold you believe the test becomes valuable, and in what respect it becomes valuable. 

It seems as if you are suggesting that the quality of historical data is unimportant? 

In my opinion data should be above 90.00% accurate for us to place any value in the backtests. As I mentioned with Dukascopy in MT4 you can achieve 99.90% accuracy, this is certainly an acceptable level in my opinion. (This doesn't mean I am saying go off and test in MT4 with external data, I am just stating the facts).

In regards to what respect it becomes valuable, if ticks are missing from a particular data set, then the data is incomplete. If ticks are present for only 60.00% of the data set then by definition 40.00% of data has been missed or disregarded, therefore the data itself is less accurate, and therefore so will be the backtest? 

Marco vd Heijden:

Maybe it's best to look for the broker with the best data ? 

That's exactly what I'm doing, hence the fact that I have tested with 4 different brokers. Like I mentioned in the original post, I am only able to achieve 60.00% at best, which is in my opinion, not reliable enough. You may think that 60.00% is great and I have no problem with that, but this is not my personal opinion.

Marco vd Heijden:

If you want a high quality back test, but realize that won't say anything about future performance, so what good is it ?

You are asking me a question about backtesting in general. If you believe that backtesting is worthless then don't backtest. I don't believe backtesting to be a guaranteed indication of what will happen in the future, but I believe that being able to quantity performance over a certain historical time period is better than just not backtesting at all. But this is irrelevant to my headline question, this is just a case of some people not believing in the value of backtesting, and others believing in the value of backtesting. We'll be here all day if you wanna get into that debate.

 

Right on.

It's that simple if you do not believe in backtesting then the quality of the data also won't matter.

But if you believe that somehow "Past performance can guarantee future results."

Then i guess you want to get the highest quality possible, preferably > 100 % 

 
Fernando Carreiro:

Unfortunately, MetaQuotes, does not impose on Brokers to provide quality data and there is no guarantee that Brokers will do thatl. The good reliable brokers do it, but no so much the less reliable brokers.

Yes I understand that this isn't the fault of MetaQuotes. I also don't expect brokers to store decades worth of ticks on their servers. I'm just trying to understand how other people get around the imperfections of MT4 and MT5 Strategy Tester.

Fernando Carreiro:

You can however, import the Dukascopy tick data into a MT5 Custom Symbol and back test against that (just like in MT4), so as not to depend on broker data.

Wow, I was under the impression that external data could not be imported into MT5! I will look into this now.

Just out of interest, if you wouldn't mind answering, what do you personally believe to be the most reliable method of backtesting, and why?

 
Marco vd Heijden:

Right on.

It's that simple if you do not believe in backtesting then the quality of the data also won't matter.

But if you believe that somehow "Past performance can guarantee future results."

Then i guess you want to get the highest quality possible, preferably > 100 % 

Are you totally opposed to backtesting Marco? Do you backtest at all yourself?

 
koranged:

Are you totally opposed to backtesting Marco? Do you backtest at all yourself?

I used to do that in the past, like many people set out developing a strategy by backtesting various things.

But what i found was remarkable.

Most of the strategies that worked on a live feed, could not easily be backtested, think like multi currency strategies.

The strategies that were successful in the tester, rarely ever were on the live feed.

Other strategies that failed on the tester, were highly profitable on the live feed.

I still use the tester but only to check that the logic fires correctly.

If i need values, i run a mini backtest in the OnInit() function just a scan over the bars in history.

These are always up to date.

You can calculate crosovers really fast that way while backtesting to get these values, can be a time consuming task.

 
koranged:

Yes I understand that this isn't the fault of MetaQuotes. I also don't expect brokers to store decades worth of ticks on their servers. I'm just trying to understand how other people get around the imperfections of MT4 and MT5 Strategy Tester.

Wow, I was under the impression that external data could not be imported into MT5! I will look into this now.

Just out of interest, if you wouldn't mind answering, what do you personally believe to be the most reliable method of backtesting, and why?

I'm not sure, what exactly you mean mean by "most reliable method"!

On MT5 I will use the broker data for normal back-tests to evaluate the code functionality and fix bugs, or even for short crude optimisations runs, but when I want to do a serious analysis of how the EA will hold up and derive proper optimisation results, I will then use the Dukascopy data.

However, please be aware that if you use the MT5 Custom Symbol for testing, you will not be able to use the Cloud Testers.

Reason: