Grid
网格 EA 以固定价格间隔挂单,构建买卖交织的网格,从价格震荡中获利。资金占用大,需要严谨的回撤管理才能在趋势行情中存活。
机制
The EA divides a price range into equal steps (e.g. every 20 pips) and places pending buy stops and sell stops at each level. As price oscillates through the grid, filled orders generate running profit. Positions are closed when net floating P&L crosses a configurable threshold. Grid width, step size, and lot scaling determine maximum drawdown.
适配性
Profitable in consolidating, low-trend markets (ADX < 20). Severely disadvantaged during sustained trends: if price breaks out of the grid range, unrealised losses compound quickly. Best on EUR/CHF, USD/CHF in calm macro environments. Requires $3,000-$10,000 minimum to absorb multi-level open exposure.
备注
网格交易放弃了预测方向的想法。它转而在固定间隔挂出买卖交织的网格,从震荡中收割利润。每当价格在网格中来回摆动,成交的挂单便锁定小额收益。在安静的区间市中,这会产生一条平滑、近乎乏味的资金曲线,而这恰恰是网格诱人之处。危险在于趋势。当价格突破网格区间并一路走下去时,EA 会在一侧累积它从未打算平仓的亏损单,未实现亏损迅速滚雪球。
本页说明网格智能交易在 MetaTrader 5 内部实际是如何运作的。内容涵盖决定它能否存活的具体输入参数、它如何失败,以及如何在 EA 构建器上构建并压力测试一个网格 EA,然后再投入真实资金。
运作原理:网格机制
网格 EA 把一个价格区间划分为等距步长,并在每个层级挂出挂单。假设 EUR/USD 交易在 1.1000,你设定 20 点的步长。EA 会在上方 1.1020、1.1040、1.1060 播下买入止损单,在下方 1.0980、1.0960、1.0940 播下卖出止损单(双向或称”对冲”网格)。当价格上涨穿过 1.1020,该买单成交;若价格随后回落,一张匹配的卖单会以大约 20 点减去点差的价格将其平仓。网格并不在意价格接下来朝哪个方向走——它只需要价格不断穿越同一批价位。
三个输入参数定义了整台机器:
- 步长(间距) — 层级之间的点数距离。步长越小,捕捉的震荡越多,但未平仓仓位堆积也越快。
- 网格范围 / 层级数 — EA 会在播种价上下多远的范围内持续挂单。这是最重要的单一风险杠杆,因为它限定了错误一侧最多能累积多少亏损单。
- 止盈逻辑 — 大多数网格在净浮动利润越过某个阈值时(例如
+$50)平掉整篮,而非逐单平仓。把整篮目标摊到许多小单上,正是网格能显示出高胜率的原因。
盈利引擎是震荡;亏损引擎是趋势。当价格从某个方向离开网格区间,远端的每一张挂单都变成 EA 从未打算兑现的浮动亏损,而随着它继续播种新层级,这堆亏损还在不断加码。这堆亏损是否能扛下来,完全取决于层级数和你的可用保证金——这正是为什么网格交易本质上是一个披着入场策略外衣的仓位管理问题。
市场条件:网格何时取胜,何时崩溃
网格是一场均值回归的赌注。当价格被约束住——在一个区间内震荡而不朝某个方向发力——它就取胜;当价格走出趋势,它就亏损。最干净的过滤器是平均趋向指数(ADX)。读数低于 20 表明处于区间行情,网格可以可靠地收割。读数攀升至 25 以上则警示趋势正在形成,未平仓敞口将在一侧堆积。
| 行情 | ADX (14) | 网格的表现 | 结果 |
|---|---|---|---|
| 窄幅区间 | < 15 | 两侧挂单成交,整篮按计划平仓 | 平滑、稳定的收益 |
| 震荡 / 漂移 | 15–25 | 整篮平仓变慢,轻微浮亏累积 | 边际;留意敞口 |
| 持续趋势 | > 25 | 一侧始终不平仓,亏损滚雪球 | 回撤 / 保证金追缴风险 |
这就是为什么货币对的选择比在方向性策略中更重要。历史上偏区间的货币对——EUR/CHF、USD/CHF 以及其他与缓慢宏观关系挂钩的货币对——花更多时间震荡、更少时间走趋势。这正是网格所需的口粮。在加息周期中大幅走趋势的主要货币对和日元交叉盘,则是天真网格的坟场。一个跑在央行意外或避险突破行情中的网格,就是教科书式的失败案例。那条”数月平滑”、吸引买家的曲线,正是为那一次将其拱手让出的行情埋下的伏笔。
MT5 中的参数与设置
在 MetaTrader 5 内部,网格 EA 通过策略属性对话框上的少数几个输入参数暴露其风险。以下这些才是决定结果的参数——请从货币对自身的波动性、而绝非整数来设定它们:
| 输入参数 | 典型起点 | 它控制什么 |
|---|---|---|
GridStepPips | 所用周期上 ≈ 1× ATR(14)(EUR/USD H1 上为 15–25) | 层级之间的距离;越紧 = 敞口堆积越快 |
MaxLevels | 每侧 8–12,硬性封顶 | 敞口上限——你最重要的单一安全输入 |
LotPerLevel | 固定(例如 0.01) | 每一层的仓位大小;保持恒定,不要加仓 |
LotMultiplier | 1.0(即禁用) | 任何大于 1.0 的值都会把网格变成马丁格尔——一个危险信号 |
BasketTakeProfit | 所有未平仓单合计净 +$X | 在目标处平掉整篮 |
BasketStopLoss | 净 -$Y——必须设置 | 限定最坏情况的断路器 |
人们最爱跳过的两个输入参数,恰恰是让账户存活的两个。MaxLevels 限定阶梯在 EA 停止加单前能走多深;BasketStopLoss 迫使 EA 兑现亏损并重置,而不是把一个未平仓的整篮一直扛到万劫不复。一个 MaxLevels 无上限、又没有整篮止损的网格根本不是策略——它是一场被推迟的保证金追缴。
有两个 MT5 特有的陷阱值得标记。第一,网格挂单在成交前不占用保证金。所以策略测试器里的保证金数字看起来一直很宽裕,直到一波趋势把整条阶梯一次性打满的那一刻——请始终手工计算阶梯全成交后的保证金。第二,经纪商会限制每个账户可同时存在的挂单和持仓数量。低上限经纪商上的紧凑网格可能会悄无声息地无法挂出更深的层级,暗中改变了你以为自己在运行的那套策略。
- 在 MT5 中打开 EA 的属性(在图表上按
F7),并从 ATR、而非整数来设定GridStepPips。 - 硬性封顶
MaxLevels,并设定一个非零的BasketStopLoss——绝不要让二者中任何一个无上限。 - 确认
LotMultiplier为1.0,除非你已明确测算过马丁格尔的最坏情况。 - 在一段趋势时期上运行策略测试器,然后计算完全成交的阶梯在最远端会占用多少保证金。
- 只有在阶梯全成交后的保证金能带余量地放进你的账户之后,才在模拟盘上前向测试至少一周。
失败模式:网格如何爆仓
每一次网格失败都可追溯到账户无法承担的未平仓敞口。具体路径如下:
- 趋势突破。 价格离开区间,网格的一侧始终不平仓。浮动亏损随每个新层级增长,直到整篮止损触发——或者,在没有止损时,直到保证金耗尽。这是最主要的杀手。
- 隐藏的马丁格尔。 许多”网格” EA 悄悄在更深的层级放大手数。这会美化回测中的胜率和资金曲线。但在趋势行情中,它会把一个线性的、能扛下来的回撤,变成一个指数级的、足以终结账户的回撤。
- 资金不足。 账户无法为完全成交的阶梯提供保证金。EA 在数月的部分成交中看起来一切正常,然后某个单边日一次性打满每一层,在最糟糕的价格触发保证金追缴。
- 过拟合间距。 步长被优化到了某一段历史区间。当波动率发生行情切换时,同一个间距要么太紧(过度交易)要么太宽(错过震荡),优势随之蒸发。
- 成本流血。 紧凑的网格会产生很高的交易笔数。数十张小单上的点差与库存费悄悄侵蚀单笔微薄的利润,因此一个回测勉强打平的网格,一旦真实成本落地,实盘往往亏钱。
如何在 mt5depot 中构建并压力测试网格 EA
你不需要写 MQL5 就能构建一个自律的网格。在这个无代码构建器中,你组装的是同一台机器——一条挂单阶梯、一个层级上限、一个整篮目标和一个整篮止损——而且至关重要的是,你可以在冒险投入资金之前压力测试最坏情况:
- 在你实际要运行的确切货币对和周期上,从 ATR 设定间距,并至少回测三种间距。
- 硬性封顶层级数,并确认完全成交的阶梯能带余量地放进你的可用保证金。
- 保持手数固定;把任何手数倍增都当作一个需要自己的破产概率模型的马丁格尔来对待。
- 挂上一个非零的整篮止损,让最坏的单边行情有界、而非无限敞开。
- 在货币对最糟的趋势区段上回测,然后在模拟盘上前向测试至少一周。
自己动手构建的价值在于,你能亲眼看到一个购买来的网格 EA 所隐藏的回撤。当你在 tick 数据上把同一个网格跑过一段趋势时期,那个在营销里”总能恢复”的整篮,要么在你的保证金内恢复过来,要么恢复不了。构建器会告诉你是哪一种,而不必等到实盘账户以惨痛方式发现真相。
网格与趋势策略对比
因为网格从震荡中获利,它是趋势跟踪型 EA 在结构上的对立面——而两者在相反的条件下失败,这正是交易者有时把它们配对使用的原因。
| 网格 | 趋势跟踪 | |
|---|---|---|
| 最佳行情 | 区间(ADX < 20) | 趋势(ADX > 25) |
| 胜率 | 高(许多小赢) | 低(少数大赢) |
| 亏损形态 | 肥厚左尾(突破) | 许多小亏(震荡) |
| 资金需求 | 高(为未平仓阶梯供资) | 中等 |
| 最大天敌 | 一波持续趋势 | 一段安静区间 |
两者没有孰”更好”;它们是应对不同天气的工具。错误在于把网格当作全天候系统来部署。它是一个区间专家,一旦市场朝某个方向发力,就必须被关闭——或由一个硬性整篮止损和一个趋势过滤器来保护。
相关文章
常见问题
- 什么是网格交易 EA?
- 网格交易 EA 是一种在固定价格间隔(例如每 20 点)挂出买卖挂单、而不去预测方向的智能交易。当价格在网格中来回震荡时,反向挂单成交并锁定小额收益,当整篮净浮动利润达到目标时全部平仓。它是一种均值回归工具,在震荡市中如鱼得水,在持续趋势中则备受打击。
- 网格交易能盈利吗?
- 在价格反复穿越同一批价位的震荡、低趋势环境下,网格 EA 可以盈利,但它的资金曲线隐藏着一条肥厚的左尾:一次单边突破就可能累积大量未平仓亏损单,抹去数月的收益。盈利与否更多取决于回撤控制——网格宽度、硬性的整篮止损、以及固定(而非马丁格尔)手数——而非表面上的胜率。
- 在 MT5 中应使用多大的网格间距?
- 间距应取自货币对自身的波动性,而非某个整数。常见做法是把间距设在你所用周期的 14 周期平均真实波幅(ATR)附近:在 EUR/USD H1 上通常为 15-25 点。间距越宽,成交越少、单笔越大,整篮建仓越慢;间距越紧,捕捉的震荡越多,但未平仓敞口堆积也越快。在正式启用前,请在同一份 tick 数据上至少回测三种间距。
- 我的账户能支撑多少个网格层级?
- 用可用保证金除以你杠杆下每手所需的保证金,再除以每层的手数,即可得到触发保证金追缴前可同时持有的最大仓位数。如果一个网格能开出 20 层 0.01 手,而账户在网格最远端无法为这 20 层全部提供保证金,那么该 EA 就是资金不足。始终按最坏情况、而非平均月份来设定这条阶梯。
- 网格 EA 应该使用马丁格尔加仓吗?
- 固定手数要安全得多。马丁格尔式加仓——在越深的层级放大手数——会让回测中的资金曲线看起来更平滑,却会在趋势行情中把网格原本可控的回撤变成足以摧毁账户的尾部风险。如果你一定要加仓,请给倍数和层数设上限,并在实盘前精确测算最坏情况下的损失。
- 网格交易和马丁格尔是一回事吗?
- 不是。纯网格在每一层都使用恒定手数,靠震荡获利;马丁格尔则在亏损后放大手数,以强行拉出一个扭亏为盈的赢单。许多公开发布的网格 EA 悄悄在网格上叠加了马丁格尔加仓,而大多数账户爆仓正是源于此。请仔细阅读参数,在你证实了最坏情况之前,把任何手数倍增参数都视为危险信号。