intermediate 中等回撤 ~5 trades/mo

均值回归

均值回归 EA 在价格偏离其均值达到可测量的距离后逆势入场,目标是价格回归。这个标签只描述入场。在 Builder 记录的参数搜索中,RSI 与布林带两个反转模板各自测试了十二种止损与目标组合,盈利因子一次都没有越过 1.0,连样本内也没有。

AIStrategyMiner EA Builder:用模块拼成的布林带反弹策略

一图看懂

入场是与均值的一段距离

EA 等待价格偏离其平均值约 1.5 至 2.5 个标准差,逆着这段走势入场,并以均值本身为目标。此处的入场条件是触及 2σ 带。

入场是与均值的一段距离 均值回归交易示意图:价格下跌到下方 2σ 带,EA 入场,价格回到均值,目标就在那里。 +2σ 均值 −2σ 入场 目标

一图看懂

默认设置:各反转模板的盈利因子

Builder 在 USD/JPY M5 上一年的基线,默认输入,不做优化。只有顺着趋势方向逢低买入的回调入场,盈利因子(PF)才超过 1.0。

默认设置:各反转模板的盈利因子 柱状图:默认设置下的盈利因子:MA Pullback Buy 1.10,Envelope 0.98,Bollinger Bounce 0.97,RSI Reversal 0.94,Range Filter 0.90,MFI plus StdDev 0.80,并以 1.0 为参考线。 PF 1.0 MA Pullback Buy 1.10 Envelope 0.98 Bollinger Bounce 0.97 RSI Reversal 0.94 Range Filter 0.90 MFI + StdDev 0.80

机制

EA 测量价格相对移动平均线或布林中轨偏离了多远,通常以标准差或 ATR 单位计量,再用处于极端区域的振荡指标确认这次拉伸。入场逆着行情方向;目标是均值本身,止损设在会推翻回归假设的水平之外。这两个离场之间的距离决定了记录的形状。目标贴近入场会带来高胜率和远低于 1 的盈亏比;目标放在完整均值处则相反。无论哪种设置,都无法创造入场本身不具备的优势。

适配性

最适合那些大部分时间待在区间内、并会回到可定义中枢的品种——历史上是瑞郎交叉盘、EUR/GBP 和 AUD/CAD。在趋势阶段的动量货币上结构性地不适用:拉伸会继续拉伸,逆势仓位被迫扛着一段不会回头的行情。趋势或市场状态过滤几乎是必备,而更高周期趋势的方向比振荡指标的水平更重要。适合能够接受成块到来的长连亏、并且会先看止损距离再看胜率的交易者。

备注

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

这描述的是入场,而入场正是大多数人能看懂的那部分。通常被硬安在它头上的那句描述——均值回归系统赢下大多数交易,偶尔亏一笔大的——是关于离场放在哪里的主张,而不是关于机制的主张。本页讲的是这台机器在 MetaTrader 5 里如何搭建,以及 Builder 自己经过测量的反转模板显示了什么。最后讲的是在投入任何资金之前如何对它做压力测试。

运作方式:入场是一段距离,离场决定形状

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

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

离场有两部分:位于均值或均值附近的目标,以及位于推翻假设的水平之外的止损。每笔交易的期望值是 win rate × average win − (1 − win rate) × average loss(胜率 × 平均盈利 − (1 − 胜率) × 平均亏损),而一旦两个离场距离被固定,这两项就不再彼此独立。把目标拉近,胜率上升,平均盈利缩到平均亏损之下。把目标推到完整均值处,则正好相反。

经典的回归布置是近目标加宽止损——用低于 1 的盈亏比换来高胜率。下面测量的十个反转模板默认采用相反的布置,目标是止损的两倍(30/60 或 40/80 点)。这在不计成本时胜率 33.3 % 即可打平,也意味着下面的默认基线,是在一个趋势型离场下测量入场。

Builder 的反转模板在默认参数下显示了什么

EA Builder 会在带有基线的模板卡片上印出实测基线,它的反转模板中有十个带有基线。在我们自己对 Builder 模板所做的默认参数基线中——USD/JPY M5 单次运行一年、默认输入参数、不做优化——大多数模板的盈利因子低于 1.0。反转类也不例外。

测试条件
来源EA Builder 中各模板卡片上印出的基线
品种 / 周期USD/JPY M5(Exness MT5);Dual-Pair 组合交易 EUR/USD 和 GBP/USD
期间2025-06-01 – 2026-06-09
模型M1 OHLC(K 线级别,不是真实 tick)
入金 / 输入参数10,000,模板默认值,不做优化
模板入场止损 / 目标(点)盈利因子交易数
MA Pullback Buy价格高于 EMA 50 0–20 点且 RSI 低于 45,只做多40 / 801.10159
Envelope Reversal买价超出 SMA 20 的 0.1 % 包络线30 / 600.98986
Bollinger Bounce触及 20 周期、2σ 布林带40 / 800.97632
Stoch + BB随机指标在下轨处低于 20(卖出方向对称)30 / 600.96896
Pin Bar Reversal看涨 Pin Bar 且 RSI 低于 35,只做多40 / 800.96179
RSI ReversalRSI 14 低于 30 / 高于 7030 / 600.94682
Range Filter ReversalRSI 30/70,仅当 10 根 K 线的区间为 10–80 点时40 / 800.90573
MFI Reversal + StdDevMFI 20/80,仅当 StdDev 10 低于 StdDev 40 时40 / 800.80362
3-Strategy Portfolio (Mean-Reversion Mix)RSI + 布林带 + 包络线,合在一只 EA 里与各组成部分相同0.922,287
Dual-Pair RSI Basket在 EUR/USD 和 GBP/USD 上的 RSI 30/70,最多四笔持仓30 / 600.8712,953

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

离场旋钮改变的是形状,不是优势。Builder 记录了在 USD/JPY H1 上对 RSI Reversal 和 Bollinger Bounce 所做的止损与目标搜索。每个模板都用十二种组合——止损 20 到 50 点、目标 20 到 100 点——在三个窗口上运行:2018–2021、2022–2024,以及 2025 年 1 月 – 2026 年 6 月。两个模板中样本内最佳的盈利因子是 0.91。这张网格既包括近目标,也包括远目标。当没有任何一种摆放能在它被选出的那个窗口里获胜时,入场就没有什么可以让离场去塑造的。

过滤器并不会自动带来改善。Range Filter Reversal 在 RSI 30/70 入场上加了一道 10 根 K 线区间的闸门,得分 0.90,而单纯版本为 0.94——不过两者的止损和目标也不同,所以这不是一组干净的对照。MFI Reversal + StdDev 只在波动率收缩时逆势入场,以 0.80 成为表中最弱的单品种模板。一道去掉交易的闸门,去掉的既有坏交易,也有好交易。

表中唯一高于 1.0 的模板,只在趋势方向上逢回调入场。MA Pullback Buy 只在价格位于 50 周期 EMA 之上时逢低买入,在 159 笔交易中得分 1.10。它是一个回调入场——加了趋势过滤的回归入场——从不站在更长期走势的对立面。它仍未达到 Measure 面板印出的合格线(盈利因子至少 1.2、至少 60 笔交易、回撤不超过 20 %)。

叠加多种反转方法会让风险更集中。三种方法的组合得分 0.92——并不比它的组成部分好,因为三者都在对抗同一次拉伸。Dual-Pair RSI Basket 在两个相关的货币对上运行同一条 RSI 规则,最多同时持有四笔仓位。它产生了 12,953 笔交易和 -36.38 % 的回撤,是 Builder 基线中所有模板里最深的。相关的反转仓位,是同一个赌注下了好几次。

0.91RSI 与布林带反转,12 种止损/目标设置中的样本内最佳 PF
1.10MA Pullback Buy——表中唯一高于 1.0 的模板
-36.38 %Dual-Pair RSI Basket 的回撤——一条规则用在两个相关货币对上

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

条件有利于均值回归 EA不利于均值回归 EA
市场状态有可定义中枢、价格会回来的区间不断延展的方向性行情
波动率偏高但无方向——K 线宽阔,净位移为零扩张并且朝一个方向持续跟进
拉伸本身由会耗尽的资金流造成——清淡时段、过度反应由重新定价该品种的信息造成
更高周期趋势走平,或逆势入场的方向与之一致强劲,且与逆势入场相反
持仓成本回归很快,融资成本无关紧要仓位逆着行情扛了好几天,为犯错支付隔夜利息

糟糕的环境不是下跌的市场,而是有方向的市场,这正是趋势跟踪在区间里失效方式的精确镜像。两者在不同的天气里亏钱。这也是连亏为什么会扎堆的原因。连续十笔亏损不是十个互不相干的错误;那是同一条规则十次撞上同一段趋势行情。

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

同样的弹性假设也驱动着统计套利,只是被用在两个品种之间的价差上,而不是单一价格上,而它失效的方式也一样。在 EUR/GBP 这样的单一货币对上,被假定的关系就是该货币对自身历史与其均值之间的关系。

MT5 中的参数与设置

在 Builder 中,下面每一项都是一个带有自身输入参数的积木,每个取值都会成为编译后 EA 的输入参数。

积木与输入参数常见起点它控制什么
Bollinger Bands / Envelope period、deviation长到让均值成为一个价位,而不是价格的滞后副本EA 把什么当作价格应当回归的那个值
RSI / Stochastic / MFI 阈值仅作确认,不单独充当扳机过滤掉仍在加速的拉伸
Market Regime Filter Allowed regime = RangeADX 阈值 25 左右,要测试而不是假定抑制趋势中的入场——本页最重要的一个输入
MA Distance Filter Price side、Max pips (0=off)只在更长周期均线的一侧逆势入场把逆势入场变成回调入场
Open Buy / Open Sell TP (pips)均值本身,或到均值距离的一部分与止损一起决定胜率和盈亏比
Stop Loss SL Mode位于推翻假设的水平之外,或用 ATR 倍数均值回归与意外马丁格尔之间的分界线
Spread Filter Max Spread (points)略高于该品种的正常点差极端与宽点差总是结伴而来;这一项挡掉最差的成交
Position Filter Max Positions每个品种 1 笔阻止规则把同一次逆势入场层层叠加

有三条 MT5 特有的现实,决定一份看好的回测能否经受实盘考验:

  • 止损有最小距离,而这套策略本来就想要一个宽止损。经纪商会拒绝比 SYMBOL_TRADE_STOPS_LEVEL 更近的止损。Builder 生成的 EA 在修改持仓之前会检查这个水平以及 SYMBOL_TRADE_FREEZE_LEVEL,并保留当前价位,而不是发出会被拒绝的请求。
  • 点差恰好在这套策略入场的地方变宽。它所对抗的那些极端,往往出现在流动性清淡的条件下。用平均点差跑出来的测试,会高估一只入场集中在点差最差时段的 EA 的优势。请用贴近实际的点差或真实 tick 点差测试,并且先读建模质量再读利润。
  • 持仓时间比这套策略的名声所暗示的更长。一次要花好几天的回归,每晚都要支付 SYMBOL_SWAP_LONG 或 SYMBOL_SWAP_SHORT,而三倍隔夜息的日子各家经纪商并不相同。
  1. 固定入场和过滤器,然后别再动它们——一次改动全部只会让你什么也学不到。
  2. 用近目标和完整均值目标分别测试同一个入场。记下各自的胜率、盈亏比和盈利因子;如果两者都没有越过 1.0,就停止调离场,去改入场。
  3. 从推翻假设的那个水平去设止损,而不是从一个整数出发。
  4. 在同一段时间内,把状态或趋势过滤器开着跑一遍、关着跑一遍。如果差别不大,说明测试期内没有真正的趋势,那份结果是未经检验,而不是稳健。
  5. 读一读所得记录里最长的那段连亏,并在投入任何资金之前决定:两倍长的连亏你坐得住吗。

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

  • 拉伸继续拉伸。这套策略亏钱的常规方式。每一次入场都逆着一段不会回头的行情,而由于规则会反复重新满足条件,亏损是成块到来的。
  • 均值搬了家。被重新定价的货币对有了新的均值,而 EA 仍在测量到旧均值的距离。
  • 为了躲开亏损而撤掉止损。把止损放宽,或者用摊低成本取而代之,会把一套风险确定的策略变成一个带着好故事的网格。资金曲线立刻好看起来,尾部风险则变得没有上限。
  • 把相关的仓位当成分散。一条反转规则用在两个相关的货币对上,就是同一个赌注下了两次。Dual-Pair 组合 -36.38 % 的回撤,就是这种情况在默认参数下的样子。
  • 调离场去挽救入场。当没有任何止损与目标组合能在样本内获胜时,搜索得再用力,也只会找到一个拟合出来的结果。
  • 在错误的 K 线上测量成本。入场集中在点差最宽的极端处,跨越多日的持仓要付隔夜利息。两者在一份设定了固定平均点差、且不计融资成本的测试里都是看不见的。

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

要组装上面描述的这台机器,你并不需要写 MQL5。偏离度量、振荡指标确认、状态闸门、位于均值的目标、位于极端之外的止损,全都是无代码 Builder 里的积木,而上面的反转模板已经预先接好了线。最快的有用测试,是把 RSI Reversal 和 MA Pullback Buy 并排加载。两者最明显的差别是趋势过滤器,不过阈值、方向和离场也不同——所以请给 RSI Reversal 加一个 MA Distance Filter,其余什么都不改。

  • 用近目标和均值目标各测一次同一个入场,除了胜率之外也比较盈利因子。
  • 加入 Market Regime Filter 或 MA Distance Filter,并在关闭它的情况下也测一遍记录,这样你才知道过滤器究竟在做什么。
  • 按下 Measure,对照印出的门槛做近似检查,然后在 MT5 策略测试器中用真实 tick 和贴近实际的点差运行编译后的 EA。
  • 确认回测期间至少包含一段持续的、与策略对着干的趋势。

由你自己的流程编译出的 .ex5 是免费的。.mq5 源代码属于 Pro,一次性买断,没有订阅——如果你想编辑生成的代码,请查看价格。本站的方法论说明了应当如何解读回测结果。

均值回归与趋势的对比

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

总体上没有哪一边更安全:一个需要静止,另一个需要运动。这是同时运行两者的理由,但有一条表格无法呈现的告诫。均值回归 EA 和使用固定止盈的趋势 EA 都依赖价格停在规则所说的地方,而放在趋势过滤器之后的反转入场,本身就已经是两者各占一半。在认定两只 EA 已经分散了什么之前,先确认每一个离场究竟在做什么。

同一个反转搭两次,一次带过滤、一次不带

在 AIStrategyMiner Builder 中,把入场搭一次纯粹版本、再搭一次放在趋势或行情状态过滤之后的版本,然后在同一份逐笔历史上回测两者。在 Builder 基线中高于 1.0 的唯一模板,正是带趋势过滤的那一个。

  • 为 MetaTrader 5 编译标准 .ex5 文件,并在投入任何资金之前先读出最糟的连亏。

在信任之前,请先在 MetaTrader 5 中检查成品 EA。本页的数字来自你输入的内容,不是结果预测。

AIStrategyMiner EA Builder:画布上相互连接的策略模块,右侧为属性面板

典型货币对

此策略最适合的场景

常见问题

什么是均值回归 EA?
均值回归 EA 会等到价格偏离自身均值达到一个可测量的距离,然后逆着这段行情入场,目标是价格回归。这个距离通常表示为相对布林中轨的标准差,或相对移动平均线的 ATR 单位,并用处于极端区域的 RSI、随机指标之类的振荡指标作为确认。止损放在这样一个水平之外:一旦触及,就说明这根本不是拉伸,而是一段趋势的开始。就入场而言,它是趋势跟踪的天然反面,并且在相反的天气里失效。
均值回归 EA 的胜率高吗?
只有当目标放得离入场很近时才高,而用这种方式换来的高胜率,要用盈亏比来偿付。靠近入场的目标经常被触及,但赚得少;放在完整均值处的目标较少被触及,但赚得多。本页测量的反转模板默认使用两倍于止损的目标,在不计成本时胜率 33.3 % 即可打平。胜率来自离场放在哪里,而不是来自入场是逆势这一事实。
哪些品种适合均值回归 EA?
教科书答案是结构性区间震荡的交叉盘——EUR/CHF、USD/CHF、EUR/GBP、AUD/CAD——因为一个不断回到中枢的品种,才给了策略可回归的对象。实际上真正重要的比品种名称更窄:那个具体品种在它自己的周期上,花在回归上的时间是否多于花在延展上的时间。Builder 的反转模板是在 USD/JPY M5 上测量的,这是一个在嘈杂周期上的趋势型品种,大多数模板在那里低于 1.0。请在你打算交易的品种上测试,而不是照搬一份品种清单。
均值回归与网格或马丁格尔 EA 有何不同?
区别在止损。三者都会在不利行情面前持有敞口,而且只要市场配合,三者看起来都在盈利。均值回归 EA 在一个可测量的极端处开一笔仓,如果回归假设被证伪,就以既定的亏损平掉。网格或马丁格尔 EA 应对不利行情的方式是继续加仓,于是亏损只有在账户无力支撑下一次加仓时才被实现。如果一只以均值回归名义出售的 EA 没有止损,或者在亏损仓位上摊低成本,那它就是披着这个标签的另一种策略。
更好的目标或止损能挽救一个亏损的反转入场吗?
从 Builder 自己的记录来看,不能。RSI Reversal 和 Bollinger Bounce 各自在 USD/JPY H1 上、跨越 2018 到 2026 年的三个时间窗口,测试了十二种止损与目标组合——止损 20 到 50 点、目标 20 到 100 点。两者样本内的最佳盈利因子都只有 0.91。移动离场会改变胜率和盈亏比,却不会创造入场所缺少的优势。请先改入场或过滤器。
同时运行几种反转方法能分散风险吗?
效果比看上去小。Builder 的 3-Strategy Portfolio 在一只 EA 里同时运行 RSI 反转、布林带反弹和包络线反转,各自使用自己的魔术号。在默认参数下,它在 2,287 笔交易中的盈利因子为 0.92——并不比它的组成部分好。三个都在对抗同一次拉伸的入场,会在同样的趋势天气里亏钱,所以它们的亏损会一起到来。