Analysis of test results and optimisation in the MetaTrader 5 strategy tester - page 6

 

3. How long does it take to optimise the parameters in the cloud?

For comparison, let's try optimization with the same parameters inMQL5 Cloud Network. This service requires a fee. After each optimization, we will record how much money is frozen on the account to pay for this service.

In this test, we will set simultaneous use of local CPU cores and cloud agents to speed up optimization.


Symbol: EURUSD

result cache used 6416 times
genetic optimization finished on pass 13568 (of 504330836375520000)
optimization done in 6 minutes 41 seconds
local 587 tasks (7%), remote 0 tasks (0%), cloud 6966 tasks (92%)

Frozen funds:


As you can see, the optimization was significantly faster(6 min 41 sec) than last time, but only on the local computer(28 min 56 sec).

Symbol: EURCHF

You may encounter a situation where the service takes a very long time before the optimisation job is submitted to the network. This is due to the fact that agents need time to download the necessary data on the desired symbols. In this case, that is what happened.After a long wait you can stop the optimization process. There will be entries in the log as shown below.There were no calculations in the cloud, so no funds will be withdrawn.

result cache used 0 times
genetic optimization finished on pass 395 (of 504330836375520000)
optimization done in 10 minutes 13 seconds
local 395 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Let's try to run the optimization again on this symbol.

result cache used 8510 times
genetic optimization finished on pass 16640 (of 504330836375520000)
optimization done in 22 minutes 14 seconds
local 543 tasks (6%), remote 0 tasks (0%), cloud 7434 tasks (93%)

This time the process started but the result was not impressive. The optimization took22 min. 14 sec. It took32 min. 50 sec. In fact, this is also due to the process of data uploading by agents on the network. The gain will be on larger tasks and inSlow complete algorithm mode.

Frozen funds:


Now let's see if it makes sense to run optimization in the cloud with multiple symbols.

Symbols: EURUSD,GBPUSD,USDJPY

result cache used 7294 times
genetic optimization finished on pass 15360 (of 504330836375520000)
optimization done in 24 minutes 56 seconds
local 480 tasks (5%), remote 0 tasks (0%), cloud 7680 tasks (94%)

It took24 min. 56 sec. But in our last run, it took2 hrs. 15 min. 3 sec. In this case the gain is already noticeable.

Frozen funds:


Symbols: EURCHF,AUDCAD,AUDNZD

This time, the optimization of the network did not start for a long time either. All this time local agents have been working. You can see what is happening in the log (see the listing below). As soon as all agents in the network that can perform optimization for you download the required data, optimization is started.

authorized (server build 1755)
cloud server MQL5 Cloud Europe 1 selected for genetic computation
connected
common synchronization completed
authorized (server build 1755)
AUDCAD: history for 2009 year synchronized
AUDCAD: history for 2010 year synchronized
AUDCAD: history for 2011 year synchronized
AUDCAD: history for 2012 year synchronized
AUDCAD: history for 2013 year synchronized
AUDCAD: history for 2014 year synchronized
AUDCAD: history for 2015 year synchronized
AUDCAD: history for 2017 year synchronized
AUDCAD: history for 2018 year synchronized
AUDCAD: history synchronization completed [19967 Kb]
AUDCAD: 19.50 Mb of history processed in 0:04.062
AUDNZD: history for 2012 year synchronized
AUDNZD: history for 2013 year synchronized
AUDNZD: history for 2014 year synchronized
AUDNZD: history for 2015 year synchronized
AUDNZD: history for 2017 year synchronized
AUDNZD: history for 2018 year synchronized
AUDNZD: history synchronization completed [12301 Kb]
AUDNZD: 12.01 Mb of history processed in 0:03.281
AUDUSD: history for 1999 year synchronized
AUDUSD: history for 2000 year synchronized
AUDUSD: history for 2001 year synchronized
AUDUSD: history for 2002 year synchronized
AUDUSD: history for 2003 year synchronized
AUDUSD: history for 2004 year synchronized
AUDUSD: history for 2005 year synchronized
AUDUSD: history for 2006 year synchronized
AUDUSD: history for 2007 year synchronized
AUDUSD: history for 2008 year synchronized
AUDUSD: history for 2009 year synchronized
AUDUSD: history for 2010 year synchronized
AUDUSD: history for 2011 year synchronized
AUDUSD: history for 2012 year synchronized
AUDUSD: history for 2018 year synchronized
AUDUSD: history synchronization completed [443 Kb]
AUDUSD: 443.03 Kb of history processed in 0:00.203
USDCAD: history for 2018 year synchronized
USDCAD: history synchronization completed [172 Kb]
USDCAD: 172.52 Kb of history processed in 0:00.609

In the end, the optimization was finished in1 hr. 19 min. 49 sec. And the last time, but on the local machine only, it took3 hrs. 13 min. 37 sec.

result cache used 8734 times
genetic optimization finished on pass 18176 (of 504330836375520000)
optimization done in 1 hours 19 minutes 49 seconds
local 823 tasks (8%), remote 0 tasks (0%), cloud 8709 tasks (91%)

Frozen funds:


The total for all four optimisation processes came out to$7.46. The table below shows a summary. Instead of6-7 hours, it took2 hours and 13 minutes to optimise, which is about three times less.

SymbolsCost ($)Time in cloudTime on computer
EURUSD2.530:06:410:28:56
EURCHF1.040:22:140:32:50
EURUSD,GBPUSD,USDJPY1.110:24:562:15:03
EURCHF,AUDCAD,AUDNZD2.781:19:493:13:37
Total:7.462:13:406:30:26
Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...
 
As I mentioned in another forum thread, there are only 8 local agents in this test, and it's not correct to compare them with 256, much less 512 cloud agents given a bunch of optimization tasks. In order to ensure transparency of the test we need to either limit a simultaneous use of 8 agents in the cloud, which is technically impossible, or have at least 256 local agents, which is physically unavailable. That's about it.
 
Aleksandr Volotko:
As I mentioned in another forum thread, there are only 8 local agents in this test, and it's not appropriate to compare them with 256 or even 512 cloud agents given a bunch of optimization tasks. In order to ensure transparency of the test we need to either limit a simultaneous use of 8 agents in the cloud, which is technically impossible, or have at least 256 local agents, which is physically unavailable. That's about it.

In this case the goal was to show how much faster results can be obtained with this local configuration and how much it would cost.

 
Anatoli Kazharski:

SymbolsCost ($)Time in the cloudTime on computer
EURUSD2.530:06:410:28:56
EURCHF1.040:22:140:32:50
EURUSD,GBPUSD,USDJPY1.110:24:562:15:03
EURCHF,AUDCAD,AUDNZD2.781:19:493:13:37
Total:7.462:13:406:30:26

A contradictory table, however.

 
fxsaber:

A contradictory table, though.

In general, yes.

After the expected tester updates, I will try the same series of tests to compare results.

 
Anatoli Kazharski:

In this test we will set both local CPU cores and cloud agents to be used simultaneously to speed up optimization.

You may encounter a situation when a service takes a very long time to get optimization jobs to the network. This is due to the fact that the agents need time to download the required data on the required symbols. In this case, that is what happened.After a long wait you can stop the optimization process. There will be entries in the log as shown below.There were no calculations in the cloud, so no funds will be withdrawn.

A free way to crash the Cloud is described. We make a dumb Expert Advisor that accesses ALL symbols from the market overview once, and run it in "real ticks" mode. Then we press Stop. Switch to another trading server and start Optimize again. The cloud is in free knockout mode.

 
fxsaber:

A free way to crash the Cloud is described. We make a dumb EA that accesses ALL symbols from the market overview once, and run it in "real ticks" mode. Then we press Stop. Switch to another trade server and start Optimize again. The cloud is in free knockout mode.

So, it's unethical, to say the least...

 
fxsaber:

A free way to crash the Cloud is described. We make a dumb EA that accesses ALL symbols from the market overview once, and run it in "real ticks" mode. Then we press Stop. Switch to another trading server and start Optimize again. The cloud is in free knockout mode.

So maybe it's already accounted for. For example, as soon as Optimisation is stopped, the agents in the network also stop downloading data.

 
Dennis Kirichenko:

Well, it's unethical, to say the least...

I don't get it.

Anatoli Kazharski:

So maybe this is already taken into account. For example, as soon as optimisation is stopped, the agents in the network also have their data download stopped.

Wrote to SD.

 

Decided to try forward testing. Can you tell me, who knows, what kind of number is displayed in the result column in the optimisation? For example, in the highlighted line?


If I select "Forward Testing Results" using the context menu, I get the following picture


What is this number 62.03 ? I did not see it in the Backtest and Forward reports.

Reason: