Genetic Backtesting Feature

 

I have read, that it is somewhat impossible, to choose how many results are produced in the given genetic backtest, at most they will be limited to 10,000 from my experience. Some mention somewhere of it being built into the EA or something, if it does feature such things.

If I am running a genetic backtest when I have 4,500,000+ combinations, I would probably start off by running 7-9 consecutive genetic backtests, which requires me to be around waiting 10-20 minutes on average, just to click start repeatingly.

Thus, if there were another drop-down box in the "settings" tab in "strategy tester", where the user could specify how many times to run the genetic test, ie, drop-down box with options, 1, 3, 5, 7, 9 times genetic backtest.

This would allow the user, to somewhat choose how many results are produced, while. to focus upon other activities, while waiting for the full sequence of genetic tests to complete, resulting in less stressed from the process of having to produce multiple genetic tests.

The Fundamentals of Testing in MetaTrader 5
The Fundamentals of Testing in MetaTrader 5
  • www.mql5.com
What are the differences between the three modes of testing in MetaTrader 5, and what should be particularly looked for? How does the testing of an EA, trading simultaneously on multiple instruments, take place? When and how are the indicator values calculated during testing, and how are the events handled? How to synchronize the bars from different instruments during testing in an "open prices only" mode? This article aims to provide answers to these and many other questions.
 
wiseman-timelord: , at most they will be limited to 10,000 from my experience.

10K is an initial estimate. The complete total may be much more or much less depending on your parameters/EA.

 
William Roeder #:

10K is an initial estimate. The complete total may be much more or much less depending on your parameters/EA.

Yup, I have seen this going on, typically skips though the last few thousand at warp speed, or sometimes will keep extending multiple times, but, these circumstance do not affect the fact, that I have to run multiple genetic tests, when dealing with millions of combinations.
 
wiseman-timelord:

I have read, that it is somewhat impossible, to choose how many results are produced in the given genetic backtest, at most they will be limited to 10,000 from my experience. Some mention somewhere of it being built into the EA or something, if it does feature such things.

If I am running a genetic backtest when I have 4,500,000+ combinations, I would probably start off by running 7-9 consecutive genetic backtests, which requires me to be around waiting 10-20 minutes on average, just to click start repeatingly.

Thus, if there were another drop-down box in the "settings" tab in "strategy tester", where the user could specify how many times to run the genetic test, ie, drop-down box with options, 1, 3, 5, 7, 9 times genetic backtest.

This would allow the user, to somewhat choose how many results are produced, while. to focus upon other activities, while waiting for the full sequence of genetic tests to complete, resulting in less stressed from the process of having to produce multiple genetic tests.

You can automate the process. Search in the Forum and Codebase, this has been discussed a lot of time and there some libraries existing to help.
 
Alain Verleyen #:
You can automate the process. Search in the Forum and Codebase, this has been discussed a lot of time and there some libraries existing to help.
I will have a look around, references and links, would be appreciated, my programming skills are very basic.
 
wiseman-timelord:

I have read, that it is somewhat impossible, to choose how many results are produced in the given genetic backtest, at most they will be limited to 10,000 from my experience. Some mention somewhere of it being built into the EA or something, if it does feature such things.

If I am running a genetic backtest when I have 4,500,000+ combinations, I would probably start off by running 7-9 consecutive genetic backtests, which requires me to be around waiting 10-20 minutes on average, just to click start repeatingly.

Thus, if there were another drop-down box in the "settings" tab in "strategy tester", where the user could specify how many times to run the genetic test, ie, drop-down box with options, 1, 3, 5, 7, 9 times genetic backtest.

This would allow the user, to somewhat choose how many results are produced, while. to focus upon other activities, while waiting for the full sequence of genetic tests to complete, resulting in less stressed from the process of having to produce multiple genetic tests.

The mt5 is not limited at all actually , i've hit 300k + passes once. Its a beautiful algorithm under the hood and it will keep searching for as long as it keeps finding.

From what i understand with my limited experience it tries to hit the global max as early as possible and then leashes in its mutation rate . 

Be cautious though because with genetic algorithms it may ,literally, find "exactly" what you are looking for instructed it to find. 

You're going to love the custom max mode as it allows you to design a custom reward system for it .

https://www.mql5.com/en/articles/286

 

You can also have it "train" -(find the weights really not train) a small neural net 

Creating Custom Criteria of Optimization of Expert Advisors
Creating Custom Criteria of Optimization of Expert Advisors
  • www.mql5.com
The MetaTrader 5 Client Terminal offers a wide range of opportunities for optimization of Expert Advisor parameters. In addition to the optimization criteria included in the strategy tester, developers are given the opportunity of creating their own criteria. This leads to an almost limitless number of possibilities of testing and optimizing of Expert Advisors. The article describes practical ways of creating such criteria - both complex and simple ones.
 
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132

input int inTesterAmount = 5;

void OnStart()
{    
  int i = 0;
  
  while (!IsStopped() && (i < inTesterAmount))
    if (MTTESTER::IsReady() && MTTESTER::ClickStart())
      Alert("Tester " + (string)++i + "/" + (string)inTesterAmount);
}