07-31-2018, 01:25 PM
Hi Mike, Hi Gekko community,
I am opening up this thread to brainstorm and discuss new Gekko code commits which might be of general interest. The goal is to collect feedback before opening a pull request for the main Gekko development branch.
On the way with my crypto gameplan I started with some Postgresql db features (Mike merged them) followed by new Gekko exchange support (HitBTC, HuobiPro and OKEX), a couple of telegram bot improvements like manual, immediate buy/sell support inside a password protected admin area and keyboard-button support for quick telegrambot feature access. Beside this I added some smaller convenience features which simplified my daily Gekko use.
Ok, maybe let's start with two commits:
https://github.com/mark-sch/gekko/commit...10094bb352
This one adds a new command line option for Gekko to quickly set/override a config setting for the current Gekko CLI run, example:
node gekko --config config-eth.js --backtest --set debug=false
The idea: I often run Gekko with debug messages enabled but during backtest mode I get a better, more useful output without debug messages. So instead of touching the config file for this, it is now possible to override config settings on-the-fly. Of course other config settings can also be changed this way.
https://github.com/mark-sch/gekko/commit...357eb314b3
Gekko keeps track which plugin is able to run in which Gekko mode, e.g. the Trader plugin does not run in backtest mode but the Paper Trader is used both in realtime and backtest Mode. These modes are configured with property "mode" inside plugins.js file. Gekko will automatically disable a plugin which is not allowed to run within a certain mode. The other way around, there are modes where a certain plugin is mandatory to run this mode. E.g. the Paper Trader is mandatory to run the backtest mode properly. For that reason I added a new plugins.js property "mandatoryOn" to document mandatory plugins for a certain mode. When a plugin is declared to be necessary for a certain mode, it will now automatically be enabled for that certain mode (like automatic disabling when not allowed for a certain mode). This small change gave me a lot of convenience on my live server, since there is no need anymore to touch any config files or to maintain several config files for a quick backtest. It also helps documenting which modes and plugins belong together.
Any thoughts? If you consider it to be of general interest, I could add a pull request.
I am opening up this thread to brainstorm and discuss new Gekko code commits which might be of general interest. The goal is to collect feedback before opening a pull request for the main Gekko development branch.
On the way with my crypto gameplan I started with some Postgresql db features (Mike merged them) followed by new Gekko exchange support (HitBTC, HuobiPro and OKEX), a couple of telegram bot improvements like manual, immediate buy/sell support inside a password protected admin area and keyboard-button support for quick telegrambot feature access. Beside this I added some smaller convenience features which simplified my daily Gekko use.
Ok, maybe let's start with two commits:
https://github.com/mark-sch/gekko/commit...10094bb352
This one adds a new command line option for Gekko to quickly set/override a config setting for the current Gekko CLI run, example:
node gekko --config config-eth.js --backtest --set debug=false
The idea: I often run Gekko with debug messages enabled but during backtest mode I get a better, more useful output without debug messages. So instead of touching the config file for this, it is now possible to override config settings on-the-fly. Of course other config settings can also be changed this way.
https://github.com/mark-sch/gekko/commit...357eb314b3
Gekko keeps track which plugin is able to run in which Gekko mode, e.g. the Trader plugin does not run in backtest mode but the Paper Trader is used both in realtime and backtest Mode. These modes are configured with property "mode" inside plugins.js file. Gekko will automatically disable a plugin which is not allowed to run within a certain mode. The other way around, there are modes where a certain plugin is mandatory to run this mode. E.g. the Paper Trader is mandatory to run the backtest mode properly. For that reason I added a new plugins.js property "mandatoryOn" to document mandatory plugins for a certain mode. When a plugin is declared to be necessary for a certain mode, it will now automatically be enabled for that certain mode (like automatic disabling when not allowed for a certain mode). This small change gave me a lot of convenience on my live server, since there is no need anymore to touch any config files or to maintain several config files for a quick backtest. It also helps documenting which modes and plugins belong together.
Any thoughts? If you consider it to be of general interest, I could add a pull request.