gab
gab copied to clipboard
Gekko Automated Backtests
GAB
Gekko Automated Backtests
*** THIS IS BETA ***
If something does not work, it simply does not work since time hasn't existed yet to get it working.
Compatibility Updates
17/01 2019
Gekko has been updated to work with the latest major branch of gekko (v0.6.x)
Breaking changes
14/4 2018
Added MySQL (InnoDB) option but this also forced a new format to be used.
A conversion tool for old SQLite db's is included under the new /tools/ -folder. Goto
26/3 2018 Cleaned up most stuff and optimized many more + added a lot of things 'under the hood'. A lot of changes and changes to things such as the databases etc. This make this a version incompatible with the prior (first released) version.
Why
I needed a way to run backtests for Gekko in a 'brute-force' manner automated and with multi-threading. I also needed a way to compare all these runs and get extra data such as win% etc.
Prerequisites (required)
- Gekko installed and working
- Webserver + PHP (preferrably 7.1+) with cURL and PDO SQLite installed
- A user with write access
How-to
- Create a copy of user.config.sample.php and rename it to user.config.php and set stuff up. Make sure $server is pointing at YOUR running Gekko instance e.g. http://localhost:3000
- Go to your-localhost/gab/
- Run something..
- After you got some runs check 'View runs' and check all the results
Dynamic parameters
GAB uses dynamic parameters, these work for all strategy paramers. Example, RSI BULL/BEAR:
# SMA
SMA_long = 100:1000,100
SMA_short = 10:90,10
# BULL
BULL_RSI = 5:20,5
BULL_RSI_high = 70:90,5
BULL_RSI_low = 40:60,5
# BEAR
BEAR_RSI = 5:20,5
BEAR_RSI_high = 40:60,5
BEAR_RSI_low = 10:30,5
The format is MIN:MAX,STEPPING.
This means that e.g. 10:20,5
will generate the range: 10,15,20
The params are inclusive meaning that odd stepping e.g. 5:15,10
will become 5,10,15
- the first and last of range is always kept.
Also note that negative values also need to follow MIN/MAX. This is wrong: -5:-15,5
, this is right: -15:-5,5
.
Donate or coffee?
People keeps asking about this so i'll just leave it here for future reference:
- BTC: 15cZUi7VvmCQJLbPXYYWChHF3JpsBaYDtH
- ETH: 0xe03c5eb9DF93360e3Bcfcd13012B7DeebbED6923