advanced 极高回撤 ~30 trades/mo

马丁格尔

马丁格尔 EA 在每次亏损后把仓位翻倍,好让一笔盈利单还清整段连亏。周期在盈利时结束,所以近乎完美的胜率在市场介入之前就已被内置。其余的由算术决定:在 30 点止损与目标、四层上限、2 点成本下,连亏四次之后的那笔盈利单还不清这段连亏。

AIStrategyMiner Strategy Builder:用模块拼成的 RSI 策略,止损与目标均为 30 pips,入场位于 Martingale 模板之后

一图看懂

阶梯:每次亏损后的手数

基础手数 0.01,乘数 2.0,Max Level 4,与 Strategy Builder 的 Martingale 模板一致。各行为连续亏损次数。手数到达上限后保持不变,直到出现一笔盈利单。

阶梯:每次亏损后的手数 柱状图:连续亏损 0 到 6 次之后的手数:0.01、0.02、0.04、0.08,从第四次亏损起为 0.16,第五次和第六次仍保持在 0.16。 0 0.01 1 0.02 2 0.04 3 0.08 4 0.16 5 0.16 6 0.16 维持 0.16 直到出现盈利单

一图看懂

一笔盈利单能还清这段连亏吗?

一笔盈利单之后的净 pips,基础手数 0.01,止损与目标均为 30 pips,往返成本 2 pips。各行为此前的连亏次数。亏损三次后,盈利单只能保本;四次后则为亏损,超过上限后每多亏一次,代价高得多。

一笔盈利单能还清这段连亏吗? 柱状图:连亏之后出现一笔盈利单时的净结果(pips),成本为 2 pips:亏损一次后为 +24,两次后 +16,三次后 0,四次后 −32,五次后 −544,六次后 −1056。 1 +24 2 +16 3 0 4 −32 5 −544 6 −1056

机制

每出现一笔亏损单,EA 就把下一笔仓位乘以一个固定系数,最常见的是 2.0,然后重新入场。当某笔交易以盈利平仓时周期结束,仓位回到基准。由于周期本身就被定义为以盈利单收尾,所报的胜率是定义的属性,而不是对规则的测量。真正变化的是盈利单到来之前阶梯下探的深度:在 k 次亏损之后,下一笔入场是基准仓位的 2^k 倍,所以连亏十次就需要 1,024 倍的仓位。

适配性

没有哪种市场状态能让这道阶梯变得安全,只有尚未考验过它的状态。优先选择区间震荡或均值回归品种的常见建议并不能消除风险:平均而言会回归的货币对,仍然时不时走出趋势,而逆势入场会把那段趋势当作一段不间断的连亏来承受。层数上限给亏损划出边界,却没有消除它。只适合已经事先算清最坏情况亏损、并且能够毫无后果地损失整个账户的交易者。

备注

马丁格尔是常见策略中唯一一个用仓位管理规则、而不是用入场方式来命名的策略。出现亏损单之后,EA 把下一笔仓位翻倍,好让一笔盈利单还清这段连亏中的每一次亏损,外加最初的目标利润。开仓的信号几乎无关紧要——RSI 极值、均线交叉、网格价位——因为产品就是这道阶梯本身。

这让它的说法异常容易审计。你可以在接触市场数据之前就写出阶梯的算术,并把它支付的成本一行行加上去。本页就是这么做的,然后再读一读 Strategy Builder 自己的 Martingale 模板和 Martingale Lot 积木实际做了什么——包括层数上限的那个大多数描述都略过不提的行为。

运作方式:阶梯是一个定义,不是一种优势

规则只有一行。从基准仓位开始。亏损之后,把下一笔仓位乘以一个固定系数,通常是 2.0。盈利之后,回到基准。两次重置之间的一切就是一个周期。

由此推出的算术是固定的。在连续 k 次亏损之后,阶梯已经押进了 1 + 2 + 4 + … + 2^(k−1) = 2^k − 1 个单位,而下一笔入场是 2^k 个单位。连亏九次,就是用 512 个单位的入场去对抗已经亏掉的 511 个单位。连亏十次,则是 1,024 个单位的入场。

有两个后果值得分开来看,因为对这套策略的描述往往把它们混为一谈。

第一,胜率不再是一种测量。规则把周期定义为以盈利单收尾,所以每个完成的周期都是盈利周期。唯一不是盈利周期的,就是账户无法走完的那一个。引用马丁格尔的周期胜率,等于把它的定义复述回去。

第二,平滑是真实的,不是假象。只要阶梯保持在浅层,小而频繁的回本就会不断累积,于是几乎整个分布都堆在一处,剩下的落在一条只来一次的尾巴里。这与没有整体止损的网格 EA 是同一种形状,原因也相同:两者面对不利行情的回应,都是加大敞口而不是兑现亏损。

区分它们的是风险被设定在何处。网格间距决定阶梯下探得多频繁,乘数决定每一层的代价有多大。两件事都做的 EA 不是多了一项功能的网格,而是带时间表的马丁格尔。

阶梯真正需要的乘数

在爆仓之前还有一种失效,而它很少被人说出来:翻倍的阶梯并不总能还清它当初就是为之而建的那段连亏。

条件是算术性的。在 k 次亏损之后,阶梯已经押进了平均亏损的 2^k − 1 个单位,而 2^k 个单位的回本单能拿回 2^k × 盈亏比。因此只有当盈亏比,也就是平均盈利除以平均亏损,在第一层超过 0.5、第二层超过 0.75、第三层超过 0.875,并随着连亏变长而趋近 1.0 时,回本单才还得清这段连亏。只有对于平均盈利已经与平均亏损相当的规则,翻倍才是正确的乘数。

成本会移动每一道门槛,因为经纪商是按放大后的仓位收取成本的。以 Strategy Builder 的 Martingale 模板为例:30 点止损、30 点目标,所以在不计成本时盈亏比恰好是 1.0。加上 2 点的往返成本,每笔盈利单净得 28,每笔亏损单亏掉 32——有效盈亏比为 0.875。这越过了前两道门槛,正好落在第三道上,从第四道开始失效。

底下让人不舒服的规律是:马丁格尔天然被高胜率的规则吸引。高胜率来自把目标放在与止损相当或更近的位置,而恰恰是这种布置,让回本单显得太小。

Strategy Builder 的 Martingale 模板与积木做了什么

Strategy Builder 提供一个 Martingale 模板:RSI 14 入场,低于 25 买入、高于 75 卖出,30 点止损与目标,以及一个 Martingale Lot 积木,设定为 0.01 基准、2.0 乘数和 Max Level 4。模板库没有把它标为推荐。“推荐”徽章只留给这样的模板:单次入场、每次入场都有固定止损与目标,并且不含马丁格尔、摊低成本、金字塔加仓或反手积木。

这个积木有两个行为,比它的默认值更重要。

层级就是连亏次数,它停在上限处而不重置。编译后的 EA 在每个 tick 从交易历史中统计该品种和魔术号上的连续亏损交易,并把这个计数封顶在 Max Level。于是手数按 0.01 → 0.02 → 0.04 → 0.08 → 0.16 攀升,然后停留在 0.16,直到出现一笔盈利单。它不会回落到基准。因此,上限并不是阶梯的止损;它把阶梯的尾部变成以最大手数进行的固定下注。

回撤暂停会冻结 EA,但不会平掉任何仓位。该积木的 Halt at drawdown (%) 输入参数(默认 30)把账户净值与其峰值进行比较。当差距达到阈值时,EA 在每个 tick 都提前退出。它不再开任何交易,而在该检查之后运行的积木——Account Guard、Close All、Basket Average TP、摊低成本——也都不再被评估。已经挂在经纪商处的止损和目标仍然有效,移动止损或保本离场也继续运行。EA 把峰值保存在终端全局变量中,所以重启并不会重置它。

下面是在模板设置下、一段连亏之后下一笔交易盈利时,这对单段连亏意味着什么,以 0.01 基准手数的点数计:

连亏次数回本单的手数盈利后的净额,无成本盈利后的净额,成本 2 点
10.02+30+24
20.04+30+16
30.08+300
40.16+30−32
50.16(已封顶)−450−544
60.16(已封顶)−930−1,056

不计成本时,封顶的阶梯能还清四次以内的每一段连亏,从第五次开始失效。计入 2 点成本时,它提前一层失效。在上限之下,收益固定为 +30;超过上限后,每多一次亏损,亏损就以基准手数计增加 480 到 512 点。

测试条件
来源Strategy Builder 中 Martingale 模板卡片上印出的基线
品种 / 周期USD/JPY M5(Exness MT5,于 2026-09-19 修复后重测,固定 20 points 点差,历史数据质量 72 %)
期间2025-06-01 – 2026-06-09
模型M1 OHLC(K 线级别,不是真实 tick)
入金 / 输入参数10,000,模板默认值,不做优化

在默认参数下,该模板在 646 笔交易中的盈利因子为 0.85,回撤 −4.71 %,净结果为 −363.54。在我们自己对 Strategy Builder 模板所做的默认参数基线中——USD/JPY M5 单次运行一年、默认输入参数、不做优化——大多数模板的盈利因子低于 1.0,而阶梯并没有把这一个抬到 1.0 之上。

0.160.01 基准、×2、Max Level 4 时的最高手数——一直持有到出现盈利单
连亏 4 次2 点成本让 30/30 阶梯无法还清的连亏长度
0.85Martingale 模板在默认参数下的盈利因子

市场条件:阶梯需要什么,又永远得不到什么

条件阶梯得以存活阶梯失效
连亏短,并被盈利单打断一段持续行情,规则一次次重新入场其中
盈亏比计入成本后至少 1.0,使一次回本能还清连亏低于 1.0,盈利单盖不住已押进去的部分
仓位管理阶梯顶端能装进可用保证金与品种的手数上限回本单无力承担,或根本下不出去
测试区间包含该品种能够制造的最差连亏在那段连亏到来之前就结束了
成本模型每一笔放大的入场都计入滑点与库存费固定平均点差,忽略资金成本

常见的建议是把马丁格尔跑在区间震荡或均值回归的品种上,理由是价格会回来、回本会到来。这误读了风险。一个平均而言会回归的品种,仍然偶尔走出趋势,而逆势入场会把那段趋势当作一段不间断的连亏来承受——同一段行情会击败每一次重新入场。阶梯只需要那一次例外。

诚实的说法是:没有哪种市场状态能让这道阶梯变安全。只有尚未考验过它的状态;而一段在最差连亏到来之前就结束的测试区间,报告的恰恰只是这一点。

MT5 中的参数与设置

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

积木与输入参数风险所在它控制什么
Martingale Lot Multiplier任何大于 1.0 的取值每一层的代价;2.0 是常规值,对计入成本后低于 1.0 的盈亏比来说太小
Martingale Lot Max Level必须是有限值,1–10给阶梯封顶;超过它的亏损以最高手数承受
Martingale Lot Halt at drawdown (%)冻结 EA,不平任何仓位在净值从峰值回撤到一定程度时停止新交易——以及在它之后的检查
Averaging Down Max Additions / Interval (pips) / Lot Multiplier大于 1.0 的乘数就是马丁格尔行情把一组持仓推深的速度,以及每次加仓有多贵
Basket Average TP所有持仓腿的净额在加权平均价加 N 点处平掉整组持仓
Account Guard Floating loss cap (% of balance)真正的断路器,前提是它先触发当账户浮亏达到余额的 N % 时平掉本 EA 的持仓,然后暂停
Spread Filter Max Spread (points)略高于正常点差拦下那些在最差行情下到来的放大入场

有三条 MT5 的现实决定阶梯会不会按设计运转:

  • 回本订单可能被直接拒绝。仓位大小受 SYMBOL_VOLUME_MAX 限制,并按 SYMBOL_VOLUME_STEP 量化。Strategy Builder 生成的 EA 在发单之前,会把过大的手数截到最大值并按步长取整,而被截断的回本单还不清它当初据以定量的那段连亏。在做别的事之前,先拿阶梯顶端对照这两项。
  • 强制平仓发生在保证金水平上,而不是净值上。当 ACCOUNT_MARGIN_LEVEL 跌破经纪商的强平阈值时,持仓会被平掉,而追加保证金通知会在净值归零之前到来。损害是否止步于零,由负余额保护决定。
  • 回测保真度在这里比在任何其他策略上都更重要。整份记录都系于阶梯深处的少数几笔交易。请使用真实 tick 数据,读一读建模质量,并把建立在 1 分钟 OHLC 上的结果只当作初读。
  1. 先用 Fixed Lot 积木搭出入场并测量它。记录它的盈亏比和最长的连亏——决定阶梯的是这两个数字,而不是胜率。
  2. 算出阶梯顶端:基准手数 × 乘数的 Max Level 次方。拿它对照 SYMBOL_VOLUME_MAX 和你的可用保证金。
  3. 把计入成本后的盈亏比与上面的门槛作比较,如果一次回本还不清连亏,就否决这个乘数。
  4. 换上 Martingale Lot 积木,并加一个设定得远低于暂停阈值的 Account Guard,好让测试器在暂停冻结 Account Guard 之前就兑现亏损。
  5. 延长测试区间,直到其中至少包含一段与入场逻辑相反的持续行情。若没有,那个结果只是未经检验,而不是稳健。

失效方式:一个马丁格尔 EA 如何终结

  • 连亏活得比账户更久。最主要的路径。亏损成块到来,因为击败一次入场的那些条件同样会击败下一次。
  • 层数上限把爆仓变成以最高手数进行的固定下注。在 Strategy Builder 的积木中,手数停在上限处而不重置,所以超过上限的每一次亏损都是阶梯里最大的亏损,而且没有一次会被还回来。
  • 回本单小到无法回本。计入成本后盈亏比低于 1.0,意味着在任何市场观点介入之前,阶梯在它自己的算术里就已经不够用了。
  • 成本按放大后的仓位收取。滑点、点差与库存费都随阶梯一起放大,因此深层入场——整个策略所依赖的那几笔——正是记录中最昂贵的交易。
  • 把暂停误当成止损。回撤暂停会让已开的持仓继续运行,而一旦它触发,Account Guard 就不再被评估。只有在暂停之前就触发的 Account Guard,才会在选定的水平上兑现亏损。
  • 回测在连亏到来之前就结束了。一段没有持续不利行情的测试区间,报告的是一道尚未经受考验的阶梯的表现。

如何在 AIStrategyMiner 里趁还不花钱时测试一个马丁格尔 EA

有用的测试不是马丁格尔 EA 是否赚钱——在多数样本上它都会赚。有用的测试是它所需要的那道阶梯,能不能装进你打算入金的那个账户。这只需要从入场本身取得两个数字:它最长的连亏,以及计入成本后的盈亏比。

  • 用 Fixed Lot 搭出入场信号并按下 Measure;在加上任何阶梯之前,先读最差连亏和盈亏比。
  • 用你自己的止损、目标、成本和 Max Level 把上面的阶梯表写出来,找出盈利单不再能还清连亏的那个连亏长度。
  • 把 Fixed Lot 换成 Martingale Lot 积木,在同一份数据上比较两个结果,并加一个设在暂停阈值之下的 Account Guard。
  • 在 MT5 策略测试器中,用真实 tick、在包含一段持续不利行情的区间里确认结果。

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

马丁格尔与网格的对比

马丁格尔网格
决定仓位大小的东西上一笔交易的结果每一层都固定
运转所需的条件在阶梯甩开账户之前出现一笔盈利单价格在同样的价位之间来回震荡
敞口增长随连亏呈指数增长随层数呈线性增长
所报胜率由周期定义所决定高,来自每组持仓的小目标
最坏情况账户全额亏光账户全额亏光,只是到得更慢
最该先读的输入参数MultiplierMax Additions 与整体止损

两者常被当作不同的产品展示,却常常是同一样东西。一个手数乘数大于 1.0 的网格,就是一个层间距由网格间距设定的马丁格尔;它继承了指数级敞口,却没有继承网格那种线性的最坏情况。与趋势跟踪的对比更为鲜明:趋势 EA 的糟糕时期是一长串普通亏损,账户仍然完好。马丁格尔的糟糕时期只是一段连亏,而耐心撑不过它。在每一个带乘数参数的 EA 上,都请在看资金曲线之前先读乘数。

先测出你的信号所需要的阶梯

先用固定手数搭出入场,读出它最糟的连亏和盈亏比。然后在同一份数据上与 Martingale Lot 模块比较,并把 Account Guard 设在停止线之下,全程不动用任何资金。

  • 为 MetaTrader 5 编译标准 .ex5 文件,并选取包含一段持续逆向入场行情的时期,用真实逐笔数据测试。

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

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

典型货币对

此策略最适合的场景

相关文章

常见问题

什么是马丁格尔 EA?
马丁格尔 EA 是一种依据上一笔交易的结果、而不是依据入场形态来决定仓位大小的智能交易系统。每次亏损后,它把下一笔仓位乘以一个固定系数,通常是 2.0,并在某笔交易盈利平仓后立刻回到基准仓位。入场逻辑可以是任何东西——RSI 极值、均线交叉、网格价位——因为真正起作用的是这道阶梯。这也正是它容易被审计的原因:在运行任何测试之前,就能把阶梯的算术写出来。
马丁格尔 EA 的胜率真的高吗?
它的周期胜率按构造就很高,这是另一回事。马丁格尔的周期被定义为在某笔交易盈利平仓时结束,因此只要账户没有先耗尽,每个完成的周期都是盈利周期。一个在测试开跑前就已经注定的数字,不携带任何关于规则本身的信息。请改读底层交易的胜率、盈亏比和最长的连亏。
马丁格尔 EA 应该允许多少层翻倍?
没有任何层数能让这道阶梯变安全。上限只是给亏损的大小划出边界,并没有消除它。在 Strategy Builder 的 Martingale Lot 积木中,层级就是从交易历史中统计出的连续亏损次数,它在 Max Level 处停止上升——此后手数停留在最高一层,直到出现一笔盈利单。以 0.01 为基准、乘数 2.0、上限 4 时,最高手数是 0.16,第四次之后的每一次亏损都以 0.16 承受,而阶梯不会把它还回来。请从你真正算过的最坏情况亏损来选定上限,而不是从一个整数。
马丁格尔 EA 能把亏损赚回来吗?
只有当计入成本后平均盈利足够大时才行。在 k 次亏损之后,阶梯已经押进了 2^k − 1 个单位,而回本单是 2^k 个单位,因此只有当盈亏比在第一层超过约 0.5、第二层超过 0.75、第三层超过 0.875,并随着连亏变长而趋近 1.0 时,盈利单才还得清这段连亏。成本会把这些门槛往上推,因为每一笔放大的入场都要收取成本。在 30 点止损与目标、2 点往返成本下,连亏三次后的盈利单只能打平,连亏四次后则是亏损。
马丁格尔在区间震荡或均值回归的货币对上更安全吗?
并不像这个建议所暗示的那样。会回归的货币对会给阶梯带来更多短的连亏,让曲线更平滑,但结果是由该品种所能制造的最长连亏决定的。逆势入场会把趋势阶段当作一整块连续的亏损来承受,因为击败一次入场的同一段行情,也会击败下一次。没有任何货币对名称能告诉你那一块能有多长;只有一段包含了与入场相反的持续行情的长期测试才能。
马丁格尔和网格交易有什么区别?
纯粹的网格以固定间隔、固定手数挂单,从来回震荡中获利;马丁格尔则是针对亏损改变手数。两者常常被合在一起,而绝大多数账户失败正是来自这种组合,因为网格间距决定阶梯下探得多快,乘数决定每一层有多贵。如果一个 EA 暴露了大于 1.0 的手数乘数参数,那么无论它叫什么名字,它就是马丁格尔。请在看资金曲线之前先读这个参数。