EA-1085 · 均值回归

Divergence Trader

该EA基于快速和慢速简单移动均线之间的背离进行交易。当背离值在正值定义范围内时开多仓,在负值定义范围内时开空仓。包含移动止损、保本止损、账户整体盈亏平仓以及加仓功能。

打开交互版(权益曲线、切换品种)

基本信息

风险中等
爆仓风险低
评分★★☆☆☆
类型交易型 EA
周期M15, H1, H4, D1
指标SMA
作者Integer

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD0.00%0.00%0.00%0—————暂不支持转换
GBPUSD0.00%0.00%0.00%0—————暂不支持转换
USDJPY0.00%0.00%0.00%0—————暂不支持转换
XAUUSD0.00%0.00%0.00%0—————暂不支持转换

这个 EA 从未交易的原因:转换后没有留下任何开仓规则。

由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。

爆仓风险: 未发现爆仓模式

代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。

高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →

策略分析

策略概念基于两条不同周期的SMA(默认7和88)之间的背离值,通过计算当前背离与上一期背离的变化率来判断市场动能的衰减,属于均值回归逻辑。入场条件为:买入信号要求背离值在DVBuySell(0.0011)到DVStayOut(0.0079)之间,卖出信号要求背离值在负DVStayOut到负DVBuySell之间,即只在中度背离时入场,过度背离时观望。出场条件依赖固定止损止盈(默认550点),另支持移动止损和保本止损功能,但SignalCloseBuy和SignalCloseSell始终返回false,缺少主动平仓信号。仓位管理使用固定手数(默认0.1手),MultyOpen允许加仓但受MaxVolume(0.5手)限制且仅允许同方向加仓。资金管理方面有账户整体盈亏平仓功能(BasketProfit/BasketLoss),可在达到指定盈利或亏损时关闭所有持仓。

优势

  • 背离区间设计合理,设有观望区间(DVStayOut),避免在极端背离时盲目入场
  • 包含完整的止损止盈检查机制,确保订单符合交易所最小止损距离要求
  • 账户整体盈亏保护功能可防止极端行情下的过度亏损或锁定整体利润
  • 代码结构清晰,函数分工明确,易于理解和修改
  • 使用MQL5标准库类(CTrade、CSymbolInfo等),符合现代MQL5编程规范

劣势

  • SignalCloseBuy和SignalCloseSell始终返回false,缺少基于策略逻辑的主动平仓信号,完全依赖止损止盈出场
  • 背离计算方式不够直观,dv1-dv2的公式实际等价于maF2[0]-maS2[0],即上一期的快慢均线差值,可能非作者本意
  • 固定手数没有根据账户余额或风险比例动态调整,缺乏动态仓位管理
  • 没有点差过滤,在高点差环境下频繁信号可能导致不必要的亏损
  • SolveBuySL和SolveBuyTP使用Sym.Ask()计算,但在OnTick中可能已过时,应使用Sym.RefreshRates()后的最新值

改进建议

  • 实现基于背离反转的主动平仓信号,例如当背离从正值转为负值时平掉多仓
  • 修正Divergence()函数的计算逻辑,使其真正反映背离的变化率,并添加注释说明计算含义
  • 添加动态仓位管理,根据账户余额和风险比例自动计算手数
  • 增加点差过滤器,在点差过大时暂停开仓以避免滑点损失

风险评估

总体风险: 中等

  • 背离计算逻辑可能存在错误,导致信号与预期不符
  • 缺少主动平仓信号,在趋势反转时可能依赖止损出场导致较大回撤
  • 固定手数不随账户变化,无法根据风险动态调整仓位
  • DVBuySell和DVStayOut参数为绝对值,在不同品种和波动率环境下可能需要大幅调整

评估得分

代码质量3.0
策略逻辑2.0
风险管理3.0
稳健性3.0
创新性2.0
文档2.0
综合2.5

参数

参数默认值说明
Lots0.1持仓手数
MultyOpenfalse是否允许同方向加仓
MaxVolume0.5最大持仓手数限制
StopLoss550止损点数
TakeProfit550止盈点数
Trailing0移动止损点数,0为禁用
BreakEven0保本止损触发点数,0为禁用
Fast_Period7快速SMA周期
Fast_PricePRICE_OPEN快速SMA应用价格
Slow_Period88慢速SMA周期
Slow_PricePRICE_OPEN慢速SMA应用价格
DVBuySell0.0011最小背离阈值,超过此值才可开仓
DVStayOut0.0079最大背离阈值,超过此值不开仓
BasketProfitONfalse是否启用账户盈利平仓功能
BasketProfit75账户盈利达到此值时平掉所有持仓
BasketLossONfalse是否启用账户亏损平仓功能
BasketLoss9999账户亏损达到此值时平掉所有持仓

同类 EA:均值回归

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。