intermediate 中等回撤 ~5 trades/mo

均值回归

均值回归 EA 在价格偏离其均值达到可测量的距离后逆势入场,目标是价格回归。这个标签只描述入场。本站公开的六只当中,胜率从 40.26 % 到 79.17 %,盈亏比相差六倍,可六只的盈利因子却都落在 1.25 到 1.50 之间。

机制

EA 测量价格相对移动平均线或布林中轨偏离了多远,通常以标准差或 ATR 单位计量,再用处于极端区域的振荡指标确认这次拉伸。入场逆着行情方向;目标是均值本身,止损设在会推翻回归假设的水平之外。真正决定成绩单形状的,是这两个离场之间的距离。目标贴近入场会带来高胜率和远低于 1 的盈亏比;目标放在完整均值处则相反。本站公开的六只均值回归 EA 每月交易 1.5 到 5.45 次,中位盈利单持仓 48 到 187 小时。

适配性

最适合那些大部分时间待在区间内、并会回到可定义中枢的品种——历史上是瑞郎交叉盘。不过本站公开的均值回归 EA 实际跑在 AUD/CAD、USD/JPY、GBP/AUD、GBP/JPY 和 EUR/GBP 上。在趋势阶段的动量货币上结构性地不适用:拉伸会继续拉伸,逆势仓位被迫扛着一段不会回头的行情。ADX 低于 25 这类趋势过滤几乎是必备。适合能够接受长连亏的交易者——这些记录中最糟的是连续十一笔亏损——并且会先看止损距离、再看胜率。

备注

均值回归押的是弹性而不是动量:一个被拉离均值很远的价格,弹回来的可能性大于继续拉伸。EA 会等待一个统计上显著的偏离——通常是相对移动平均线或布林中轨的 1.5 到 2.5 个标准差。它用处于极端区域的振荡指标确认这次拉伸,随后逆着行情入场,目标就是均值本身。

这描述的是入场,而入场正是买家能看懂的那部分。通常被硬安在它头上的那句描述——均值回归系统赢下大多数交易,偶尔亏一笔大的——是一个关于数字的主张,而不是关于机制的主张。这意味着它可以被检验,而不是被复述。拿我们自己的数据、也就是本站公开的六只均值回归 EA 去检验,这句话在其中两只身上成立。本页讲的是这台机器在 MetaTrader 5 里如何搭建、那些记录关于结果形状说明了什么,以及在投入资金之前如何对它做压力测试。

运作方式:入场是一段距离,离场才是成绩单

入场这一侧是一次测量,而三种常见构造几乎可以互换:

  • 相对移动平均线的偏离。 价格距离某条均线达到设定数量的 ATR 单位或标准差,被当作”这段行情已经过度延展”的陈述。便宜,而且整套策略一行写完。
  • 触及布林带或收盘于带外。 同一个想法,只是偏离已经替你算好。收盘于带外比触及更严格,它改变交易笔数的幅度大于改变胜率的幅度。
  • 带有状态过滤的振荡指标极值。 RSI 或随机指标越过阈值,并以足够低的 ADX 读数为条件,用来说明市场并不处于趋势。这个过滤器就是”均值回归 EA”与”一路对抗趋势直到被全部止损出局的 EA”之间的差别。

成绩单真正成形的地方是离场,而离场有两个:位于均值或均值附近的目标,以及位于推翻假设的水平之外的止损。每笔交易的期望值是 胜率 × 平均盈利 − (1 − 胜率) × 平均亏损。这是算术,不是发现——但有用的推论是:一旦两个离场距离被固定,这两项就不再彼此独立。把目标拉近入场,多数交易会在噪音把它们震出去之前触及目标:胜率上升,平均盈利缩到平均亏损之下。把目标推到完整均值处,能走完全程的交易变少:胜率下降,盈亏比升到 1 以上。

两者都是均值回归;两者都在逆着一次拉伸入场。它们却给出看起来像两种不同策略的成绩单,下面的数字就是这件事在现实中的样子。

公开的均值回归记录说明了什么

表中每一个数字都来自各 EA 页面上公开的已平仓交易清单——合计 1,994 笔,来自始于 2019 年、延续到 2026 年 3 月的记录。完整的回测运行、参数与测试条件公布在本站的方法论页面。

EA品种 / 周期交易数胜率盈亏比(平均盈利 ÷ 平均亏损)盈利因子中位持仓,盈利 ÷ 亏损最长连亏
BeaconAUD/CAD M1538479.17 %0.321.250.41×3
BallastEUR/GBP H130778.50 %0.371.400.49×3
LanternfishUSD/JPY M540762.65 %0.751.292.91×3
WindroseAUD/CAD H110159.41 %0.901.310.56×4
Lattice WeaveGBP/AUD H149246.34 %1.741.502.66×11
Tidewell SlackGBP/JPY M1530340.26 %2.001.351.62×10

由此得出四点,而坊间说法一点都没预测到。

高胜率不是这套策略的属性。 六只横跨 40.26 % 到 79.17 %,没有一只落在这套策略惯常被推销时所用的 65-75 % 区间。它们的中位数 61.03 %,高于本站公开的趋势跟踪 EA 的中位数(55.90 %)。无论是什么把均值回归 EA 与趋势 EA 区分开来,它都没有出现在多数买家用来排序的那一列里。

胜率和盈亏比是同一个旋钮的两头读数。 把六只按胜率排序,盈亏比会自己排成完全相反的顺序。79.17 % 的胜率配 0.32 的盈亏比,接着 78.50 % 配 0.37,62.65 % 配 0.75,59.41 % 配 0.90,46.34 % 配 1.74,40.26 % 配 2.00。六中有六,没有例外。这不是关于市场的发现。这是目标相对止损移动时必然发生的事——也是为什么一个不带盈亏比的胜率几乎不携带任何信息。

这个旋钮拧不动的是盈利因子。 盈亏比在组内相差六倍。而盈利因子是 1.25、1.29、1.31、1.35、1.40 和 1.50——整组都在 0.25 的跨度之内。而且六只里最高的那个胜率依然产生最低的那个盈利因子,其余的排序则毫无规律。把目标放近,买到的是一份看起来更平滑的成绩单,代价付在盈利尺寸上;放远则相反;两者都没有变成一条实质上更好的规则。

回归是盈利单慢慢完成的事。 这套策略被描述为快速止盈、扛住亏损,那样的话中位盈利持仓时间应当短于亏损持仓时间。这在六只里对三只成立。Beacon 持有盈利单的时间是亏损单的 0.41×,Ballast 是 0.49×,Windrose 是 0.56×,与宣传相符。另外三只把盈利单多持有了 1.62× 到 2.91×,组内中位数是 1.09×,而趋势组是 1.10×——只有六份记录时,两组在这条轴上无法区分,而持有盈利单更久的那一半,正是把目标放在完整均值处的那一半。

40.26 %–79.17 %胜率,六只公开的均值回归 EA
1.25–1.50盈利因子,同样这六只——而盈亏比跨度达 6×
11Lattice Weave:最长连亏,胜率为 46.34 %

市场条件:均值回归什么时候有回报,什么时候没有

条件有利于均值回归 EA不利于均值回归 EA
市场状态有可定义中枢、价格会回来的区间不断延展的方向性行情
波动率高但无方向——K 线宽阔,净位移为零扩张并且朝一个方向持续跟进
拉伸本身由会耗尽的流量造成——清淡时段、过度反应由重新定价该品种的信息造成
交易频率有足够多的区间触碰来采样这个优势趋势月份,有效信号寥寥且个个做错
持仓成本回归很快,融资成本无关紧要仓位逆着行情扛了好几天,为犯错支付隔夜利息

糟糕的环境不是下跌的市场,而是有方向的市场,这正是趋势跟踪在区间里失效方式的精确镜像。这种对称性,才是把两者放在一起看而不是当作替代品的诚实理由:它们在不同的天气里亏钱。这也是连亏为什么会扎堆的原因。连续十一笔亏损不是十一个互不相干的错误;那是同一条规则十一次撞上同一段趋势行情。

造成偏离的原因,和偏离的幅度同样重要。在清淡时段被稀薄流动性拉开的价格,是回归的候选。被利率决议拉开的价格已经被重新定价,不存在可以回去的旧均值。没有任何指标能区分这两种情况,这就是为什么新闻过滤在这里比在顺势入场的策略里更重要。

同样的弹性假设也驱动着统计套利:它交易两个相关品种之间的价差,而不是单一品种相对自身均值的偏离。假设完全相同——只是被用在一种关系而不是一个价格上——失效方式也一样:关系一旦不再成立,它就恰好在那一刻崩掉。在 EUR/GBP 这样的单一品种上,被假定的关系就是该品种自身历史与其均值之间的关系。

MT5 中的参数与设置

输入项常见起点它控制什么
MA_Period / BB_Period长到让均值成为一个价位,而不是价格的滞后副本EA 把什么当作价格应当回归的那个值
Deviation(σ 或 ATR 倍数)1.5–2.5σ,或按波动率缩放的等价值价格要拉伸多远入场才成立——控制交易笔数的旋钮
RSI_Period / 阈值仅作确认,不单独充当扳机过滤掉仍在加速的拉伸
ADX_Max25 左右,要测试而不是假定抑制趋势中的入场——本页最重要的一个输入
TakeProfit(到均值的距离)均值本身,或到均值距离的一部分与止损一起决定胜率和盈亏比
StopLoss位于会推翻回归的水平之外均值回归与意外马丁格尔之间的分界线
MaxSpreadPoints略高于该品种的正常点差极端与宽点差总是结伴而来;这一项挡掉最差的成交
OncePerBar收盘逻辑请设为 true防止一根拉长的 K 线反复触发同一个信号

有三条 MT5 特有的现实,决定一份漂亮的回测能否在实盘接触中活下来:

  • 止损有最小距离,而这套策略本来就想要一个宽止损。 读取 SymbolInfoInteger(symbol, SYMBOL_TRADE_STOPS_LEVEL) 并据此夹住;对靠近现价的改单,同样处理 SYMBOL_TRADE_FREEZE_LEVEL。一个被经纪商悄悄拒绝的止损,会把一笔风险确定的交易变成一笔敞口无限的交易。
  • 点差恰好在这套策略入场的地方变宽。 它所对抗的那些极端,往往出现在流动性清淡的条件下。用平均点差跑出来的测试,会高估一只入场集中在点差最差时段的 EA 的优势。请用贴近实际的点差或真实 Tick 测试,并且先读建模质量再读利润。
  • 持仓时间比这套策略的名声所暗示的更长。 这些记录里的中位盈利单持有 48 到 187 小时。这让 SYMBOL_SWAP_LONGSYMBOL_SWAP_SHORT 成为一项真实成本而不是舍入误差,而三倍隔夜息的日子各家经纪商并不相同。
  1. 固定入场距离和过滤器,然后别再动它们——你即将测量的成绩单主要由两个离场造就,一次改动全部只会让你什么也学不到。
  2. 用近目标和完整均值目标分别测试同一个入场,并记下各自的胜率、盈亏比和盈利因子。那个对比才是你真正在做的选择。
  3. 从推翻假设的那个水平去设止损,而不是从一个整数出发,并夹到该品种的最小止损距离。
  4. 在同一段时间内,把 ADX 或状态过滤器开着跑一遍、关着跑一遍。如果差别不大,说明测试期内没有真正的趋势,那份结果是未经检验,而不是稳健。
  5. 读一读所得成绩单里的最长连亏,并在投入任何资金之前决定:两倍长的连亏你坐得住吗。

失效模式:均值回归 EA 是怎么亏钱的

  • 拉伸继续拉伸。 这套策略亏钱的常规方式。每一次入场都逆着一段不会回头的行情,而由于规则会反复重新满足条件,亏损是成块到来的。表中那串十一笔亏损就是这种失效模式,不是 EA 坏了。
  • 均值搬了家。 被重新定价的品种有了新的均值,旧的那个不再是一个价位。EA 仍在测量到一个已经不再有意义的数字的距离。
  • 为了躲开亏损而撤掉止损。 把止损放宽,或者用摊低成本取而代之,会把一套风险确定的策略变成一个带着好故事的网格。资金曲线立刻好看起来,尾部风险则变成无限。
  • 把胜率当成安全边际。 在 79 % 胜率、平均亏损为平均盈利三倍的结构下,只有命中率维持住,这套策略才有偿付能力。
  • 在错误的 K 线上测量成本。 入场集中在点差最宽的极端处,跨越多日的持仓要付隔夜利息。两者在一份设定了固定平均点差、且不计融资成本的测试里都是看不见的。
  • 参数被拟合到一段区间样本上。 在没有趋势的时期里优化出来的偏离阈值,到了下一个时期就是错的。相邻取值给出差异巨大的结果,正是这个数字是被拟合出来、而非被选择出来的迹象。

如何在 mt5depot 搭建并压力测试一只均值回归 EA

要组装上面描述的这台机器,你并不需要写 MQL5。一个偏离度量、一个振荡指标确认、一道 ADX 闸门、一个位于均值的目标、一个位于极端之外的止损,全都是无代码构建器里的模块。自己动手搭的理由在于:真正要紧的测试不是”它赚不赚钱”,而是在同一条入场规则上比较两种目标摆放,而没有任何卖家页面会替你跑这个对比。

  • 用近目标和均值目标各测一次同一个入场,比较胜率、盈亏比和盈利因子,而不是只比净利润。
  • 加入趋势过滤器,并在关闭过滤器的情况下也测一遍成绩单,这样你才知道它究竟在做什么。
  • 从证伪水平去设止损,并夹到该品种的最小距离,好让测试器和实盘账户对得上。
  • 用真实 Tick 历史配合贴近实际的点差来测试,因为入场集中在点差最宽的地方;并且要读这次运行的建模质量。
  • 把真实持仓期间的隔夜利息计入——这里记录中的中位盈利单是以天计持有的,不是以分钟计。
  • 读最长连亏,并确认回测期间至少包含一段持续的、与策略对着干的趋势。

均值回归与趋势的对比

均值回归趋势跟踪
假设什么被拉伸的价格会回到它的均值已确立的方向会延续
相对行情的入场逆着它,在极端处顺着它,在确认之后
何时亏钱市场走出趋势,拉伸继续拉伸市场进入区间,行情反复折回
典型离场位于均值或其附近的固定目标移动止损或信号反转
最坏情况一笔仓位、或一串仓位,扛着一段不会回头的行情一长串寻常的亏损
公开胜率中位数61.03 %(六只 EA)55.90 %(五只 EA)
公开最长连亏中位数3.5,最长 114,最长 9
复杂度中级——风险由两个离场距离承担入门——输入项少,难在坐得住

总体上没有哪一边更安全,而它们的失效模式几乎互补:一个需要静止,另一个需要运动。这是同时运行两者的真实理由,但有一条表格无法呈现的但书。一只均值回归 EA 和一只用固定止盈的趋势 EA,并不像它们的标签所暗示的那样不同,因为那时两者都依赖价格停在规则所说的地方。在认定持有两只 EA 就已经分散了什么之前,先确认每一个离场究竟在做什么。

典型货币对

此策略最适合的场景

EA 目录

本目录中 12 个 均值回归 EAs

全部 EAs →

常见问题

什么是均值回归 EA?
均值回归 EA 会等到价格偏离自身均值达到一个可测量的距离,然后逆着这段行情入场,目标是价格回归。这个距离通常表示为相对布林中轨的标准差,或相对移动平均线的 ATR 单位,并用处于极端区域的 RSI、随机指标之类的振荡指标作为确认。止损放在这样一个水平之外:一旦触及,就说明这根本不是拉伸,而是一段趋势的开始。就入场而言,它是趋势跟踪的天然反面,并且在相反的天气里失效。
均值回归 EA 的胜率高吗?
并不可靠地高,而这正是关于该策略最常见的错误假设。本站公开的六只均值回归 EA 记录到的胜率是 79.17 %、78.50 %、62.65 %、59.41 %、46.34 % 和 40.26 %。没有一只落在人们描述均值回归时惯用的 65-75 % 区间里,而六只的中位数 61.03 % 高于本站公开的趋势跟踪 EA 的中位数(55.90 %)。胜率来自目标相对止损放在哪里,而不是来自入场是逆势这一事实。
哪些品种适合均值回归 EA?
教科书答案是结构性区间震荡的交叉盘——EUR/CHF、USD/CHF、EUR/GBP——因为一个不断回到中枢的品种,才给了策略可回归的对象。我们自己公开的均值回归 EA 里,只有一只跑在那份清单上的品种,即 EUR/GBP;其余五只跑在 AUD/CAD、USD/JPY、GBP/AUD 和 GBP/JPY 上。这说明要求比品种名称更窄:真正重要的是那个具体品种在它自己的周期上,花在回归上的时间是否多于花在延展上的时间。请在你打算交易的品种上验证这一点,而不是照搬一份品种清单。
均值回归与网格或马丁格尔 EA 有何不同?
区别在止损。三者都会在不利行情面前累积或持有敞口,而且只要市场配合,三者看起来都在盈利。均值回归 EA 在一个可测量的极端处开一笔仓,如果回归假设被证伪,就以既定的亏损平掉。网格或马丁格尔 EA 应对不利行情的方式是继续加仓,于是亏损只有在账户无力支撑下一次加仓时才被实现。如果一只以均值回归名义出售的 EA 没有止损,或者在亏损仓位上摊低成本,那它就是披着这个标签的另一种策略。
均值回归 EA 的连亏会有多长?
比这套策略的名声所暗示的更长。本站公开的六份记录中,最糟的一次是连续十一笔亏损,出现在胜率 46.34 % 的那只 EA 上。六只最糟连亏的中位数是 3.5,略低于趋势跟踪组的 4,但尾部更长:六只里有两只达到 10 和 11,而趋势跟踪的最大值是 9。逆势策略遭遇坏天气时是一整块连着来的,因为击败一次入场的那个趋势行情,同样会击败下一次。请在给账户入金之前读连亏,而不是在经历它的时候。
为什么该看盈利因子而不是胜率?
因为在这些记录里,胜率会动,盈利因子几乎不动。六只公开的均值回归 EA 在胜率上横跨 40.26 % 到 79.17 %,在盈亏比上相差六倍。可它们的盈利因子是 1.25、1.29、1.31、1.35、1.40 和 1.50——整组只有 0.25 的跨度。六只里最高的那个胜率反而产生了最低的那个盈利因子。胜率和盈亏比描述的是离场被放在哪里;盈利因子更接近这套规则真正赚到的东西。