Fetching Accurate Symbols History Data for Backtesting

I have been facing a serious problem with getting a reliable history data of at least four years for XAUUSD. I have deleted and tried to force the terminal to download better history many times and even tried a few different brokers but still I often get warnings like: real ticks absent for ...days, tick volume mismatch for ...minutes of the day and so on. This is definitely not good history data for a reliable backtest.

How do I get a more reliable history data? 
Vincent Vandeyua Orya:
How do I get a more reliable history data? 

You can try the other broker. Because every broker is having the different data (or should have the different one).
And do not use MetaQuotes-Demo server to get the data - because this server is not for trading and backtesting, this server is for uodate MT5 to the beta build and to test the beta builds of Metatrader.

Use the brokers to get the data.

--------------------

By the way, the good and reliable data is the one of the main criteria to select the broker for trading.
If your broker is not providing good reliable data so you can select the other broker for your trading/backtesting.

Vincent Vandeyua Orya:
I have been facing a serious problem with getting a reliable history data of at least four years for XAUUSD. I have deleted and tried to force the terminal to download better history many times and even tried a few different brokers but still I often get warnings like: real ticks absent for ...days, tick volume mismatch for ...minutes of the day and so on. This is definitely not good history data for a reliable backtest.

How do I get a more reliable history data? 


https://www.mql5.com/en/blogs/post/746240

Try this, its the best explanation I've seen to date.

Follow the authors link in the bottom of the blog to configure the trading fees too.

The warnings are probably not a configuration problem. They are the terminal telling you the truth.

Brokers keep real tick history for a limited depth, often one to two years. Beyond that, MT5 synthesises ticks from M1 bars. So over a four-year XAUUSD window you will see "real ticks absent" for the early portion no matter how many times you redownload, and changing brokers usually shifts the boundary rather than removing it. That is why your earlier attempts did not help.

What follows from this matters more than the warning itself. In the early part of your range, "Every tick based on real ticks" is running on a synthesised path, so those results are a simulation against invented intrabar movement, not evidence of how your strategy would have behaved. Two practical consequences:

Split the test. Find where real ticks actually begin for your symbol and treat that as your evidence window. Run the earlier years separately if you want, but do not average the two together into one performance figure.

Match the model to the strategy. If your entries depend on intrabar path, tight stops, or spread, only the real-tick window tells you anything. If you work on higher timeframes, "1 minute OHLC" is the more honest model, because it does not claim a precision it does not have.

On imported third-party ticks: useful as a cross-check, but they come from a different liquidity pool than your broker, with different spreads and without your swaps and commission. And be careful with the quality percentage — it measures tick coverage, not whether those prices match what you would have been filled at. A clean 99% can hide a backtest of a symbol nobody actually traded.

One thing specific to gold: XAUUSD spread widens sharply around news and rollover, and most historical data understates that. Even on a clean real-tick window, gold backtests tend to look better than live.