Genetic optimization with ParameterSetRange

 

Can someone please explain genetic optimization.
I am reading Auto-tuning: ParameterGetRange and ParameterSetRange and my question is if this approach can be used with genetic optimization or only with "slow complete algorithm".

The author has two input params FastOsMA and SlowOsMA and the rule is FastOsMA < SlowOsMA. Then they create one input param FastSlowCombo which replaces the previous two in the OnTesterInit.

Let say genetic optimization is being run for the following input params: 
- FastOsMA: start = 10, step = 1, stop = 14
- SlowOsma: start = 10, step =1, stop = 14

The code from the article transforms this into:
FastSlowCombo: start = 1, step = 1, stop = 10

if FastSlowCombo == 1 => FastOsMA = 10, SlowOsma = 11
if FastSlowCombo == 2 => FastOsMA = 10, SlowOsma = 12
if FastSlowCombo == 3 => FastOsMA = 10, SlowOsma = 13
if FastSlowCombo == 4 => FastOsMA = 10, SlowOsma = 14
if FastSlowCombo == 5 => FastOsMA = 11, SlowOsma = 12
if FastSlowCombo == 6 => FastOsMA = 11, SlowOsma = 13
if FastSlowCombo == 7 => FastOsMA = 11, SlowOsma = 14
if FastSlowCombo == 8 => FastOsMA = 12, SlowOsma = 13
if FastSlowCombo == 9 => FastOsMA = 12, SlowOsma = 14
if FastSlowCombo == 10 => FastOsMA = 13, SlowOsma = 14

Let's say FastSlowCombo == 6 produces a great result because FastOsMA = 11. Lets say the SlowOsma = 13 is not that important for the result being high. As I understand genetic optimization it will check the naighbouring values, if the result could be improved even further. But the naighbouring values in this case both have FastOsMA = 11. Only SlowOsma changes which doesn't affect the result that much.

Lets say we have: 
- FastOsMA: start = 5, step = 1, stop = 50 
- SlowOsma: start = 5, step =1, stop = 50

This could mean that the naighbouring value for the next FastOsMA could be 45 steps away. 

Is genetic optimization smart enough to figure this out? I hope my question is clear enough.

MQL5 Book: Trading automation / Testing and optimization of Expert Advisors / Auto-tuning: ParameterGetRange and ParameterSetRange
MQL5 Book: Trading automation / Testing and optimization of Expert Advisors / Auto-tuning: ParameterGetRange and ParameterSetRange
  • www.mql5.com
In the previous section, we learned how to pass an optimization criterion to the tester. However, we missed one important point. If you look into...
 

The built-in genetic algorithm is not disclosed, so no one except for MQ's representative can give you an answer, but I doubt they will do so.

In general, genetic optimization is a random thing, not a smart thing. It should check different regions of the optimization space, especially taking into account that you can run the genetic optimization multiple times, and each time it will resume exploring the space with all previous "knowledge" about it.