- MetaTrader 5 trading strategy tester ideology: agents
- [WARNING CLOSED!] Any newbie question, so as not to clutter up the forum. Professionals, don't go by. Can't go anywhere without you.
- MT5 Strategy Tester stuck during history synchronization Build 5999
Hello MetaQuotes team,
This information is not publicly documented. Please refer to the official documentation and publicly available information.
NOTE: This forum is intended for user discussions, troubleshooting and knowledge sharing, rather than as a direct communication channel to MQ.
[S]hould we treat these details as unavailable to users? I am asking only about the general behavior of local Strategy Tester agents...
We can reasonably infer that Metaquotes won't be documenting MT5's traffic between the terminal and the agent:
All traffic between the terminal and the agent is encrypted.
- www.mql5.com
I'm not sure this is the same fingerprint that you're talking about, but you can look here - the file SingleTestCacheHeader.mqh contains the field hash_ex5[16].
Oh wow. To the extent that my reasonable inference was wrong, I apologize.
That CodeBase post states:
Acknowledgements.
Thanks to the developers for creating the Tester caches and helping me to unpack its formats.
Thank you, Stanislav, for pointing me to SingleTesterCache and the hash_ex5[16] field, and thank you, Ryan, for the follow-up.
More documentation:
For each block of parameters, a digital fingerprint in the form of MD5-hash is created, which is sent to the agent. MD5-hash is unique for each set, its volume is many more times smaller than the amount of information on which it is calculated.
The agent receives a hash of blocks and compares them with those that it already has. If the fingerprint of the given parameter block is not present in the agent, or the received hash is different from the existing one, the agent requests this block of parameters. This reduces the traffic between the terminal and the agent.
After the testing, the agent returns to the terminal all of the results of the run, which are shown in the tabs "Test Results" and "Optimization Results": the received profit, the number of deals, the Sharpe coefficient, the result of the OnTester() function, etc.
During optimizing, the terminal hands out testing tasks to the agents in small packages, each package contains several tasks (each task means single testing with a set of input parameters). This reduces the exchange time between the terminal and the agent.
The agents never record to the hard disk the EX5-files, obtained from the terminal (EA, indicators, libraries, etc.) for security reasons, so that a computer with a running agent could not use the sent data. All other files, including DLL, are recorded in the sandbox. In remote agents you can not test EAs using DLL.
The testing results are added up by the terminal into a special cache of results (the result cache), for a quick access to them when they are needed. For each set of parameters, the terminal searches the result cache for already available results from the previous runs, in order to avoid re-runs. If the result with such a set of parameters is not found, the agent is given the task to conduct the testing.
All traffic between the terminal and the agent is encrypted.
- www.mql5.com
Thank you, Ryan. The excerpt says that an MD5 fingerprint is created for each parameter block and sent to the agent. Do you know whether that documented fingerprint is the same value as `hash_ex5[16]` in the SingleTesterCache header, or is the relationship between them unknown? I understand the CodeBase item is user-contributed; I’m asking only about the relationship between that field and the fingerprint described in the excerpt.
You're welcome.
At my own risk of splitting hairs, the excerpt says that "a digital fingerprint in the form of MD5-hash is created..."
I have found no direct evidence of the relationship. Based on the info in Post #5, fxsaber collaborated with Metaquotes Developers on that CodeBase project.
fxsaber is more or less a living legend around here. Maybe he could tell you.
(For the record, so is Stanislav Korotky).- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use