Multi-Symbol optimisation MT5, Possible?

 

Hello 

I am getting into a discussion if the above is possible. 
I am not talking about the option "All Symbols in Market Watch " but instead running iteration of the various inputs on different symbols (on a single-symbol EA) 
with the Symbol being one of the things changing in each pass.
The purpose is to save time by avoid doing individual optimisation for each time.

One approach I though of is the following 

Have a String Input Called Symbols : EURUSD,GBPUSD,EURJPY,EURCAD.... etc.
Have an Integer input called Index :     

What the EA will do is take the index number input and find the nth Symbol in the string based on the "," 
Eg 0 is EURUSD, 2 is EURJPY. 
So this will be used in optimistaion so on each iteration the Symbol Index is specified.

Purpose is not to get the best for each symbol but to get good settings for each .


Possible Issues with the above approach 
-Running with data of a different symbol may cause issues
-The genetic optimisation may get messed up.

Please share your views

Thank you

 

I have used this approach

The only issue with using different symbol's data is a problem with OnTick - it will only fire on receiving the new tick from the host chart, hence ticks from the symbol being tested will be potentially missed. This can be ameliorated using a continuous loop and testing for the receipt of new ticks of the symbol being tested.

My biggest problem is my computing resource, of course you can use the Metatrader Account cloud agents. But I started using a python script to run an elaborate autoclicker, restarting the terminal with new input and output files. This also then allows testing each asset on it's own chart.

 

Im sure the Cristiano Ronaldo of these matters fxSaber has a solution somewhere but until then :

You will indeed mess up the genetic algorithm as it will essentially be tasked with finding the best symbol AND the best parameters so it will zero in on one symbol eventually

What you can do is pick out what you found but you will waste "cycles"

So run the first one with all the symbols , lets say your engine finds EURUSD to be the best , you exclude it from the subsequent run (the whole optimzation not one pass)

But its not efficient . 

There could be passes done on MathCalcs mode but you would have to "stream" the ticks yourself (and sequence them based on reception time) and in that case you would be looking for the "average best" settings for all symbols.

 
Michalis Phylactou:

Please share your views

Try this solution.

MultiTester
MultiTester
  • www.mql5.com
Множественные прогоны/оптимизации в Тестере.
 
fxsaber #:

Try this solution.

Thank you fxsaber aka Ronaldo as Mr Lorentzos says :) 
Reason: