crypto trading bot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
mark-sch 84ea0fa951 Expose onOrderbook event to strategies 1 year ago
.github add stale bot config, fix #2127 (#2608) 3 years ago
.vscode New VSCode debug settings 3 years ago
backtest-results Improved T5optimizer, new optimizer backtest results 2 years ago
config Modified config files / tresholds 2 years ago
core Added orderbook support to kraken exchange and gekko event pipeline (processOrderbook) 1 year ago
db_backup Added postgres db restore script 2 years ago
docs Merge 2 years ago
exchange Added getOrderbook implementation for binance 1 year ago
importers/exchanges Fixed API:Rate limit exceeded for kraken exchange imports 1 year ago
logs add logging for UI gekkos, fix #972 4 years ago
plugins Expose onOrderbook event to strategies 1 year ago
screenshots Screenshot: Using Green Gekko UI during backtest 2 years ago
strategies T5optimizer improvements 2 years ago
test mv triggers into gekko broker 3 years ago
web web ui update for gekko cloud 2 years ago
.dockerignore Dockerize: add docker-compose, Dockerfile, .dockerignore and update package.json start script 4 years ago
.editorconfig added .editorconfig 4 years ago
.env Allow turning on SSL in Docker 2 years ago
.gitignore web ui update for gekko cloud 2 years ago
.prettierrc Adding prettier default config file 3 years ago
.travis.yml update required node version to 8.11.2 3 years ago
CONTRIBUTING.md update links to website, see #2510 3 years ago
Dockerfile also install GB deps in docker build, fix #2278 3 years ago
LICENSE Add a MIT LICENSE file to project root 4 years ago
README.md Update README.md 2 years ago
appveyor.yml run appveyor tests using node v9 3 years ago
backtest2html.sh Improved T5optimizer, new optimizer backtest results 2 years ago
chart.html Add trade origin to chart 2 years ago
config-cloudstrategy.js Removed unnecessary plugin warning/error during backtest 2 years ago
docker-compose.yml Allow turning on SSL in Docker 2 years ago
docker-entrypoint.sh Allow turning on SSL in Docker 2 years ago
gekko.js Merge 2 years ago
mybacktest.js New UI: Green Gekko charting 2 years ago
package-lock.json Improved T5optimizer, new optimizer backtest results 2 years ago
package.json Improved T5optimizer, new optimizer backtest results 2 years ago
plugins.js Merge 2 years ago
sample-config.js Added getOrderbook implementation for binance 1 year ago
sample-eth.js Added getOrderbook implementation for binance 1 year ago
subscriptions.js Added orderbook support to kraken exchange and gekko event pipeline (processOrderbook) 1 year ago

README.md

Green Gekko 2019 r271 npm Build Status Build status

An Interactive Crypto Trading Bot, gekko backwards compatible

Test your own trading strategies and view backtests in the browser
Green Gekko charts
Operate with a Telegram bot Gekko with Telegram in admin mode
Gekko with telegram bot Gekko with telegram in admin mode

See screenshots folder

New: Gekko Cloud integration

  • Allows the connection of Gekko bot instances all over the world in realtime
  • Gekko Cloud has a fair-use principle, share your trading signals (but keep your strategy private) and get access to foreign strategy signals and candles. Give and take.
  • Write new trading strategies by combining remote advices/candles with local strategy coding. See sample config and strategy to get started. Run: node gekko.js --config config-cloudstrategy.js
  • Subscribe to fair-use, free or paid Gekko Cloud channels. Signal publishers determine the category and fee.
  • Execute your strategy signals multiple times for friends or family crypto accounts
  • Uses fast TCP socket connections, extended XMPP protocol standards

Green Gekko Features

  • Extended trading-strategy possibilities:
    • Heikin-Ashi candles core support, e.g. use candle.ha.close instead of candle.close inside your strategy
    • set trading amount while giving advice (e.g. buy with 50% of my portfolio)
    • allow market making or market taking order execution options
    • speedup in the internal event pipeline. Force undelayed advice execution by setting config.tradingAdvisor.fastAdviceEmit: true
    • receive "onCandle" events to allow developers building multi-timeframe strategies.
    • receive "onAdvice" events for plugin-to-plugin communication, e.g. notify the strategy with telegram initiated advices, or create containers with multiple strategies.
  • Core enhancements to write async trading strategies with new async tulip and talib wrappers. The new Green Gekko core is able to wait for async strategies without running into race conditions and allows developers to write multi-timeframe and multi-market strategies.
  • Rewritten telegram bot
    • User mode
      • list trading pair, strategy and candle size
      • get current price from exchange
      • get trading trend
      • subscribe/unsubscribe to trading advices
    • Admin mode
      • Password restricted access
      • Manually buy and sell tokens
        • with a sticky order
        • with a market taking order
        • set stop-loss and take-profit settings
      • Dynamically view and change strategy settings
      • Show exchange portfolio value
  • Advanced Postgresql DB features (used as default db to prevent sqlite lockings)
    • Rewritten postgres plugin, using connection pooling and transaction safe candle writing (Postgres 9.5+ required)
  • New command line options:
    • Checks plugin dependencies and automatically enable a plugin when it is mandatory inside a certain mode, e.g. enable the Paper Trader when in backtest mode. See new mandatoryOn property in plugins.js file.
    • New --set command line option to override config settings, e.g. --set debug=true to enable the debug mode output - no need to touch the config.js for a quick debug run
  • Additional exchanges (ccxt), supporting market watch, history import, backtesting and live trading
    • HitBtc exchange support
    • HuobiPro exchange support
    • OKEX exchange support
  • Coinmarketcap importer
    • Several exchanges, like HuobiPro and OKEX do not offer a large timeframe of history data. The universal Coinmarketcap importer allows fast imports for nearly every market to enable backtesting (based on 5 min. candles)
  • Extended log output
    • mailer.js informs with buy and sell events by mail (different to go short/long advices)
    • More info during paper trader backtesting
  • Added often used package dependencies by default to get started quickly (npm install)

Backtest examples

Getting started

  • git clone https://github.com/mark-sch/gekko
  • cd gekko
  • npm install
  • cd exchange
  • npm install
  • cd ..
  • node gekko --config sample-eth.js --import --set debug=true
  • node gekko --config sample-eth.js --backtest --set debug=true

from time to time the exchange markets should be updated with a utility - to get new coin pairs:

  • cd exchange/util/genMarketFiles/
  • node update-kraken.js
  • node update-binance.js

(postgresql experience required to previously setup postgres. Sample config assumes an existing db user gekkodbuser, pass 1234, with added role permission to createdb. PostgreSQL 9.5+ required.)

See further info how to get started and how to setup postgresql from crypto49er at youtube

A good practice to run Gekko processes on a server is using process manager 2 tool:

pm2 start gekko.js -i 1 --name "gekko-bnb" -- --config config-bnb.js

Documentation

See the documentation website.