An idea for strategy tester genetic algorithm

 
Yet another idea to improve MT5! Now our target is the strategy tester genetic algorithm.


The concept is quite simple: we all know about the relevance of the strategy tester genetic algorithm to backtesting and the power of the MT5 cloud network to execute such tests

However, I think we can join these two great features of MT5 (strategy tester genetic algorithm and cloud network testing) to create a new powerful backtesting mode at MT5.

The idea description

What about creating a loop option for the strategy tester genetic algorithm, where at each start, all old results are used and compared.

The idea here is not using just one pass for the genetic algorithm (as today), but the number defined by the user, depending on the time or money he has to spent in the case of using MT5 cloud network.

For instance, imagine a first test using the genetic algorithm, with the 100 best results, named as A1,A2,...A100.

As we have a loop, the next passage would generate 100 new best results, named as B1,B2,...B100, and so on.

After L loops, defined by the user, we have a final merge of the best results, for instance A1,A2,B1,A3,B2,...,etc.

As usual, I know some of you will not believe this will exists one day (for any reason), anyway you are welcome to a brainstorming about.

Distributed Computing in the MQL5 Cloud Network
Distributed Computing in the MQL5 Cloud Network
  • cloud.mql5.com
Connect to the MQL5 Cloud Network (Cloud Computing) and earn extra income around the clock — there is much work for you computer!
 

Seems like a very good idea and I'm hoping you will get others onboard with this. I myself consider it would have great benefits for the community.

 
MetaSky:

Seems like a very good idea and I'm hoping you will get others onboard with this. I myself consider it would have great benefits for the community.

Thanks, I hope so, but I know this idea is a hard job to MQ team, so better we stress it here to double check.
 

Yes more optimizing power here please. I like the specific loop idea very much actually, should help reduce curve fitting in some cases but we might be using more memory and disk-space. I wouldn't mind seeing  a few related bells and whistles 

- Pre-determine how far the optimizer goes in frames.

- A Log type step so if I want to go from  0.1 to 10. I want the steps to get bigger and bigger as we approach 10 such as 0.1,0.2,0.3,0.5,0.7,1.0,1.3.......9.1,10.0. Or even have comma delimited list of possible values (This is kind of already possible using enums and the drop down menu but it would take a load off to be able to have an int input that I can specify all possible values like this: "1,3,4,9,20" )

- Linking inputs. 

- More configurations for the optimizer, such as telling it what top % to consider for the next batch, How far out of bounds I want the optimizer to try other variabels (such as if the top 2 results out of 10 are [x=3, y=4, z=5],[x=2,y=9,z=5] then perhaps I want z locked at 5 and x locked between 2 and 3 or 1 and 4 etc.... maybe even a script engine or some way to program the testers specific optimizing/genetic behaviors in mql.

 
Also, being able to force merge/keep/use the xml file. For instance I run for 3000 frames then decide I want to make a minor change in the perimeters or my code, I want to not have to start from scratch when there are usable results from the previous run. In fact maybe it could search all the xml files for results within the limits specified and add them or ask if I want to use them. 
 
bendex77:
Also, being able to force merge/keep/use the xml file. 
Yes, very good, the report file is another problem to address here.
Reason: