对冲账户与净额账户:决定EA能不能按设计运行的一个词

25 九月 2026, 02:00
Kenichiro Sakamoto
0
3
每一个MT5账户不是对冲(hedging)就是净额(netting)。它由经纪商在开户时固定,决定了当EA在已持仓的品种上再发一笔订单时终端会做什么。绝大多数零售EA——包括我们的——都是按对冲模式写的。把它放到净额账户上,它不会崩溃也不会报警,只会悄悄地去交易一个跟你买到的策略不一样的东西。

两种模式到底做了什么
在对冲账户上,每一笔成交的订单都是独立的持仓。EA可以在同一品种上同时持有买单和卖单,或者持有三笔止损各异的买单,并且只平其中一笔而不碰其他。在净额账户上,终端对每个品种只保留一个持仓。第二笔买单以平均价并入第一笔。持有买单时发出的卖单会减少买单、平掉买单,或者在卖单更大时直接反手做空。第一笔的止损和止盈会被最后一笔订单携带的数值替换。从第二笔订单开始,EA以为自己持有的和终端实际持有的就对不上了。

为什么回测对此一言不发
策略测试器里有同样的开关,而几乎所有公开的回测——包括我们的——都是在对冲模式下跑的,因为EA就是为它写的。对冲模式的回测对净额模式不构成任何证据:它从未走过"开仓变成修改"的那条代码路径,也没走过"前一笔的止损被后一笔覆盖"的那条。唯一诚实的办法是在测试器里选净额再跑一遍,而对大多数EA来说,得到的不是"同一策略稍差一点的版本",而是资金曲线完全不同的另一个策略。

怎样查看自己的账户
在终端里,导航器的账户行和"交易"标签页的标题会在账号和杠杆旁边显示模式:写的是 Hedge 或 Netting。测试器的设置页里有同样的选项。已有账户无法切换,只能新开一个另一种类型的账户。大多数经纪商的标准MT5账户是对冲。某些交易所产品、某些面向受监管或机构市场的账户、以及某些辖区的经纪商只提供净额——去账户说明里找这个词,它会写在那里。

症状长什么样
持仓数比EA逻辑应该产生的少。日志里在你期待"position opened"的地方写着"position modified"。止损不是EA设定的那个。网格或加仓类EA开了一单之后就再也不动。对冲类EA的卖单把买单平掉了,而不是与之并行。这些都不是开发者能修的bug:代码做了它被告知的事,终端做了净额账户该做的事。把其中任何一条写进报告发过去,收到的第一个反问就是:账户是哪种模式。

解决办法不是一个set文件
有买家会来要"净额版参数"。对于逻辑依赖于分别持仓的EA,不存在这种东西。降低手数或关掉过滤器,都不能让它重新获得在一个品种上持有两个持仓的能力。有些EA会检测模式并拒绝交易,那是有礼貌的做法;大多数只是继续跑。解决办法是一个对冲账户,在同一家或另一家经纪商开。如果你的经纪商只提供净额,那是一个真实的限制,买什么都去不掉它。

买任何东西之前,先查这个
读账户行里的一个词只要十秒钟,却决定了一个EA到底能不能按设计运行。卖家很少提这件事,因为它被当作前提,而这个前提通常是对的——正因为如此,例外才格外昂贵:一周古怪的交易之后提交退款申请,然后被拒绝,因为产品在对冲账户上确实做到了它所宣称的事。先把那个词读一遍。

我们销量前列的EA: GOLD NEURON (AI) https://www.mql5.com/zh/market/product/187329 · ATLAS PORTFOLIO https://www.mql5.com/zh/market/product/182751

我们公开的回测均标明周期、资金与设置,前瞻账户在所有展示处均标注为模拟账户。完整列表: fxea365.com/ea/ranking