Automated grid trading bot for Binance, written in Go.
- Places a grid of buy/sell limit orders around a center price
- Dynamically shifts the grid when the market moves significantly
- Pauses trading when drawdown exceeds a configurable limit, resumes on favorable movement
- Places counter orders automatically when limit orders fill
- Persists order and PnL state to disk for crash recovery
- Supports Binance live and testnet environments
make build # build the bot
make run # build and run
make check # build account/volatility checker utility
make test # run all tests
make lint # run golangci-lint
make fresh # clean state files (orders, pnl)Copy config.example.yaml to config.yaml and adjust:
mode: "testnet" # "live" or "testnet"
trading:
pair: "ETHUSDT" # trading pair
priceRange: 600 # total price range for grid (USD)
gridSize: 30 # number of grid levels
tradeAmount: 0.02 # amount per order
maxLoss: 300 # max drawdown before pausing (USD)
maxShifts: 10 # max grid shifts before pausingSee config.example.yaml for the full set of options.
- Go 1.24+
MIT