03-19-2018, 09:49 PM
(03-19-2018, 05:53 AM)tommiehansen Wrote:(03-18-2018, 11:30 PM)jvs Wrote: Gentleman - over the weekend I left a box running testing different settings on the strategy.
I set it to change 4 settings:
Candle size: From 300 seconds (5 minutes) to 3600 seconds (1 hour), in steps of 1 minute.
SMA Fast Period: From 20 periods to 95 periods, in steps of 5.
SMA Slow Period: From 100 periods to 2000 periods, in steps of 20.
ADX Period: From 2 periods to 20 periods, in steps of 1.
So, 1.4 odd million tests later - testing on a dataset of ETH/USDT from 1/1/2016 to 1/3/2018, the setting that came out tops was....(drum roll)
Candle size: 480 seconds (8 minutes)
SMA Fast Period: 95
SMA Slow Period: 200
ADX Period: 3
The default settings of candle size 15 minutes, SMA Fast of 50 periods and slow of 1000 periods, results in a return of around 242,621%
Good for you, do note that the default is the default though and will not be optimized for anything basically.
I'll also ramp up testing since i've just finished making something usable of the PHP-stuff i've been writing that makes it simpler to do brute-force tests with more dynamic parameters. Something that is needed to really test something and where the run time can be over 20 hours (and over 5000 runs per go) and so on, here's a screen of the current 'run screen':
https://i.imgur.com/j5I3eWH.png
There just isn't any feasible way of testing things 'for real' with the current Gekko UI.
How do you think you will go about looping through the different ranges?
I just used a whole bunch of nested for loops... I can't help but think there is a better way...
Code:
foreach (range(300, 3600, 60) as $candle){
foreach(range(20,95,5) as $smaFastPeriod){
foreach(range(100,2000,20) as $smaSlowPeriod){
foreach(range(2,20,1) as $adxPeriod){