Changes in History Quality of simulations...

 

Hi,

Several months ago, I carried out a number of simulations which reported a History Quality of 98%. I ran those same simulations again today on the same broker's platform and only had a History Quality percentage of 92%. I also had a large chunk of red in the "History Quality" bar.

According to the documentation (http://www.metatrader5.com/en/terminal/help/tester/tester_results), the History Quality figure is derived as follows:

History Quality — this value characterizes the quality of price data used for testing. It is determined as a percentage ratio of correct and incorrect minute data. Incorrect minute bars are the ones having zero spread, or volume 1 when OHLC values are different. History gaps are also considered as incorrect data. Depending on size, the period of testing is divided into 1 — 199 intervals. Then the history quality is determined for each of them separately. The time intervals are shown on the graphical indicator of the history quality (the lighter tint of green means the better quality, the red color represents intervals with the quality lower than 50%). 

So basically, it appears that my broker's data has mysteriously degraded over time. Oh, and I've tried deleting all the locally stored history data files (i.e. deleted all the .hcc files) and downloaded it again by restarting the Strategy Tester but this didn't make any difference.

Before I approach my broker and accuse them of gross data corruption of the worst kind, could someone confirm to me the workings of the Strategy Tester data update mechanism? From what I can work out, when the Strategy Tester is started, it initially compares all the locally stored history data files with the ones on the broker's server. If the ones on the broker's server have changed, the Strategy Tester replaces the "old" locally stored data files with the newly downloaded ones. So basically, my hypothesised reason for my data quality being degraded is that my broker has updated the history data files on their servers with poor data, thereby "infecting" me with this poor data?

Can anyone confirm that this is indeed how the data update mechanism works?

Thanks in advance for your help with this.... 

 

cowil is back

When quoting the documentation, can you please give a link and use the Quotation style.

I don't remember to have read somewhere the mechanism you described in your post :

From what I can work out, when the Strategy Tester is started, it initially compares all the locally stored history data files with the ones on the broker's server. If the ones on the broker's server have changed, the Strategy Tester replaces the "old" locally stored data files with the newly downloaded ones.

Do you have some reference, or material about that ?

 
angevoyageur:

cowil is back

When quoting the documentation, can you please give a link and use the Quotation style.

I don't remember to have read somewhere the mechanism you described in your post :

Do you have some reference, or material about that ?

Yep, back from my near death experience! :) Thumbs up for build 880! Oh, and I've updated my post as you asked...

Afraid my conclusions are observational, rather than documentation based - hence my reason for wanting to get a confirmation on this. As you'll be aware, one of the first things that happens when strategy tester is started, is the downloading and synchronisation of the quotedata - e.g.

NN 0 18:08:47.268 Core 1 AUDJPY: history synchronization started

RF 0 18:08:47.868 Core 1 AUDJPY: history downloading completed

RN 0 18:08:48.288 Core 1 AUDUSD: history synchronization started

RF 0 18:08:48.488 Core 1 AUDUSD: history downloading completed

CO 0 18:08:48.938 Core 1 EURJPY: history synchronization started

JG 0 18:08:49.138 Core 1 EURJPY: history downloading completed

NN 0 18:08:49.568 Core 1 GBPJPY: history synchronization started

RG 0 18:08:49.768 Core 1 GBPJPY: history downloading completed

QO 0 18:08:50.218 Core 1 GBPUSD: history synchronization started

JG 0 18:08:50.518 Core 1 GBPUSD: history downloading completed

PN 0 18:08:50.958 Core 1 USDCHF: history synchronization started

CF 0 18:08:51.259 Core 1 USDCHF: history downloading completed

EN 0 18:08:51.679 Core 1 USDJPY: history synchronization started

EF 0 18:08:51.879 Core 1 USDJPY: history downloading completed

 

 What I'm suspecting has happened is that my terminal has discovered a later version of the quote data files on my broker's Server, downloaded this data and overwritten my original quote data files with these "new" ones. That's the only way I can explain the fact that I'm now only getting a History Quality percentage of 92%, rather than the 98% I used to get. Just out of curiosity - I know that we use the same broker - has the History Quality figures you're getting with Strategy Tester changed over the last month or so? 

Thanks again for you help!! 

 
cowil:

Yep, back from my near death experience! :) Thumbs up for build 880! Oh, and I've updated my post as you asked...

Afraid my conclusions are observational, rather than documentation based - hence my reason for wanting to get a confirmation on this. As you'll be aware, one of the first things that happens when strategy tester is started, is the downloading and synchronisation of the quotedata - e.g.

 

 What I'm suspecting has happened is that my terminal has discovered a later version of the quote data files on my broker's Server, downloaded this data and overwritten my original quote data files with these "new" ones. That's the only way I can explain the fact that I'm now only getting a History Quality percentage of 92%, rather than the 98% I used to get. Just out of curiosity - I know that we use the same broker - has the History Quality figures you're getting with Strategy Tester changed over the last month or so? 

Thanks again for you help!! 

Your explanation seems logical, but unfortunately, as I said, I never read somewhere a confirmation of that for MT5. Maybe I missed it. Only Metaquotes can answer officially.

But it's possible to check your hypothesis. Simply by exporting the data at a given date, then some times later doing the same and compare the data to see if historical data can be changed by the broker.

 
Thanks for your suggestion Angvoyageur - that's probably worth a shot. I'll also ask MetaQuotes directly and see what they say.... If I get an answer, I'll post it with this thread...
 

Finally had a response back from MetaQuotes regarding this issue - it appears that the history data update works as I suspected:

The history of a tested symbol is synchronized and loaded by the terminal from the trade server before starting the testing process. During the first time, the terminal loads all available history of a symbol in order not to request it later. Further only the new data are loaded.

The terminal loads history from a trade server only once, the first time the agent requests the history of a tested symbol from the terminal. The history is loaded in a packed form to reduce the traffic.

Testing agents, in turn, receive history from the terminal in the packed form. During the next testing, the tester does not load history from the terminal, because the required data is available since the previous run of the tester. 

 
cowil:

Finally had a response back from MetaQuotes regarding this issue - it appears that the history data update works as I suspected:

Not sure I understood. You suspect that data already available in the terminal can be changed by the broker, isn't ? And here I can see that "only the new data are loaded".
 

Mmmm.. I see what you mean. I took it to read that all the history data is downloaded the first time Strategy Tester is started and any history files that are changed/modified by the broker (i.e. "new data") are downloaded as they become available. However, "new data" could also mean only the most recent history data that has been produced since the last time the Strategy Tester was used? Will ask for clarification...

Reason: