Binance Auto Trading Bot – Buy low/Sell high with stop loss limit/Trade multiple coins

Read Time:2 Minute, 11 Second

Github: https://github.com/chrisleekr/binance-trading-bot

This is a test project. I am just testing my code. I cannot guarantee whether you can make money or not.

So use it at your own risk! I have no responsibility for any loss or hardship incurred directly or indirectly by using this code.

How it works

Simple-Stop-Chaser

This method is buying at lowest price without any indicator, never sell under purchase price. And chase rising money. Stop chaser methodology was the idea from @d0x2f. I have found MACD indicators often mislead buying signal. In box pattern market, buy signal with lowest price is effective than using MACD indicators.

Note

  • This method is only tested and working with USDT pair in the FIAT market such as BTCUSDT, ETHUSDT.
  • This method can monitor multiple symbols.

Process

  1. Get next symbol
  2. Detect buy signal
    • Get lowest closed price with period
    • If current closed price is lower than lowest closed price, then buy NOW.
      • It will only purchase maximum purchase amount or less.
      • It will not purchase if base asset, such as BTC, has enough balance to place stop loss limit order.
    • If current closed price is higher than lowest closed price, then do not buy.
  3. Chase Stop-Loss-Limit order
    • If there is no open order but have coins that bought by the buy signal, then check
      • Get last purchase price
      • If current closed price is higher than minimum profit percentage * last purchase price, then place Stop-Loss-Limit order.
      • Otherwise, do not place Stop-Loss-Limit order.
    • If there is an open Stop-Loss-Limit order, then check current closed price.
      • If current closed price is higher than stop price, then cancel the open order. So it can be place new Stop-Loss-Limit order.

Environment Parameters

Use environment parameter to adjust parameters. Checkout /config/custom-environment-variables.json

How to use

  1. Create .env file based on .env.dist.
  2. Check docker-compose.yml for BINANCE_MODE environment parameter
  3. Launch docker composedocker-compose up -dor using latest build imagedocker-compose -f docker-compose.server.yml up -d
asciicast
  1. Open browser http://0.0.0.0:8080 to see frontend statistics

Frontend + WebSocket

React.js based frontend communicating via Web Socket

  • List monitoring coins with buy/sell signals
  • Manage settings
Frontend MobileSetting
Screenshot1Screenshot2
Frontend Desktop
Screenshot

Trades

First trade

ChartOrder History
Screenshot1Screenshot2

Last 30 days trade

Trade HistoryPNL Analysis
Screenshot3Screenshot4

Todo

  • [x]  Support multiple symbols
  • [x] Removed unused methods – Bollinger Bands, MACD Stop Chaser
  • [x] Support maximum purchase amount per symbol
  • [x] Develop backend to send cache values for frontend
  • [x] Develop simple frontend to see statistics

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.