02-10-2018, 01:32 AM
(This post was last modified: 02-11-2018, 02:37 PM by tommiehansen.
Edit Reason: cleanup
)
Implement a genetic algo.
It may sound complex but is basically this:
1. Allow settings to be ranges of min/max so instead of this in the 'Parameters' (UI) @ backtest:
short = 20
long = 50
...it could instead be this:
short = 20,40:5
long = 50,100:10
where X,Y = min/max
and :Z = stepping (in what amounts of steps this value should be changed; this since one woulnd't want to change every possible value by e.g. 1)
Above would simply translate to:
short = min: 20, max: 40, stepping: 5
long = min: 50, max: 100, stepping: 10
2. If there's ranges etc: Run backtests and change value(s) each time (if not, just do a regular backtest)
3. Have the ability to define max amount of runs (where -1 = infinite (or until number of tests runs out); custom setting that works for all strategies e.g. ga_runs = -1
4. Output best performing results -or- output the results that beat the market in some sorted .log or .csv (the latter for easy import/manipulation in 3rd party app e.g. Excel or whatever)
5. Output runs to the log() (so that one know what's happening etc...)
Doable in a reasonably amount of time?
Problem is that the GA-stuff that exist now is tedious, doesn't really work, requires other stuff that doesn't work etc etc ... (tl;dr -- tedious).
It may sound complex but is basically this:
1. Allow settings to be ranges of min/max so instead of this in the 'Parameters' (UI) @ backtest:
short = 20
long = 50
...it could instead be this:
short = 20,40:5
long = 50,100:10
where X,Y = min/max
and :Z = stepping (in what amounts of steps this value should be changed; this since one woulnd't want to change every possible value by e.g. 1)
Above would simply translate to:
short = min: 20, max: 40, stepping: 5
long = min: 50, max: 100, stepping: 10
2. If there's ranges etc: Run backtests and change value(s) each time (if not, just do a regular backtest)
3. Have the ability to define max amount of runs (where -1 = infinite (or until number of tests runs out); custom setting that works for all strategies e.g. ga_runs = -1
4. Output best performing results -or- output the results that beat the market in some sorted .log or .csv (the latter for easy import/manipulation in 3rd party app e.g. Excel or whatever)
5. Output runs to the log() (so that one know what's happening etc...)
Doable in a reasonably amount of time?
Problem is that the GA-stuff that exist now is tedious, doesn't really work, requires other stuff that doesn't work etc etc ... (tl;dr -- tedious).