关键词:网格交易机器人、Python、加密货币、自动化交易、策略回测、CCXT、套利策略、风险管理
一、项目概览:3 分钟了解开源网格交易机器人
这款全开源的 网格交易机器人 基于 Python3 构建,可在加密货币现货与衍生品市场运行。通过 CCXT 统一 API,开箱即支持数十家交易所,既能实盘下单,也支持离线历史数据回测、纸面模拟及 Docker 容器化部署。开发者为核心逻辑设计了模块化的“网格策略引擎”,只需一次配置即可在 回测 → 纸面 → 实盘 之间无缝切换。
主要亮点
- 三种运行模式:Backtest、Paper Trading、Live
- 算术 / 几何 + 简单网格 / 对冲网格双重组合
- 可视化 Grafana 面板实时跟踪 ROI、最大回撤、持仓分布
- 0.1 秒级撮合,支持 1m~1d 合计 12 档时间粒度
- 按 SL/TP、VWAP、持仓风控等多维度风险模块
- Makefile 与 Docker Compose 一键运行,DevOps 友好
二、网格交易原理拆解:算术网格 vs 几何网格
1. 算术网格(Arithmetic Grid)
价格间距相等,策略稳定,适合波动相对温和的 BTC/USDT、ETH/USDT 等主流币。
- 设定:当前价 3000 USDT,间距 50 USDT
- 若行情在 2700–3300 间震荡,通过买 2900、2950,卖 3050、3100 实现低买高卖。
2. 几何网格(Geometric Grid)
价格间距呈几何倍数扩张,更适合高波动性“妖币”。
- 设定:当前价 100 USDT,比例 5 %,则网格高度 95、100、105、110.25……
- 价格单边火箭拉升时,可捕捉更大行情。
3. 简单网格 vs 对冲网格
- 简单网格:独立挂单,盈亏清晰,新手友好。
- 对冲网格:成双买单–卖单对冲,降低系统性跳空风险,需更高资金利用技巧。
实操提示:在网格设置过程中,务必优先考虑资金费率、爆仓风险与 API 频率限制,👉 点击了解 5 分钟网格参数优化法。
三、环境准备与快速安装
1. 系统要求
- Python ≥3.10
- uv ≥0.2(推荐)或 venv + pip
2. 一键克隆与依赖安装
git clone https://github.com/jordantete/grid_trading_bot.git
cd grid_trading_bot
# 推荐使用 uv(超快依赖解析)
uv sync --all-extras --dev若使用传统 venv:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt3. 额外可选
- Docker & Docker Compose(用于日志可视化)
- 历史 K 线数据文件(CSV、Parquet、Binance 导出)
四、核心配置:JSON 模板逐项拆解
根目录 config/config.json 样例如下——只改两处即可立刻跑回测。
{
"exchange": {
"name": "binance",
"trading_fee": 0.001,
"trading_mode": "backtest"
},
"pair": {
"base_currency": "SOL",
"quote_currency": "USDT"
},
"trading_settings": {
"timeframe": "1m",
"period": {
"start_date": "2024-08-01T00:00:00Z",
"end_date": "2024-10-20T00:00:00Z"
},
"initial_balance": 10000,
"historical_data_file": "data/SOL_USDT/2024/1m.csv"
},
"grid_strategy": {
"type": "simple_grid",
"spacing": "geometric",
"num_grids": 8,
"range": {
"top": 250,
"bottom": 200
}
},
"risk_management": {
"take_profit": {
"enabled": false,
"threshold": 300
},
"stop_loss": {
"enabled": false,
"threshold": 150
}
},
"logging": {
"log_level": "INFO",
"log_to_file": true
}
}参数速记表
- num_grids:8–20 之间效果较均衡
- range:可根据 ATR(14) 乘以 2~3 动态计算
- take_profit/stop_loss:建议实盘必开;SL=1.2×ATR,TP=3×ATR
五、三种运行场景、一行命令搞定
1. 回测跑批
uv run python main.py --config config/eth_grid.json --save_performance_results results/eth_202410.json --no-plot2. 多配置并行
uv run python main.py \
--config config/btc_arith.json config/btc_geom.json \
--save_performance_results results/btc_compare.json3. 纸面模拟(实时但不真金白银)
"trading_mode": "paper"六、可视化监控:Docker Compose 一站式日志方案
docker-compose up -d启动 Loki + Promtail + Grafana- 访问
http://localhost:3000用.env里设置的用户名/密码登陆 - 导入
grafana/dashboards/grid_trading_bot_dashboard.json直接显示收益分布、滑点与风险指标
提示:Promtail 会自动监听bot.log;如需保留 30 天日志,请在docker-compose.yml开启retention。
七、实战案例:SOL/USDT 7 天盈利曲线
场景设定:
- 初始资金 10000 USDT
- 网格间距 5 %(几何)
- 8 层上下网格
- 回测周期 2024-08-01 至 2024-08-08
结果摘要
- 理论 ROI:6.2 %
- 最大回撤:-1.8 %
- 无爆仓、手续费后净盈利 616 USDT
仅作教学示例,不构成投资建议。
八、常见问题 FAQ
Q1:新手选算术还是几何网格?
A1:波动性低的主流币优先算术;前半仓测试法,波动率高时自动切换几何,降低踩空风险。
Q2:需要付交易所手续费吗?
A2:是的。配置里务必填正确费率,否则回测 ROI 被高估。可联系交易所申请 VIP 返佣。
Q3:如何避免 API 被限频?
A3:在默认的 ccxt.rateLimit 上提供额外缓冲,并将 timeframe 设置为 ≥5min 的中周期可显著降低调用频率。
Q4:最大的资金坑点在哪?
A4:极端单边行情的“满格托单”会造成巨大浮动回撤。建议开启 对冲网格 并预留 30 % 保证金。
Q5:能否做对冲套利?
A5:项目当前不提供跨交易所搬砖接口,但你可以在多个交易所部署不同机器人分别跑出单,再做风险对冲。
Q6:配置太多怕填错?
A6:使用社区在线的“一键网格器”,在浏览器中可视化拖动即可输出标准 JSON,简单易用。
九、贡献与免责说明
本项目采用 MIT 协议可任意商用与二次开发。开发者不对因使用本软件造成的任何损失负责。实盘前请务必:
- 先用 Paper Trading 跑满 72 小时
- 逐笔核对成交价与挂单一致性
- 采用分批加仓法,单币仓位不超过本金的 5 %
祝各位交易顺利,享受算法带来的复利魅力!