I also have this problem with longer backtest periods (and have for some time). This seems to occur on both Windows (WSL bash) and Linux (Docker container).
None of the purposed optimizations work (but they do make a difference, not just on larger datasets).
System 1: Windows x64 + WSL (bash), 32 GB ram etc
System 2, server: Debian + Docker container, 128 GB ram etc
Dataset: ETH-USDT (Poloniex)
Candle Size: 15 min
Data from: 2015-08-08 06:15
Data to: 2017-11-07 14:37
Duration: 2 years, 3 months, 12 hours, 52 minutes
Other settings @ init() function:
// performance
config.backtest.batchSize = 1000; // increase performance
config.silent = true;
config.debug = false;
Other:
running gekko ui with:
node -max-old-space-size=14000 server.js
@ /gekko/web/
All other debugging set to off, so 0 messages except something that occurs on end().
Edit: 20 minutes works and takes 1.7350 minutes to complete, but as soon as i go lower...
---
Edit 2: Screen
Note how i get the 'Finish' in the terminal = the end() function for the strategy has been ran but for some reason finish() has not been triggered and thus no output @ UI?
Another thing that happens is that Gekko tries to re-run the backtest for no apparent reason, it's basically like it's stalling and then retries.
After 2-4 tries it just dies.
SOLVED!
Someone thought it was a good idea to set the
timeout to 2 minutes @:
/gekko/web/vue/UIconfig.js
Why @askmike?
Solution
1. open /gekko/web/vue/UIconfig.js
2. change
timeout 120000 (2 minutes!) to 21600000 (6 hours) + save
3. Restart Gekko UI
UIconfig.js
Code:
// This config is used in both the
// frontend as well as the web server.
// see https://github.com/askmike/gekko/blob/stable/docs/installing_gekko_on_a_server.md
const CONFIG = {
headless: false,
api: {
host: '127.0.0.1',
port: 3000,
timeout: 7200000 // 120 minutes
},
ui: {
ssl: false,
host: 'localhost',
port: 3000,
path: '/'
},
adapter: 'sqlite'
}
if(typeof window === 'undefined')
module.exports = CONFIG;
else
window.CONFIG = CONFIG;