这是一个基于马丁格尔策略的加密货币自动交易机器人,专为 Backpack 交易所设计。该机器人通过网格交易和马丁格尔级别增加的方式,在市场下跌时逐级增加持仓,在市场反弹时获取利润。
马丁格尔网格交易机器人结合了网格交易和马丁格尔策略的优点:
- 网格交易:在价格波动中自动执行低买高卖
- 马丁格尔策略:随着价格下跌增加投资规模,摊薄平均成本
该机器人适合在震荡市场中使用,特别是对于波动性较高的加密货币交易对。
- 自动网格交易:自动在设定的价格区间内执行买入和卖出操作
- 智能马丁格尔级别:随着价格下跌,智能增加买入金额,降低平均成本
- 灵活的参数配置:支持自定义初始投资、最大级别、利润百分比等参数
- 强大的错误处理:内置重试机制和网络错误处理,提高交易稳定性
- 详细的日志记录:记录每一笔交易和系统运行状态,方便监控和分析
- 交易历史追踪:自动保存交易历史和盈亏情况
- 计划价格优化:使用下单时的计划价格(而非实际成交价格)来决定下次加仓的价格
- 安全机制:内置多种安全检查,防止资金过度使用
- Python 3.7+
- Backpack 交易所账户及 API 密钥
- 克隆代码仓库:
git clone https://github.com/yourusername/backpack-martingale-bot.git
cd backpack-martingale-bot- 安装依赖:
pip install -r requirements.txt
4. 编辑 `.env` 文件,填入您的 API 密钥和交易参数
## 配置说明
编辑 `.env` 文件,配置以下参数:
API_KEY=your_api_key_here API_SECRET=your_api_secret_here
TRADING_PAIR=SOL_USDC PAIR_ACCURACY=2
TOTAL_INVESTMENT=220.0 # 总投资额度 INITIAL_INVESTMENT=5.0 # 初始投资额 MAX_LEVEL=10 # 最大马丁格尔级别 LEVEL_MULTIPLIER=1.3 # 每级投资额的倍数 PROFIT_PERCENTAGE=0.5 # 目标利润百分比 PRICE_DROP_THRESHOLD=1.0 # 价格下跌触发阈值(百分比)
FEE_RATE=0.0008 # 交易所手续费率 MIN_ORDER_QUANTITY=0.01 # 最小订单数量 USE_ALL_BALANCE=false # 是否使用全部余额
### 参数详解
| 参数名 | 描述 | 推荐值 |
|-------|------|-------|
| `TRADING_PAIR` | 要交易的币对 | SOL_USDC, BTC_USDC 等 |
| `PAIR_ACCURACY` | 交易对价格精度 | 2 |
| `TOTAL_INVESTMENT` | 最大总投资额 | 根据您的风险承受能力设置 |
| `INITIAL_INVESTMENT` | 第一级买入的金额 | 总投资额的 2-5% |
| `MAX_LEVEL` | 最大马丁格尔级别 | 8-10 |
| `LEVEL_MULTIPLIER` | 每级增加的倍数 | 1.3-2.0 |
| `PROFIT_PERCENTAGE` | 目标利润百分比 | 0.5-3.0 |
| `PRICE_DROP_THRESHOLD` | 触发加仓的价格下跌百分比 | 1.0-3.0 |
| `MIN_ORDER_QUANTITY` | 最小订单数量 | 根据交易所规则设置 |
## 使用方法
### 启动机器人
```bash
python backpack/grid_trading_bot.py
机器人启动后会生成详细的日志文件 grid_trading.log,您可以通过以下命令实时查看:
tail -f grid_trading.log按 Ctrl+C 停止程序,机器人会安全退出。
- 初始买入:以配置的初始投资额执行第一笔买入
- 设置卖单:买单成交后,以买入价 + 利润百分比设置卖单
- 价格下跌监控:如果价格下跌超过设定的阈值
- 增加马丁格尔级别
- 按照级别倍数增加投资额 (投资额 = 初始投资 × 倍数^级别)
- 取消之前的卖单
- 执行新的买入
- 计算新的平均成本价
- 设置新的卖单(基于新的平均成本价)
- 卖单成交:当卖单成交后
- 记录利润和手续费
- 重置级别和持仓信息
- 开始新的交易周期
本机器人使用下单时的计划价格(而非实际成交价格)来决定下次加仓的价格,这有以下优点:
- 更稳定的加仓间隔
- 避免成交价格波动导致的加仓触发不一致
- 更可预测的交易行为
- 马丁格尔策略在持续下跌的市场中可能导致大量资金投入而无法获利
- 设置合理的
MAX_LEVEL和TOTAL_INVESTMENT以控制最大风险 - 该机器人不保证盈利,请在理解策略风险的前提下使用
- 建议先使用小额资金测试一段时间,熟悉系统行为后再增加投资
- 震荡市场表现最佳,单边牛市或熊市可能表现不佳
A: 参数选择取决于:
- 交易对的波动性:波动大的币种可以设置更高的
PROFIT_PERCENTAGE和PRICE_DROP_THRESHOLD - 资金规模:根据您的资金规模设置
TOTAL_INVESTMENT - 风险偏好:风险承受能力高可以设置更大的
MAX_LEVEL和LEVEL_MULTIPLIER
建议从保守参数开始,逐步调整到适合您的风险偏好。
A: 这是正常现象,表示您设置的价格与市场价格非常接近。机器人会自动处理这种情况:
- 对于买单:略微提高买入价格确保成交
- 对于卖单:略微提高卖出价格避免损失
A: 总资金需求计算公式:
总资金 = 初始投资 × (倍数^最大级别 - 1) / (倍数 - 1)
例如:初始投资 = 5.0, 倍数 = 1.3, 最大级别 = 10:
总资金 = 5.0 × (1.3^10 - 1) / (1.3 - 1) ≈ 213.10
A: 机器人内置了重试机制和错误处理:
- 网络请求失败会自动重试
- 使用指数退避策略减少对API的压力
- 详细日志记录错误情况便于排查
欢迎提交Issue或Pull Request来帮助改进这个项目。如果您有任何问题或建议,请通过以下方式联系:
- 提交Issue
- 发送邮件至:your.email@example.com
本项目采用 MIT 许可证。详见 LICENSE 文件。