Skip to content

Latest commit

 

History

History
141 lines (105 loc) · 3.79 KB

File metadata and controls

141 lines (105 loc) · 3.79 KB

Grid Trader

English | 中文

基于 exchanges 构建的量化网格交易机器人 — 统一的 Go 交易所 SDK。

网格交易在预设价格区间内放置买卖订单。当价格震荡时,订单交替成交,每次循环赚取网格利润。

工作原理

SELL ── $70,000 ─── 网格 5
SELL ── $68,000 ─── 网格 4
       $66,500 ─── (当前价格)
BUY  ── $66,000 ─── 网格 3
BUY  ── $64,000 ─── 网格 2
BUY  ── $62,000 ─── 网格 1
BUY  ── $60,000 ─── 网格 0
  1. 设定价格区间(上下界)和网格数量
  2. 低于当前价 → 挂 BUY 单,高于当前价 → 挂 SELL 单
  3. BUY 成交 → 在上一格挂 SELL(翻转)
  4. SELL 成交 → 在下一格挂 BUY(翻转)
  5. 每次 BUY→SELL 循环赚取一格利润

快速开始

环境要求

  • Go 1.26+
  • 交易所账户及 API 密钥

安装

go install github.com/QuantProcessing/grid-trader@latest

或从源码编译:

git clone https://github.com/QuantProcessing/grid-trader.git
cd grid-trader
go build -o grid-trader .

配置

复制环境变量模板并填入你的交易所凭证:

cp .env.example .env
vim .env
# 编辑 .env 填入 API Key

运行

./grid-trader \
  --exchange BINANCE \
  --symbol BTC-USDT \
  --upper-price 70000 \
  --lower-price 60000 \
  --grid-count 20 \
  --quantity 0.001 \
  --grid-type geometric

参数说明

参数 说明 默认值
--exchange 交易所名称 BINANCE
--symbol 交易对 BTC-USDT
--upper-price 网格上界(必填
--lower-price 网格下界(必填
--grid-count 网格层数 10
--quantity 每格下单量(基础币种) 0.001
--grid-type arithmetic(等差)或 geometric(等比) geometric
--stop-loss 止损价格(-1 = 不启用) -1
--take-profit 止盈价格(-1 = 不启用) -1
--use-post-only 使用 POST-ONLY 挂单获取 Maker 返佣 false

网格类型

  • 等比网格(推荐):相邻价格等比例间隔,适合宽幅区间
  • 等差网格:相邻价格等差间隔,适合窄幅区间

支持的交易所

支持 exchanges 中的所有交易所:

交易所 认证方式 默认报价币
Binance API Key + Secret USDT
OKX API Key + Secret + Passphrase USDT
Aster API Key + Secret USDC
Nado Private Key USDT
Lighter Private Key + Account/Key Index USDC
Hyperliquid Private Key + 账户地址 USDC
StandX Private Key DUSD

如需覆盖默认报价币种,设置环境变量:

EXCHANGES_BINANCE_QUOTE_CURRENCY=USDC

架构

main.go       入口 — 信号处理、适配器工厂、生命周期管理
config.go     CLI 参数解析 + 校验
engine.go     网格引擎 — 下单、成交处理、翻转逻辑
grid.go       网格价格计算(等差 & 等比)

引擎订阅两个 WebSocket 流:

  • OrderBook — 维护本地 BBO,用于网格初始化和止损/止盈监控
  • Orders — 接收成交/撤单事件,触发网格翻转逻辑

带版本号编译

go build -ldflags "-X main.Version=v1.0.0" -o grid-trader .

风险提示

⚠️ 重要

  • 单边趋势会导致一侧所有订单全部成交,积累仓位风险
  • 价格跌破下界将持有最大多头仓位
  • 务必设置 --stop-loss 以限制下行风险
  • 最适合震荡行情,不适合强趋势行情
  • 利润计算为近似值 — 实际盈亏取决于成交价和手续费

开源协议

MIT