Crossover: Make children that have exit rules from one parent and entry rules from the other.

In short: Make children that have exit rules from one parent and entry rules from the other at least some reasonable percentage of the time.

The problem in short: Many children come out as nonsense and die. The ones that do live are almost always extremely similar to one parent and have only a slight tweak from the other parent. It is not as useful as it could be. A simple improvement to crossover would be a massive improvement to diversity, building efficiency, and migration usefulness.

I do not take lightly suggestions to make changes to the genetic building process, it took a long time to get everything functioning correctly. (I know, I'm the one who reported many of the bugs!) However, the gains that could be had by making this simple improvement are quite large and would make fixing those bugs that we already fixed more valuable. And who wouldn't want to see children that actually make sense with a SL and exit rules from one parent and entry rules from the other? 

As I understand it, crossover allows any number of randomly selected blocks or even single variables to be swapped into any other positions of blocks or variables with the other parent in the production of the child. In most cases simply selecting random blocks to go into random positions produces a high percentage of nonsense-garbage children. In most cases, from what I have observed, a surviving child has only one or two variables or blocks from one parent and gets the rest of its blocks and variables from the other. So crossover, in many cases, seems like it acts like not much more than another kind of mutation where it inherits all of it's main characteristics from only one parent. 


I suggest a more logical solution that would have a much higher degree of surviving children. Just take the exit methods (SL, TP, trail etc.) and exit rules from one parent and entry methods (entry signals) from the other (and add in a chance of a mutation or two if necessary). Or, in case of a pending order, split into three groups and take 2 random groups from one of the parents and one from the other parent. group 1: price level, group 2: signal, group 3: exit. Maybe also then also add a chance of mutation or random variable gene swap or two if necessary.

I'm sure it would take some trial and error to rebalance the elitism function, the number of mutations during crossover and maybe some parent selection adjustments to get it all right but I think such an improvement would greatly improve the building efficiency overall, migration effectiveness, pool diversity etc. It would make having the whole island/migration system worth more. 
Attachments
No attachments
  • Votes +7
  • Project StrategyQuant X
  • Type Feature
  • Status New
  • Priority Normal

History

b
#1

bentra

12.05.2022 19:02

Task created

E
#2

Emmanuel

13.05.2022 10:31
Voted for this task.
b
#3

bentra

22.05.2022 19:04
Voted for this task.
KB
#4

kbtech

12.09.2022 18:10
Voted for this task.
IH
#5

clonex / Ivan Hudec

12.09.2022 19:53
Voted for this task.
HH
#6

Hans

14.09.2022 23:47
Voted for this task.
Bt
#7

beetrader

15.09.2022 09:25
Voted for this task.
JJ
#8

jjsb41

12.04.2023 19:55
Voted for this task.

Votes: +7

Drop files to upload

or

choose files

Max size: 5MB

Not allowed: exe, msi, application, reg, php, js, htaccess, htpasswd, gitignore

...
Wait please