Problem on using ADO during Strategy Tester Optimization on Remote Cores

 

Hi, people.

In my EA, I am using  the AdoSuite.dll library to connect to a database, save data, make some calculations externally, and return the results to EA.

During the Strategy Tester Optimization, I am able to process the EA among the local cores, but I can't make it work out with the remote cores. The error message that appears in the Jornal are "cannot initialize expert".

On the remote computer (where the remote cores are), the optimization works out perfectely, but also, only on the local cores.

 

What am I doing wrong? (I tried to include the statement #property tester_library "AdoSuite.dll" at the top of the code, but didn't work).

 

 Please, a help would be great.

Thanks. 

Documentation on MQL5: Language Basics / Preprocessor / Program Properties (#property)
  • www.mql5.com
Language Basics / Preprocessor / Program Properties (#property) - Documentation on MQL5
 

Reading the article "The Fundamentals of Testing in MetaTrader 5", I have found that the use of DLL's in remote agents is prohibited.

The article literally says:

Using DLLs

To speed up the optimization we can use not only local, but also remote agents. In this case, there are some limitations for remote agents. First of all, remote agents do not display in their logs the results of the execution of the Print() function, messages about the opening and closing of positions. A minimum of information is displayed in the log to prevent incorrectly written EAs from trashing up the computer, on which the remove agent is working, with messages.

A second limitation - the prohibition on the use of DLL when testing EAs. DLL calls are absolutely forbidden on remote agents for security reasons. On local agent, DLL calls in tested EAs are allowed only with the appropriate permission "Allow import DLL".

It's really a pity.

 

Since it is not allowed to call Dll's in remote agents, I would like to request a new internal feature in MQL5: a class, maybe you could call CADO, to connect to external databases.

I am sure that exist others that would approve my little request.  

 

If remote agent is your own you can start it with additional flag /dlls  For this you need to change appropriate record in the registry

 
stringo:

If remote agent is your own you can start it with additional flag /dlls  For this you need to change appropriate record in the registry

 

It's working.

Thanks a lot stringo !

 

 

can u explain the detail procedure of add additional flag /dlls? I execute metatester.exe with /dlls but it doesn't work.
 

RegEdit

You have to edit the registry in order to include the flag. 

 

I am trying that Jin say for activate the remote dll in my own remote server but I can´t.


Any idea?


Is the new version of mt5 be limited?