I looked at Genetic System Builder a little mostly because I wanted to see what the nature of its generated code looks like.
https://trademaid.info/sysbuilder.htm
There are 38 built in indicators, with support for unlimited custom indicators. Even TS/MC locked code can be used.
https://trademaid.info/gsbhelp/Builtinindicators.html
The over simplified GSB system structure is.
result=indicator1*weight*indicator2*indicator3;
SecondaryFilter=Close >PreviousDailyClose; {for buy} There are other options here to. See secondary filter mode two topics below this one.
If secondary Filter=true and result>0 then buy;
If secondary Filter=true and result<0 then sell;
https://trademaid.info/gsbhelp/Training.html
It is very important NOT to use the highly volatile 2007 - 2008 period in training. This would lead to systems that perform poorly in lower volatility periods.
https://trademaid.info/gsbhelp/Nthday.html
Temporarily Pause trading every nTh days. A much better option than using trading periods for out of sample testing is Nth day.
The reason for this is some years are just very hard to trade, and you don't know if a system failed to make money due to poor market conditions, or being a poor system.
https://trademaid.info/gsbhelp/General.html
Fitness Criteria
This is what GSB looks to maximize in its training period. Default is netprofit * average trade.
Speed is22,104 systems per minute.
https://trademaid.info/gsbhelp/ofindicators.html
You can have 1 to 5 indicators + secondary filters in GSB systems. 2 to 5 are recommended.
result=indicator1*weight*indicator2*indicator3;
SecondaryFilter=Close >PreviousDailyClose; {for buy} There are other options here to. See secondary filter mode two topics below this one.
If secondary Filter=true and result>0 then buy;
If secondary Filter=true and result<0 then sell
https://trademaid.info/gsbhelp/Operators1.html
"+ brackets" has been added in version 52.06. This overcomes the issue with "+" described below.
+ brackets will do the following.
Result=(indicator1*w1+indicator2*w2)*indicator3*w3
Indicators can use the following operators. * / + and + brackets.
Architectural problem with "+".
Do not use + with * or /. The reason is any value will tend to be tiny compared to indicators multiplied together. This will likely result in redundant code.
The default GSB code over simplified looks like this.
Result=indicator1*w1*indicator2*w2*indicator3*w3
w1 default = -1 to 1 step 2. w2 defaults are 1.
If operator + is used, then change all the weights to -100 to 100 step2
https://trademaid.info/gsbhelp/NormalizationModes.html
Normalization Modes
Leave these all true by default. GSB indicator data is normalized to be in the range of -100 to 100 over a normalization length of 100 bars.
At 02:56, the video shows some sample code generated for TradeStation: