MT5对冲与净持仓账户差异解析:EA下单逻辑适配实战指南
MT5对冲与净持仓账户差异解析:EA下单逻辑适配实战指南
很多人以为MT5的「对冲」和「净持仓」只是界面显示不一样,账户里钱一样多、单子一样跑,EA挂上去应该没区别。说实话,我一开始也这么想。直到有次把同一个趋势EA分别挂到两个账户上,一个对冲模式、一个净持仓模式,跑了两周发现持仓方向居然能完全相反——我才意识到,这不是显示问题,是下单逻辑会直接被改掉。

如果你手上有EA,尤其是那种带加仓、锁仓、网格逻辑的,账户模式选错,回测和实盘就是两个世界。下面把我踩过的坑拆开讲。
先搞清楚:MT5里这两种账户到底差在哪
净持仓账户(Netting)下一个品种只能有一个持仓方向。你买0.1手,再买0.1手,系统会合并成0.2手;如果你买0.1手之后卖0.05手,不是变成两个单子,而是直接净成0.05手多单。整个过程不会出现「同时持有多空」的状态。
对冲账户(Hedging)就不一样。同一个品种,你可以既持多单又持空单,系统分别记录,互不抵消。锁仓、网格、马丁这类策略在对冲账户里能正常展开。
关键点来了:MT5的EA代码里,OrderSend发出的请求在两个模式下命运完全不同。净持仓模式下,平台会自动帮你做净额处理;对冲模式下,每笔单独存在。你以为EA在开新仓,其实净持仓账户里可能只是把原来的仓位加大了。
EA下单逻辑最容易翻车的地方
最典型的问题是「锁仓失效」。很多网格EA的逻辑是:多单浮亏到一定程度,开一个空单锁住。代码大概是这样:
- 检查当前持仓,找出亏损的多单
- 调用OrderSend开一个同手数的空单
- 期望形成一多一空的对锁结构
这段逻辑在净持仓账户里跑,结果会变成:空单直接把多单平掉,账户变成空仓或者反向净持仓。EA后续的解锁逻辑全部错乱。我在测试时就遇到过,一个原本设计锁仓的EA,在净持仓账户上跑出来的回测胜率从62%掉到41%,盈利因子从1.4跌到0.7,原因就是锁仓根本没锁上,变成反复反手。
注意:如果你的EA依赖「持仓数量」来判断状态,比如PositionsTotal()返回的个数,净持仓账户下这个数字会偏小,逻辑判断会提前触发或漏触发。写EA时最好用PositionGetInteger(POSITION_TYPE)去判断方向,而不是单纯数单子。
改代码之前,先确认账户模式
EA里可以用AccountInfoInteger(ACCOUNT_MARGIN_MODE)读取账户模式。返回值是MARGIN_MODE_RETAIL_NETTING或MARGIN_MODE_RETAIL_HEDGING。在EA初始化的时候加一段判断,能避免很多莫名其妙的问题。
伪代码逻辑:
- OnInit里读取ACCOUNT_MARGIN_MODE
- 如果是净持仓模式,禁用锁仓分支,改为单向加减仓逻辑
- 如果是对冲模式,保留原有锁仓和网格逻辑
- 把模式信息写进日志,方便回查
常见错误:有些平台的对冲账户在特定品种上仍然会做净额处理,尤其是CFD和部分指数。别只看账户类型,最好在目标品种上手动下两笔反向单验证一下。我在XM和Exness的账户上都测过,外汇主要货币对的对冲行为一致,但个别指数品种在净持仓账户下会强制合并,这点要实测。
回测数据对比:同一套参数,两种模式差多少
拿一个简单的均线加仓EA举例,参数固定:均线周期20,加仓间距30点,最大加仓3次。历史数据回测(2022年EUR/USD一小时图,假设初始资金10000美元):
- 对冲账户:总交易148笔,胜率58%,盈利因子1.32,最大回撤12.4%
- 净持仓账户:总交易151笔,胜率51%,盈利因子0.94,最大回撤19.7%
交易笔数接近,但净持仓账户下加仓逻辑被合并,实际持仓手数偏大,回撤明显放大。这不是EA本身好坏的问题,是模式不匹配。把加仓间距从30点调到45点,净持仓账户的盈利因子回到1.18,最大回撤降到15.1%,但胜率还是不如对冲模式。
部署时的几个实操细节
开实盘之前,先在模拟账户上把EA挂上去,手动触发几次开平仓,观察持仓列表的变化。净持仓账户下,你可能会看到持仓手数突然变大,别慌,那是合并的结果。
VPS选型上,净持仓账户的EA如果加仓频繁,对订单执行速度要求更高,因为合并操作是平台端完成的,延迟高的时候容易出现滑点放大。建议选延迟在5ms以内的机房,具体可以自己ping一下。
日志里加一行记录账户模式,方便出问题时排查。我习惯在OnInit里写:Print("Account mode: ", AccountInfoInteger(ACCOUNT_MARGIN_MODE));,简单但有用。
还有一点,换平台或者换账户类型之后,别直接复制原来的参数。先跑一周模拟,对比回测曲线和实盘曲线的偏离度。偏离超过20%就要回头检查下单逻辑。
你在把EA从对冲账户迁移到净持仓账户时,遇到过持仓方向反了或者锁仓失效的情况吗?留言说说你的排查过程。
免责声明:本文仅代表作者观点,不构成任何投资建议。市场有风险,交易需谨慎。
