The Generator composes the first strategy randomly.
If it doesn't pass the Acceptance Criteria, it ignores it and starts again.
Then, the Generator applies one operation to modify the strategy. The operation is chosen randomly and can be:
- Add, remove, or change SL.
- Add, remove, or change TP.
- Add, remove, or change BE.
- Change the Opening Point slot.
- Add, remove, or change a random Opening Logic Condition slot.
- Change the Closing Point slot.
- Add, remove, or change a random Closing Logic Condition slot.
...
The strategy is accepted or rejected depending on if it passes the Acceptance Criteria.
If you have stricter Acceptance Criteria, it is much harder for the Generator to find the first strategy.
To make it easier for the Generator, you must reduce the Acceptance Criteria or provide a better trading environment.
One possible workflow can be to generate many strategies and then revalidate them with the desired Acceptance Criteria.