Exp_ROC2_VG
该EA使用双速率变化(ROC2_VG)自定义指标,通过两个不同周期的可配置动量类型计算(MOM、ROC、ROCP、ROCR、ROCR100)生成交叉信号来开仓和平仓买卖方向的头寸。具备资金管理选项、止损止盈、信号反转功能,并仅在新K线时处理信号以提高效率。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
这个 EA 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该策略基于双动量指标交叉的核心概念,使用两个不同周期(默认8和14)的ROC类型指标,当快速动量线向上穿越慢速动量线时产生买入信号,向下穿越时产生卖出信号。入场条件为:快速指标线从下方穿越慢速线(金叉)时买入开仓,从上方穿越(死叉)时卖出开仓,信号仅在指定K线(SignalBar)上检测且需前一K线确认穿越。出场条件包括:反向穿越信号触发平仓、止损(默认1000点)和止盈(默认2000点)。仓位管理通过MM参数和MMMode枚举支持多种模式,包括固定手数、基于余额百分比、基于可用保证金百分比等。资金管理依赖于TradeAlgorithms.mqh库提供的标准化函数,支持5种保证金计算模式。策略还提供了信号反转功能(Invert),可将买卖信号互换,适用于逆势交易场景。
优势
- 支持5种动量计算类型(MOM/ROC/ROCP/ROCR/ROCR100),策略灵活度高
- 具有完整的止损止盈设置和多种资金管理模式,风险控制手段较全面
- 仅在新K线时处理信号,避免重复交易和tick级别过度交易
- 提供信号反转功能,可适应不同市场环境
- 可独立控制买入卖出的开仓和平仓开关,灵活度高
劣势
- 依赖外部自定义指标ROC2_VG和库文件TradeAlgorithms.mqh,缺少这些文件则无法运行
- 止损1000点和止盈2000点的默认值偏大,在H4周期下可能不适合所有品种
- 没有扩展过滤机制(如趋势确认、波动率过滤),纯动量交叉容易在震荡市中频繁假信号
- 缺少最大持仓数限制和单日最大亏损限制等风控措施
- CopyBuffer仅读取2个数据点做穿越判断,在数据加载不完整时可能产生错误信号
改进建议
- 增加趋势过滤器(如大周期均线方向判断),避免在震荡行情中频繁开仓
- 添加最大同时持仓数限制和账户级别风险控制(如最大回撤限制、每日最大亏损限制)
- 增加指标数据有效性的额外检查,避免CopyBuffer返回不完整数据时产生错误信号
风险评估
总体风险: 中等
- 纯动量交叉策略在震荡市中容易产生频繁假信号导致连续亏损
- 默认止损1000点对于某些品种可能过大,单笔亏损可能较显著
- 缺少最大持仓数和账户风险上限控制,极端行情下风险敞口不可控
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理参数,用于计算交易手数 |
MMMode | LOT | 保证金计算模式(固定手数、余额百分比等) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许买入开仓 |
SellPosOpen | true | 是否允许卖出开仓 |
BuyPosClose | true | 是否允许买入平仓 |
SellPosClose | true | 是否允许卖出平仓 |
Invert | false | 是否反转买卖信号 |
InpInd_Timeframe | PERIOD_H4 | 指标计算的时间周期 |
ROCPeriod1 | 8 | 第一个ROC指标的周期 |
ROCType1 | MOM | 第一个ROC指标的类型 |
ROCPeriod2 | 14 | 第二个ROC指标的周期 |
ROCType2 | MOM | 第二个ROC指标的类型 |
SignalBar | 1 | 用于检测信号的K线索引 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。