Termos de Referência
核心要求 :趋势共振策略 + 严格风控,严禁马丁格尔 / 网格无限加仓
一、基础配置
| 项目 | 要求 |
| 开发平台 | MetaTrader 5 ( MT5 ) |
| 开发语言 | MQL5 |
| 交易品种 | XAUUSD/XAUUSD.c (兼容标准 / 美分账户) |
| 核心周期 | M30 (决策) + D1 (趋势过滤) |
| 账户适配 | ECN/STP 、标准、美分账户 |
| 禁止逻辑 | 马丁格尔加倍加仓、网格无限扛单 |
二、核心策略逻辑
1. 指标组合与开仓条件(需同时满足)
| 模块 | 指标参数 | 触发条件 |
| 趋势判断 | D1 EMA200 (收盘价) | 多头: M30 收盘价> EMA200 空头: M30 收盘价< EMA200 |
| 位置信号 | M30 布林带( 20,2 ) | 多头:价格触碰 / 略下穿下轨空头:价格触碰略上穿上轨 |
| 震荡过滤 | M30 MFI ( 14 ) | 开仓仅允许 20≤MFI≤80MFI > 80 禁多; MFI < 20 禁空 |
| 量价验证 | M30 OBV | 多头:价涨 +OBV 涨空头:价跌 +OBV 跌 |
| 实现要点 | 1. 用 MT5 原生指标,读取已收盘 K 线 2. 指标初始化失败 / 数据不足,禁止开仓 | |
2. 开仓 / 加仓规则
1. 初始手数:按账户资金 0.5% 风险计算,公式:
手数 = ( 账户权益 ×0.5%) ÷ (8 点止损 × 每点每手价值 )
手数需对齐平台最小最大 / 步长限制
2. 加仓(补仓)核心参数与条件:需同时满足以下所有条件方可执行补仓,严禁无规则补仓扩大风险;所有补仓参数开放外部可调,默认值如下:
( 1 )趋势确认:补仓方向与初始持仓方向一致,且 D1 EMA200 趋势未反转(多头补仓需 M30 收盘价仍> EMA200 ,空头补仓需 M30 收盘价仍< EMA200 );
( 2 )价格间隔:与上一笔持仓(初始开仓或上一次补仓)的价格间隔 ≥5 点(默认值,可外部调整范围 3-8 点),避免密集补仓;
( 3 )带宽要求: M30 布林带宽较上一笔持仓时扩大 ≥10% (默认值,可外部调整范围 5%-15% ),确认趋势延续性;
( 4 )指标过滤:补仓时 M30 MFI 仍处于 20≤MFI≤80 区间,且 OBV 量价同步(与持仓方向一致);
( 5 )补仓频次:单方向单组持仓最多补仓 2 次(默认值,可外部调整范围 1-3 次,需同步调整总风险上限);
( 6 )补仓手数:每次补仓手数 = 初始开仓手数(默认值,支持外部设置为初始手数的 0.5-1 倍,需确保总风险合规);
( 7 )时间限制:距离上一笔持仓开仓时间 ≥1 根 M30K 线周期(即 30 分钟),避免短期频繁补仓。
3. 仓位上限:总持仓风险 ≤ 账户资金 3%
3. 平仓规则
| 平仓类型 | 触发条件 | 执行动作 |
| 固定止损 | 价格触达 | 多单 SL= 开仓价 -8 点;空单 SL= 开仓价 +8 点 |
| 分批止盈 | 浮盈 ≥15 点 | 平 50% 仓位,剩余仓位 SL 移至成本价 |
| 中轨出场 | 剩余仓位 +M30 收盘价触布林中轨 | 平掉所有剩余仓位 |
| 紧急平仓 | 重大事件前 10 分钟 | 平所有持仓,当日禁开新仓 |
三、单边行情风控补丁(优先级最高)
1. 单边识别
1. 带宽超限: M30 布林当前带宽>近 20 根均值的 1.5 倍 → 判定大单边
2. 轨位熔断:连续 2 根 M30 收盘价突破布林轨 → 判定极端单边
2. 风控动作
| 单边状态 | 执行动作 |
| 带宽超限 | 禁止加仓;新开仓需价格回踩布林中轨 |
| 轨位熔断 | 禁止所有新开仓;价格回归轨道后解除 |
四、全局资金风控(硬性底线)
1. 单日最大亏损:亏损 ≥ 账户权益 5% → 当日锁仓,禁止开仓 / 加仓,次日解锁
2. 点差 / 滑点控制:点差> 30 点禁开仓;下单设置最大滑点 10-20 点
五、技术实现要求
1. 用 CTrade 类下单,错误处理:仅临时错误重试 1-2 次
2. 程序结构: OnTimer() ( 30 秒 / 次)做信号决策, OnTick() 管订单
3. 日志功能:记录开仓 / 加仓 / 平仓 / 风控触发事件,生成 TXT 日志( CSV 兼容)
4. 可视化面板:图表显示趋势方向、 MFI 值、单边状态、当日亏损、持仓手数
5. 外部参数:开放布林 /MFI 周期、风险比例、点差上限等参数,新增开放加仓相关可调参数(默认值标注):加仓价格间隔(默认 5 点)、布林带宽扩大比例(默认 10% )、最大补仓次数(默认 2 次)、补仓手数倍数(默认 1 倍)、补仓时间间隔(默认 30 分钟),均设合理默认值及可调范围。
六、回测与验收标准
1. 回测配置
- 标的: XAUUSD ;周期:近 2 年;精度:真实 tick
- 点差:真实点差;滑点: 0-1 点
2. 验收指标(必须达标)
| 指标 | 要求 |
| 年化收益率 | ≥30% |
| 最大回撤 | ≤15% |
| 胜率 | ≥50% |
| 单边行情表现 | 无连续加仓扛单,风控触发日志可查 |
| 实盘模拟 | 模拟盘运行 2 周,实盘与回测盈亏曲线偏差 ≤20% |
3. 验收验证
1. 代码审查:无禁止逻辑,风控代码完整
2. 日志核查:关键事件记录清晰
3. 异常测试:点差超限 / 滑点 / 休市场景下 EA 无崩溃