均值回归
均值回归 EA 在价格偏离其均值达到可测量的距离后逆势入场,目标是价格回归。这个标签只描述入场。在 Builder 记录的参数搜索中,RSI 与布林带两个反转模板各自测试了十二种止损与目标组合,盈利因子一次都没有越过 1.0,连样本内也没有。
一图看懂
入场是与均值的一段距离
EA 等待价格偏离其平均值约 1.5 至 2.5 个标准差,逆着这段走势入场,并以均值本身为目标。此处的入场条件是触及 2σ 带。
一图看懂
默认设置:各反转模板的盈利因子
Builder 在 USD/JPY M5 上一年的基线,默认输入,不做优化。只有顺着趋势方向逢低买入的回调入场,盈利因子(PF)才超过 1.0。
机制
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 / 80 | 1.10 | 159 |
| Envelope Reversal | 买价超出 SMA 20 的 0.1 % 包络线 | 30 / 60 | 0.98 | 986 |
| Bollinger Bounce | 触及 20 周期、2σ 布林带 | 40 / 80 | 0.97 | 632 |
| Stoch + BB | 随机指标在下轨处低于 20(卖出方向对称) | 30 / 60 | 0.96 | 896 |
| Pin Bar Reversal | 看涨 Pin Bar 且 RSI 低于 35,只做多 | 40 / 80 | 0.96 | 179 |
| RSI Reversal | RSI 14 低于 30 / 高于 70 | 30 / 60 | 0.94 | 682 |
| Range Filter Reversal | RSI 30/70,仅当 10 根 K 线的区间为 10–80 点时 | 40 / 80 | 0.90 | 573 |
| MFI Reversal + StdDev | MFI 20/80,仅当 StdDev 10 低于 StdDev 40 时 | 40 / 80 | 0.80 | 362 |
| 3-Strategy Portfolio (Mean-Reversion Mix) | RSI + 布林带 + 包络线,合在一只 EA 里 | 与各组成部分相同 | 0.92 | 2,287 |
| Dual-Pair RSI Basket | 在 EUR/USD 和 GBP/USD 上的 RSI 30/70,最多四笔持仓 | 30 / 60 | 0.87 | 12,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 基线中所有模板里最深的。相关的反转仓位,是同一个赌注下了好几次。
市场条件:均值回归什么时候有回报,什么时候没有
| 条件 | 有利于均值回归 EA | 不利于均值回归 EA |
|---|---|---|
| 市场状态 | 有可定义中枢、价格会回来的区间 | 不断延展的方向性行情 |
| 波动率 | 偏高但无方向——K 线宽阔,净位移为零 | 扩张并且朝一个方向持续跟进 |
| 拉伸本身 | 由会耗尽的资金流造成——清淡时段、过度反应 | 由重新定价该品种的信息造成 |
| 更高周期趋势 | 走平,或逆势入场的方向与之一致 | 强劲,且与逆势入场相反 |
| 持仓成本 | 回归很快,融资成本无关紧要 | 仓位逆着行情扛了好几天,为犯错支付隔夜利息 |
糟糕的环境不是下跌的市场,而是有方向的市场,这正是趋势跟踪在区间里失效方式的精确镜像。两者在不同的天气里亏钱。这也是连亏为什么会扎堆的原因。连续十笔亏损不是十个互不相干的错误;那是同一条规则十次撞上同一段趋势行情。
造成偏离的原因,和偏离的幅度同样重要。被稀薄流动性拉开的价格,是回归的候选;被利率决议拉开的价格已经被重新定价,不存在可以回去的旧均值。没有任何指标能区分这两种情况,这就是为什么新闻过滤在这里更重要。
同样的弹性假设也驱动着统计套利,只是被用在两个品种之间的价差上,而不是单一价格上,而它失效的方式也一样。在 EUR/GBP 这样的单一货币对上,被假定的关系就是该货币对自身历史与其均值之间的关系。
MT5 中的参数与设置
在 Builder 中,下面每一项都是一个带有自身输入参数的积木,每个取值都会成为编译后 EA 的输入参数。
| 积木与输入参数 | 常见起点 | 它控制什么 |
|---|---|---|
Bollinger Bands / Envelope period、deviation | 长到让均值成为一个价位,而不是价格的滞后副本 | EA 把什么当作价格应当回归的那个值 |
| RSI / Stochastic / MFI 阈值 | 仅作确认,不单独充当扳机 | 过滤掉仍在加速的拉伸 |
Market Regime Filter Allowed regime = Range | ADX 阈值 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.0,就停止调离场,去改入场。
- 从推翻假设的那个水平去设止损,而不是从一个整数出发。
- 在同一段时间内,把状态或趋势过滤器开着跑一遍、关着跑一遍。如果差别不大,说明测试期内没有真正的趋势,那份结果是未经检验,而不是稳健。
- 读一读所得记录里最长的那段连亏,并在投入任何资金之前决定:两倍长的连亏你坐得住吗。
失效模式:均值回归 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。本页的数字来自你输入的内容,不是结果预测。
相关文章
常见问题
- 什么是均值回归 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——并不比它的组成部分好。三个都在对抗同一次拉伸的入场,会在同样的趋势天气里亏钱,所以它们的亏损会一起到来。
Glossary