A cryptocurrency trading bot supporting multiple exchanges via CCXT.
Not production ready only basic functionality
- Multi pair support in one instance
- sqlite3 storage for candles, tickers, ...
- Webserver UI with dashboard
- Support for going "Short" and "Long"
- Signal browser dashboard for pairs
- Slack, Telegram and email notification
- Profile-based bot management with strategy execution
- CCXT-based exchange support (100+ exchanges)
- node.js
- sqlite3
- technicalindicators
- TA-Lib
- CCXT
- Tailwind CSS 4
- Tradingview widgets
For building sqlite and indicators libraries (if needed)
sudo apt-get install build-essential npm install --production npm start # or with special port # npm start -- --port=55555 open browser: http://127.0.0.1:8080 Common strategy with indicators are inside, which most of the time are not profitable. See some more advanced strategy in the list below
- dip_catcher
- dca_dipper - Long term invest Dollar-Cost Averaging (DCA) Dip Investor Strategy
Find some example strategies inside src/strategy/strategies
For custom strategies use var/strategies folder.
# simple file structure var/strategies/your_strategy.js # or wrap strategy into any sub folder depth var/strategies/my_strategy/my_strategy.js npm test As the webserver provides just basic auth for access you should combine some with eh a https for public server. Here s simple proxy_pass for nginx.
# /etc/nginx/sites-available/YOURHOST server { server_name YOURHOST; location / { proxy_pass http://127.0.0.1:8080; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/YOURHOST/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/YOURHOST/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } First, you'll need to create a bot for Telegram. Just talk to BotFather and follow simple steps until it gives you a token for it. You'll also need to create a Telegram group, the place where you and crypto-trading-bot will communicate. After creating it, add the bot as administrator (make sure to uncheck "All Members Are Admins").
Invite @RawDataBot to your group and get your group id in sended chat id field
Message ├ message_id: 338 ├ from ┊ ├ id: ***** ┊ ├ is_bot: false ┊ ├ first_name: 사이드 ┊ ├ username: ****** ┊ └ language_code: en ├ chat ┊ ├ id: -1001118554477 ┊ ├ title: Test Group ┊ └ type: supergroup ├ date: 1544948900 └ text: A Look for id: -1001118554477 is your chat id (with the negative sign).
Other bots with possible design pattern
- https://github.com/DeviaVir/zenbot
- https://github.com/magic8bot/magic8bot
- https://github.com/askmike/gekko
- https://github.com/freqtrade/freqtrade
- https://github.com/Ekliptor/WolfBot
- https://github.com/andresilvasantos/bitprophet
- https://github.com/kavehs87/PHPTradingBot
- https://github.com/Superalgos/Superalgos
Some strategies based on technical indicators for collection some ideas
- https://github.com/freqtrade/freqtrade-strategies
- https://github.com/freqtrade/freqtrade-strategies/tree/master/user_data/strategies/berlinguyinca
- https://github.com/xFFFFF/Gekko-Strategies
- https://github.com/sthewissen/Mynt/tree/master/src/Mynt.Core/Strategies
- https://github.com/Ekliptor/WolfBot/tree/master/src/Strategies
- https://github.com/Superalgos/Strategy-BTC-WeakHandsBuster
- https://github.com/Superalgos/Strategy-BTC-BB-Top-Bounce



