第一个策略尝试
开发者文档
本文档提供了项目的技术细节和开发指南,帮助开发者理解和扩展项目功能。
代码规范
项目遵循以下代码规范:
- PEP 8:遵循Python官方的PEP 8代码风格指南。
- 文档字符串:所有模块、类和函数都应该有文档字符串,说明其功能、参数和返回值。
- 类型注解:尽量使用类型注解,提高代码的可读性和可维护性。
- 异常处理:合理使用异常处理,确保程序的健壮性。
- 日志记录:使用日志记录重要信息,便于调试和问题排查。
加密货币分钟级别T+0交易策略文档
策略概述
本策略针对加密货币高波动特性设计,融合趋势跟踪(MACD)、震荡网格和高频做T三大模块,通过动态市场状态识别(ADX指标)实现多策略协同。采用ATR动态仓位控制与RSI辅助过滤,在BTC/USDT、ETH/USDT等高流动性交易对上实现分钟级别高频套利。
1. 核心参数配置
| 模块 | 参数 | 数值/规则 |
|---|---|---|
| MACD | 快线/慢线/信号线 | 6 / 14 / 5 |
| 零轴阈值 | DIFF距离零轴±0.5 | |
| ADX | 周期 | 14 |
| 趋势阈值 | 动态阈值(过去20周期均值) | |
| ATR | 周期 | 20 |
| RSI | 周期 | 14 |
| 网格 | 基础间距 | 1.5×ATR |
| 高频模式间距 | 1×ATR |
2. 多策略协同规则
2.1 市场状态识别
| 状态 | 条件 | 激活策略 |
|---|---|---|
| 强趋势市场 | ADX > 动态阈值 + DIFF偏离零轴>0.5 | 100% MACD趋势策略 |
| 弱趋势市场 | ADX在15-25区间 | 50%趋势策略+50%网格策略 |
| 震荡市场 | ADX < 15 | 100%网格策略 |
2.2 策略优先级
- 趋势策略信号优先于网格策略
- 做T操作需同时满足:
- RSI超买/超卖(>70/<30)
- 价格偏离5周期均线±2%
3. 动态仓位管理
3.1 基础仓位公式
| 策略类型 | 仓位计算公式 | 风险限制 |
|---|---|---|
| 趋势策略 | 1% × (基准ATR/当前ATR) | 单笔≤1.5% |
| 网格策略 | 0.3% × (20周期波动率/当前波动率) | 总持仓≤3% |
| 做T策略 | 5%-10%当前仓位 | 单日≤3次 |
3.2 复合仓位控制
- 总风险暴露 ≤ 15% (趋势5% + 网格5% + 做T5%)
- 单日最大亏损熔断:2% → 停止交易4小时
4. 策略模块详解
4.1 MACD趋势策略(强趋势市场)
入场条件:
- 做多:
(DIFF > DEA) & (DIFF > 0.5) & (RSI < 65) & (能量柱连续3周期放大) - 做空:
(DIFF < DEA) & (DIFF < -0.5) & (RSI > 35) & (能量柱连续3周期缩小)
出场规则:
- 移动止损:最高价/最低价回撤2×ATR
- 趋势衰竭信号:DIFF与DEA间距缩小50%
4.2 智能网格策略(震荡市场)
网格部署规则:
graph TD
A[MACD金叉] --> B[计算基准价=当前价-1×ATR]
B --> C[向下部署3个买网格]
C --> D[间距=1.5×ATR]
D --> E[止盈=1.5×间距]
F[MACD死叉] --> G[计算基准价=当前价+1×ATR]
G --> H[向上部署3个卖网格]
H --> I[间距=1.5×ATR]
I --> J[止盈=1.5×间距]
熔断机制:
- 单网格亏损达0.5% → 暂停该方向新网格
- 总网格亏损1% → 清空全部网格仓位
4.3 高频做T策略
操作矩阵:
| 主策略状态 | 做T方向 | 触发条件 | 仓位 |
|---|---|---|---|
| 趋势多头 | 减持 | RSI>70 & 价格>上轨布林带 | 10% |
| 补仓 | RSI<40 & 价格回踩5周期EMA | 5% | |
| 趋势空头 | 减持 | RSI<30 & 价格<下轨布林带 | 10% |
| 补仓 | RSI>60 & 价格反弹至5周期EMA | 5% |
5. 风险控制体系
5.1 多层熔断机制
graph LR
A[单笔亏损0.8%] --> B[暂停同方向交易]
B --> C[累计亏损1.5%] --> D[降低仓位50%]
D --> E[单日亏损2%] --> F[全天停止交易]
5.2 异常波动应对
- 波动率突变检测:
if (当前ATR / 过去3周期ATR均值) > 2: 启动保护模式:平仓50%仓位,网格间距扩大2倍 - 黑天鹅事件响应:
- 价格5分钟波动>5% → 市价单清仓
- 交易所API异常 → 切换备用数据源
6. 技术实现方案
6.1 系统架构
graph TB
A[交易所WS API] --> B[实时数据处理]
B --> C[策略引擎]
C --> D[信号生成]
D --> E[订单管理系统]
E --> F[风险控制模块]
F --> G[交易所REST API]
6.2 关键功能
- 订单智能路由:
- 常规行情:冰山委托(隐藏量=订单量30%)
- 快速行情:限价单+市价单组合(价差>0.2%时触发)
- 状态持久化:
- 每10秒保存策略状态(持仓/挂单/风控参数)
- 断线重连后自动恢复策略上下文
7. 回测与优化指南
7.1 回测数据集
| 交易对 | 时间范围 | 特殊事件标记 |
|---|---|---|
| BTC/USDT | 2020.01-2023.08 | 2021.05暴跌、2022.11FTX事件 |
| ETH/USDT | 2021.01-2023.08 | The Merge升级 |
7.2 优化目标
| 指标 | 目标值 | 权重 |
|---|---|---|
| 年化收益率 | >120% | 30% |
| 最大回撤 | <15% | 25% |
| 夏普比率 | >2.5 | 20% |
| 胜率 | >55% | 15% |
| 单日操作次数 | <20次 | 10% |
7.3 参数优化方法
- 网格搜索:
params_grid = { 'macd_fast': [5,6,7], 'macd_slow': [13,14,15], 'adx_threshold': [14,15,16], 'grid_spacing': [1.3,1.5,1.7] } - 遗传算法优化:
- 种群数量:50
- 迭代次数:100
- 适应度函数:夏普比率×0.6 + 胜率×0.4
8. 上线部署流程
- 模拟阶段(1个月):
- 对比策略表现与人工交易的偏离度
- 监控异常订单比例(<0.1%)
- 小资金实盘(0.5BTC):
- 验证滑点控制有效性
- 调整高频做T的时间衰减参数
- 全量部署:
- 每日开盘前自动校准参数
- 设置人工干预开关(Telegram Bot指令)
策略开发者备注:建议使用Python+PostgreSQL实现,采用异步IO架构确保低延迟。关键参数应设计为运行时可动态调整模式。
浙公网安备 33010602011771号