A cryptocurrency trading bot supporting multiple exchanges via CCXT.
Not production ready only basic functionality
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
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
Some strategies based on technical indicators for collection some ideas
$ claude mcp add crypto-trading-bot \
-- python -m otcore.mcp_server <graph>