Optimizer should also have a Monte Carlo method

 

Problem: The genetic algorithm eventually biases results and running all possibilities may take too long.

Suggested solution: Monte Carlo method.

This would run a specified amount of frames with randomly generated perimeters. Just like the first 256 frames generated by the genetic mode is (I think) completely random parameters.

 
bendex77:

Problem: The genetic algorithm eventually biases results and running all possibilities may take too long.

Suggested solution: Monte Carlo method.

This would run a specified amount of frames with randomly generated perimeters. Just like the first 256 frames generated by the genetic mode is (I think) completely random parameters.

My suggested solution: code your Monte Carlo method on OnTester() and use your custom criteria (CustomMax) to avoid the biases results.

Maybe this article can help you to do this: https://www.mql5.com/en/articles/286

Creating Custom Criteria of Optimization of Expert Advisors
Creating Custom Criteria of Optimization of Expert Advisors
  • 2011.09.07
  • Dmitriy Skub
  • 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.
 
figurelli:

My suggested solution: code your Monte Carlo method on OnTester() and use your custom criteria (CustomMax) to avoid the biases results.

Maybe this article can help you to do this: https://www.mql5.com/en/articles/286

I consider any type of optimization at all to be bias to some degree but yes I could make an always 0 return ontester to keep the results coming random... but then I can't use the built in MT5 graphing which is the whole point.  I want to optimize by random (or custom) for a certain number of frames and then graph (1d,2d,3d) by something else such as profit, but this is not currently possible unless I build a new grapher from scratch or create csv logs and graph in excell or w/e. (Many testing softwares that I have used have a MonteCarlo.) Not to mention I have to be nearby the terminal to stop it manually when it reaches a certain point.

 

 

 
bendex77:

I consider any type of optimization at all to be bias to some degree but yes I could make an always 0 return ontester to keep the results coming random... but then I can't use the built in MT5 graphing which is the whole point.  I want to optimize by random (or custom) for a certain number of frames and then graph (1d,2d,3d) by something else such as profit, but this is not currently possible unless I build a new grapher from scratch or create csv logs and graph in excell or w/e. (Many testing softwares that I have used have a MonteCarlo.) Not to mention I have to be nearby the terminal to stop it manually when it reaches a certain point.

 

Good idea, now I can see better what you want to do. I would like to have such power too, as I suggested some days ago (link below), I think we have several improvements to do with this genetic algorithm, mainly to use the cloud network performance.

Forum on trading, automated trading systems and testing trading strategies

An idea for strategy tester genetic algorithm

figurelli, 2014.03.01 04:16

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.


 
figurelli:

Good idea, now I can see better what you want to do. I would like to have such power too, as I suggested some days ago (link below), I think we have several improvements to do with this genetic algorithm, mainly to use the cloud network performance.


Oh I missed that thread, ty for the link.
Reason: