Ideology of the MetaTrader 5 trading strategy tester: Agents

 

In MetaTrader 5 we provide the possibility to create calculation frameworks for a tester to quicker calculate trading strategies. They are designed for conducting mass optimizing calculations, when you can start across hundreds of tasks on remote computers. Besides, several agents can be installed on each computer (according to the number of cores) to achieve the maximal use of resources.

By default, the number of local agents of each terminal is equal to the number of logical processor cores, and can distribute tasks to other remote agents. It is very easy to install remote agents. All you need is to use MetaTester.exe (a single file, nothing else is required) and install agents as services according to the number of cores or one by one. A separate access password is set for each agent, to ensure that only authorized users connect to it.

This is testing of an Expert Advisor on a local core. Both state and the real CPU load are shown.


Starting testing on a remote agent:


 
Nice setup you have, I can't wait to test this stuff 
 
Wooow!!! amazing... When?

 
I see that steps were done for better computing during tester ; what about it's analytics firepower?
 

Rosh, when can we expect the Tester to be available?
 

Each MetaTrader 5 Tester Agent opens one local TCP port and waits for connection from the client terminal which plays a Manager role (Agent Runner). To open access to the agent service through a firewall/router, it's necessary to configure the routing in appropriate way (or simple port-mapping).

For example, the local network has 3 computers with agents on ports 192.168.0.20:2000, 192.168.0.21:2001, 192.168.0.22:2002 and there is a router with some static IP address ххх.ххх.ххх.ххх.

In this case it's necessary to configure the firewall/router rules in the following way:

  • an input connection on port 2000 should be redirected to 192.168.0.20:2000
  • an input connection on port 2001 should be redirected to 192.168.0.21:2001
  • an input connection on port 2002 should be redirected to 192.168.0.21:2002
 
Rosh:

Each MetaTrader 5 Tester Agent opens one local TCP port and waits for connection from the client terminal which plays a Manager role (Agent Runner). To open access to the agent service through a firewall/router, it's necessary to configure the routing in appropriate way (or simple port-mapping).

For example, the local network has 3 computers with agents on ports 192.168.0.20:2000, 192.168.0.21:2001, 192.168.0.22:2002 and there is a router with some static IP address ххх.ххх.ххх.ххх.

In this case it's necessary to configure the firewall/router rules in the following way:

  • an input connection on port 2000 should be redirected to 192.168.0.20:2000
  • an input connection on port 2001 should be redirected to 192.168.0.21:2001
  • an input connection on port 2002 should be redirected to 192.168.0.21:2002


Great, but when can we expect this?
 
Developers are hard at work on the Strategy Tester. I am waiting for it as you.
 

The client terminal can use resources of remote agents of the Strategy Tester using network connections.

The first call of the remote testing Agent (testing is controlled by the client terminal) looks as follows:

When started first, the manager of agents suggests running several agents, depending on the number of logical CPU cores, specifying the access password and required ports. The client terminal will connect to these ports when distributing tasks to remote testing Agents.

As soon as the "Install" button is pressed, the agent services will be installed and the Agent Manager will show them in the list:

Every copy of the remote Agent can be managed from this window.

The client terminal has a possibility of using local agents (depending on number of logical CPU cores), they are started without a graphical interface automatically with all parameters specified in command line.
 

Question/request:

Can we have a pending task list of optimizations? So we can add optimization tasks to a list and those tasks would be performed one after the other, that way there's no need to stay near the computer and wait till it finishes. Can add many tasks before going to a vacation and have results waiting when coming back... :)

 

wooo..,it`s look great! hope we can test it soon

Reason: