马丁格尔
马丁格尔 EA 在每次亏损后把仓位翻倍,好让一笔盈利单还清整段连亏。用已公开的 9,339 笔交易重放这道阶梯,它把 100 % 的周期都收在盈利上,却仍在十四份记录中的四份里把 10,000 的入金吃光。
机制
每出现一笔亏损单,EA 就把下一笔仓位乘以一个固定系数,最常见的是 2.0,然后重新入场。当某笔交易以盈利平仓时周期结束,仓位回到基准。由于周期本身就被定义为以盈利单收尾,所报的胜率是定义的属性,而不是对规则的测量。真正变化的是盈利单到来之前阶梯下探的深度:用本站公开的平仓交易清单重放,最长的一段连亏是十四次,这会把回本单推到基准仓位的 16,384 倍。
适配性
没有哪种市场状态能让这道阶梯变得安全,只有尚未考验过它的状态。关于优先选择区间震荡或均值回归品种的常见建议,并未得到这里记录的支持:本站公开的均值回归 EA 拥有整个目录里最长的两段连亏,11 和 10,而趋势跟踪组的最大值是 9;在不设上限的阶梯下,六份均值回归记录中有两份亏光账户,而五份趋势跟踪记录一份都没有。层数上限只是给亏损划出边界,并没有消除它,而把上限从四层提到五层,反而让两份原本存活的记录变成了爆仓记录。只适合已经算清最坏情况亏损、并且能够毫无后果地损失整个账户的交易者。
备注
马丁格尔是这份清单里唯一一个用仓位管理规则、而不是用入场方式来命名的策略。出现亏损单之后,EA 把下一笔仓位翻倍,好让一笔盈利单还清这段连亏中的每一次亏损,外加最初的目标利润。开仓的信号几乎无关紧要,均线交叉、网格价位、抛硬币都可以,因为产品就是这道阶梯本身。
这让它的说法异常容易审计。翻倍规则可以叠加到任何一份平仓交易清单上,包括那些从来没有按这种方式定过仓位的交易。所以本页并不抽象地争论马丁格尔,而是把这道阶梯重放在本站公开的每一个智能交易系统的 9,339 笔平仓交易上,平仓时间从 2019 年 1 月 2 日到 2026 年 3 月 31 日,然后报告阶梯对这些记录做了什么——这些记录在固定手数下全都是盈利的。这些交易背后的运行过程与测试条件,公开在本站的方法论中。
运作方式:阶梯是一个定义,不是一种优势
规则只有一行。从基准仓位开始。亏损之后,把下一笔仓位乘以一个固定系数,通常是 2.0。盈利之后,回到基准。两次重置之间的一切就是一个周期。
由此推出的算术是固定的。在连续 k 次亏损之后,阶梯已经押进了平均亏损的 1 + 2 + 4 + … + 2^(k−1) = 2^k − 1 个单位,而下一笔入场是 2^k 个单位。连亏九次,就是用 512 个单位的入场去对抗已经亏掉的 511 个单位。十四次,也就是下面记录中最深的那一段,则是 16,384 个单位的入场。
有两个后果值得分开来看,因为销售材料把它们混为一谈。
第一,胜率不再是一种测量。周期被定义为以盈利单收尾,所以每个完成的周期都是盈利周期。唯一不是盈利周期的,就是账户或层数上限在其间耗尽的那一个。引用马丁格尔的胜率,等于把它的定义复述回去。
第二,平滑是真实的,不是假象。只要阶梯保持在浅层,小而频繁的回本就会不断累积,于是几乎整个分布都堆在一处,剩下的落在一条只来一次的尾巴里。这与没有整体止损的网格 EA 是同一种形状,原因也相同:两者面对不利行情的回应,都是加大敞口而不是兑现亏损。
区分它们的是风险被设定在何处。网格间距决定阶梯下探得多频繁,乘数决定每一层的代价有多大。两件事都做的 EA 不是多了一项功能的网格,而是带时间表的马丁格尔。
阶梯对公开记录做了什么
下面的每个数字都来自我们自己的数据,也就是各 EA 页面上的平仓交易清单,按平仓顺序、以 2.0 的乘数、从每份记录受测时的基准仓位开始重放;基准仓位为 0.1 手,只有 JP225 上的 Orrery 是 3 手。把仓位放大 X 倍,就把那笔交易的结果放大 X 倍,其中忽略了滑点、库存费与保证金,而这三者都会让真实结果更糟。
| EA | 品种 / 周期 | 交易数 | 胜率 | 盈亏比 | 最差连亏 | 阶梯触及的手数 |
|---|---|---|---|---|---|---|
| Beacon | AUD/CAD M15 | 384 | 79.17 % | 0.32 | 3 | 0.8 |
| Peregrine | BTC/USD H4 | 163 | 78.53 % | 0.33 | 3 | 0.8 |
| Zerqon | US30 H4 | 232 | 78.45 % | 0.42 | 2 | 0.4 |
| Cairn | EUR/USD H1 | 4,583 | 64.02 % | 0.83 | 14 | 1,638.4 |
| Lanternfish | USD/JPY M5 | 407 | 62.65 % | 0.75 | 3 | 0.8 |
| Thunderhead | EUR/GBP H1 | 392 | 61.48 % | 0.96 | 9 | 51.2 |
| Windrose | AUD/CAD H1 | 101 | 59.41 % | 0.90 | 4 | 1.6 |
| Orrery | JP225 H1 | 195 | 55.90 % | 1.01 | 4 | 48.0 |
| Iridescence | EUR/USD H1 | 872 | 51.83 % | 1.30 | 8 | 25.6 |
| Tessera | USD/JPY H1 | 624 | 50.64 % | 1.25 | 8 | 25.6 |
| Lattice Weave | GBP/AUD H1 | 492 | 46.34 % | 1.74 | 11 | 204.8 |
| Tidewell Slack | GBP/JPY M15 | 303 | 40.26 % | 2.00 | 10 | 102.4 |
| Kestrel Hover | USD/JPY M15 | 284 | 30.99 % | 2.95 | 9 | 51.2 |
胜率并不会告诉你阶梯会下探到多深。 Lanternfish 赢下 62.65 % 的交易,从未连亏超过三次,所以它的阶梯止步于 0.8 手。Cairn 赢得更频繁,为 64.02 %,却有一段十四次的连亏,这把它的回本单推到了 1,638.4 手。这两份记录在买家用来排序的那一列上相差 1.37 个百分点,而在阶梯所要求的仓位上相差 2,048 倍。最差连亏才是决定一个马丁格尔命运的数字,而它无法从胜率推断出来。
十四个账户里有四个活不下来。 让不设上限的阶梯跑在每份记录受测时的 10,000 入金上,入金被彻底耗尽的时点是:Lattice Weave 在第 492 笔中的第 33 笔,Tidewell Slack 在第 303 笔中的第 22 笔,Cairn 在第 4,583 笔中的第 171 笔,Thunderhead 在第 392 笔中的第 150 笔。分别是这些长达数年的记录中的第 6.11、6.78、2.29 和 14.36 个月。追加保证金通知会来得更早,因为仓位是在保证金不足时被平掉的,而不是在净值归零时。
四个已死账户里有两个最后显示为盈利。 这次重放刻意宽厚:入金耗尽之后它仍继续交易。Lattice Weave 结束于 795,625.94,Tidewell Slack 结束于 207,902.78,而两者都出自早已终结的账户。这不是方法上的怪癖,而是关于马丁格尔回测最该知道的一件事:一个从不建模强制平仓的测试器,报告的是一个已经不存在的账户的业绩。
阶梯真正需要的乘数
在爆仓之前还有第二种失效,而它很少被人说出来:翻倍的阶梯并不总能还清它当初就是为之而建的那段连亏。
条件是算术性的。在 k 次亏损之后,阶梯已经押进了平均亏损的 2^k − 1 个单位,而回本单是 2^k 个单位,能拿回 2^k × 盈亏比。因此只有当盈亏比,也就是平均盈利除以平均亏损,在第一层超过 0.5、第二层超过 0.75、第三层超过 0.875,并随着连亏变长而趋近 1.0 时,这段连亏才被还清。只有对于平均盈利已经与平均亏损相当的规则,翻倍才是正确的乘数。
十四份公开记录中有八份的盈亏比低于 1.0,而且没有一份能靠翻倍还清自己最差的那段连亏。Beacon、Peregrine、Ballast 和 Zerqon 在最开头的第一层就失效了:它们 0.32、0.33、0.37 和 0.42 的盈亏比意味着,一笔翻倍后的入场拿回来的还不如它正在弥补的那一次亏损。Lanternfish 和 Cairn 在连续第三次亏损时停止还清,Windrose 在第四次,Thunderhead 则在第五次。
底下的这条规律才是让人不舒服的部分。按胜率把这十四份记录读下来,阶梯所需要的乘数几乎是依次递减的:从 79.17 % 那份记录上的 4.08,一路降到 30.99 % 那份上的 1.34,其间有三次倒置,且没有一次超过 0.13。高胜率来自把目标放在接近止损的位置,而恰恰是这种布置,让回本单显得太小。马丁格尔天然被高胜率的规则吸引,而那些正是翻倍幅度不够用的规则。
市场条件:阶梯需要什么,又永远得不到什么
| 条件 | 阶梯得以存活 | 阶梯失效 |
|---|---|---|
| 连亏 | 短,并被盈利单打断 | 一段持续行情,规则一次次重新入场其中 |
| 盈亏比 | 至少 1.0,使一次回本能还清连亏 | 低于 1.0,盈利单盖不住已押进去的部分 |
| 仓位管理 | 阶梯顶端能装进可用保证金与品种的手数上限 | 回本单无力承担,或根本下不出去 |
| 测试区间 | 包含该品种能够制造的最差连亏 | 在那段连亏到来之前就结束了 |
| 成本模型 | 每一笔放大的入场都计入滑点与库存费 | 固定平均点差,忽略资金成本 |
常见的建议是把马丁格尔跑在区间震荡或均值回归的品种上,理由是价格会回来、回本会到来。这些记录并不支持它。这里公开的均值回归 EA 拥有整个目录里最长的两段连亏,11 和 10,而趋势跟踪组的最大值是 9;在不设上限的阶梯下,六份均值回归记录中有两份亏光账户,而五份趋势跟踪记录一份都没有。一个平均而言会回归的品种,仍然偶尔走出趋势,而阶梯只需要那一次例外。
诚实的说法是:没有哪种市场状态能让这道阶梯变安全。只有尚未考验过它的状态;而一段在最差连亏到来之前就结束的测试区间,报告的恰恰只是这一点。
MT5 中的参数与设置
| 参数 | 风险所在 | 它控制什么 |
|---|---|---|
LotMultiplier | 任何大于 1.0 的取值 | 每一层的代价;2.0 是常规值,对低于 1.0 的盈亏比来说太小 |
MaxSteps | 必须是有限值 | 限制阶梯深度,因而也限制它最终交到你手上的亏损规模 |
StepDistance | 取自品种自身的波动率 | 一段行情把阶梯推深的速度 |
BasketTakeProfit | 所有持仓的净额 | 结束周期;正是这个小目标制造出了高胜率 |
EquityStopPercent | 唯一真正的断路器 | 在设定好的亏损处平掉一切,而不是等到强制平仓 |
MaxSpreadPoints | 略高于正常点差 | 拦下那些在最差行情下到来的放大入场 |
有三条 MT5 的现实决定阶梯会不会按设计运转:
- 回本订单可能被直接拒绝。 仓位大小受
SYMBOL_VOLUME_MAX限制,并按SYMBOL_VOLUME_STEP量化。一道算出 1,638.4 手入场的阶梯会被拒单或被悄悄截断,而被截断的回本单还不清它当初据以定量的那段连亏。请先读这两个属性,并在做别的事之前拿阶梯顶端去对照它们。 - 强制平仓发生在保证金水平上,而不是净值上。 当
ACCOUNT_MARGIN_LEVEL跌破经纪商的强平阈值时,持仓会从最大的开始被平掉,而那正是回本单。周期在自己最昂贵的那一点上被终止,损害是否止步于零则由负余额保护决定。 - 回测保真度在这里比在任何其他策略上都更重要。 整份记录都系于阶梯深处的少数几笔交易。请使用真实逐笔数据,读一读建模质量,并把建立在 1 分钟 OHLC 上的结果视为未经检验。
- 在测试之前先算出阶梯顶端:基准仓位 × 乘数的层数上限次方,并拿它对照
SYMBOL_VOLUME_MAX和你的可用保证金。 - 在没有阶梯的情况下测量底层信号的最差连亏。决定你所需层数上限的是这个数字,而不是胜率。
- 把信号的盈亏比与上面的门槛作比较,如果一次回本还不清连亏,就否决这个乘数。
- 带着净值止损做回测,让测试器以真实账户的方式兑现亏损。
- 延长测试区间,直到其中至少包含一段与入场逻辑相反的持续行情。若没有,那个结果只是未经检验,而不是稳健。
失效方式:一个马丁格尔 EA 如何终结
- 连亏活得比账户更久。 最主要的路径,也是上面记录中出现的那条。亏损成块到来,因为击败一次入场的那些条件同样会击败下一次。
- 层数上限把爆仓换成一笔巨大的已实现亏损。 这是改善,不是解决。在四层上限下,最深回撤在十四份记录中的十一份里仍然超过固定手数交易——中位数为 2.66 倍,在 Cairn 上为 33.65 倍。
- 提高上限反而更糟。 从四层走到五层,失败周期变少了,但每次的亏损大约翻了一番。Cairn 的亏空从 61,978.44 扩大到 122,460.62,而 Kestrel Hover 与 Thunderhead 则从撑过整份记录,变成入金被耗尽。
- 回本单小到无法回本。 盈亏比低于 1.0 意味着,在任何市场观点介入之前,阶梯在它自己的算术里就已经不够用了。
- 成本按放大后的仓位收取。 滑点、点差与库存费都随阶梯一起放大,因此深层入场——整个策略所依赖的那几笔——正是记录中最昂贵的交易。
- 回测报告的是一个死账户的利润。 没有建模强制平仓,资金曲线就会越过交易本该停止的那一点继续往前走。
如何在 mt5depot 里趁还不花钱时测试一个马丁格尔 EA
有用的测试不是马丁格尔 EA 是否赚钱——在多数样本上它都会赚。有用的测试是它所需要的那道阶梯,能不能装进你打算入金的那个账户。这需要两个数字:入场信号的最差连亏,以及它的盈亏比。
- 单独把入场信号搭出来,用固定仓位,记录它的最差连亏与盈亏比。
- 把基准仓位乘以 2 的最差连亏次方,然后拿结果去对照
SYMBOL_VOLUME_MAX和你的可用保证金。 - 确认盈亏比在你打算允许的深度上越过了还清门槛,并且去改乘数,而不是心存侥幸。
- 挂上有限的层数上限与净值止损,读它们各自造成的已实现亏损,而不是读那条被抹平的曲线。
- 在包含一段持续不利行情的区间里用逐笔数据重跑,并对比有阶梯与没阶梯时的盈利因子。
马丁格尔与网格的对比
| 马丁格尔 | 网格 | |
|---|---|---|
| 决定仓位大小的东西 | 上一笔交易的结果 | 每一层都固定 |
| 运转所需的条件 | 在阶梯甩开账户之前出现一笔盈利单 | 价格在同样的价位之间来回震荡 |
| 敞口增长 | 随连亏呈指数增长 | 随层数呈线性增长 |
| 所报胜率 | 由周期定义所保证 | 高,来自每个组合的小目标 |
| 最坏情况 | 账户全额亏光 | 账户全额亏光,只是到得更慢 |
| 最该先读的参数 | LotMultiplier | MaxLevels 与整体止损 |
两者被当作不同的产品出售,却常常是同一样东西。一个手数乘数大于 1.0 的网格,就是一个层间距由网格间距设定的马丁格尔;它继承了指数级敞口,却没有继承网格那种线性的最坏情况。与趋势跟踪的对比更为鲜明:趋势 EA 的糟糕时期是一长串普通亏损,账户仍然完好。马丁格尔的糟糕时期只是一段连亏,而耐心撑不过它。在每一个带这个参数的 EA 上,都请在看资金曲线之前先读乘数。
相关文章
常见问题
- 什么是马丁格尔 EA?
- 马丁格尔 EA 是一种依据上一笔交易的结果、而不是依据入场形态来决定仓位大小的智能交易系统。每次亏损后,它把下一笔仓位乘以一个固定系数,通常是 2.0,并在某笔交易盈利平仓后立刻回到基准仓位。入场逻辑可以是任何东西,均线交叉、网格价位、随机信号都行,因为真正被出售的是这道阶梯。这也正是它容易被审计的原因:同一条翻倍规则可以在任何一份平仓交易清单上重放,并核对结果。
- 马丁格尔 EA 的胜率真的高吗?
- 它的高胜率来自构造方式,这是另一回事。马丁格尔的周期被定义为在某笔交易盈利平仓时结束,因此只要账户没有先耗尽,每个完成的周期都是盈利周期。用本站公开的 9,339 笔平仓交易重放,不设上限的阶梯在全部十四份记录中都把 100 % 的周期收在盈利上,而其中四个账户在途中被清空。一个在测试开跑前就已经注定的数字,不携带任何关于规则本身的信息。
- 马丁格尔 EA 应该允许多少层翻倍?
- 没有任何层数能让这道阶梯变安全,层数更多也不是可靠的改进。在四层上限下,十四份公开记录中有七份含有至少一段长到足以击穿它的连亏,而最深回撤在十四份中的十一份里都超过固定手数交易,在最差的那份记录里高出 33.65 倍。把上限从四层提到五层,失败周期的数量确实变少了,但每次的亏损更大,而且两份在四层时存活的记录在五层被吃光了入金。请从你真正算过的最坏情况亏损来选定上限,并把它当作损害的边界,而不是解决办法。
- 马丁格尔 EA 能把亏损赚回来吗?
- 只有当平均盈利足够大时才行,而这些记录里大多并非如此。在 k 次亏损之后,阶梯已经押进了平均亏损的 2^k − 1 个单位,而回本单的规模是 2^k 个单位,因此只有当盈亏比在第一层超过约 0.5、第二层超过 0.75,并随着连亏变长而趋近 1.0 时,盈利单才还得清这段连亏。十四份公开记录中有八份的盈亏比低于 1.0,无法靠翻倍还清自己最差的那段连亏。在胜率最高的三份记录上,79.17 %、78.53 % 和 78.50 %,盈亏比分别是 0.32、0.33 和 0.37,因此单次翻倍拿回来的还不如它本该弥补的那一次亏损。
- 马丁格尔在区间震荡或均值回归的货币对上更安全吗?
- 按这些证据来看并非如此。这个建议很常见,但这里公开的记录指向相反的方向:均值回归 EA 拥有整个目录里最长的两段连亏,11 和 10,而趋势跟踪组的最大值是 9;在不设上限的阶梯下,六份均值回归记录中有两份亏光账户,而五份趋势跟踪记录一份都没有。一个平均而言会回归的货币对,仍然时不时走出趋势,而阶梯只需要那一次例外。真正决定结果的是该品种能够制造出的最长连亏,而这一点没有任何货币对名称能告诉你。
- 马丁格尔和网格交易有什么区别?
- 纯粹的网格以固定间隔、固定手数挂单,从来回震荡中获利;马丁格尔则是针对亏损改变手数。两者常常被合在一起,而绝大多数爆仓账户正是来自这种组合,因为网格间距决定阶梯下探得多快,乘数决定每一层有多贵。如果一个 EA 暴露了大于 1.0 的手数乘数参数,那么无论销售页面怎么称呼它,它就是马丁格尔。请在看资金曲线之前先读这个参数。