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.

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
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.