什么是 MT4 和 MT5 中的魔术号?
魔术号是 EA(智能交易系统)写进每笔订单的一个整数,MetaTrader 会在这笔交易的整个生命周期里一直保留它。有了它,多个策略可以共用一个账户,事后照样分得清。手动下的单,魔术号是零。
工作原理
这个数字是下单函数的一个参数,由代码设定,经纪商和平台都不管。
MT4: OrderSend(symbol, cmd, lots, price, slip, sl, tp, comment, magic, ...)
MT5: request.magic = 55566; → 带到仓位和每一笔成交上
手动点击: magic = 0
由此带来三个特点,每一个都容易让人踩坑。
- 没有人校验它。没有任何环节检查这个值是否唯一、有没有意义。两个 EA 设了同一个整数,在记录里就永远混在一起,而且各自都会把对方的仓位当成自己的来管理。
- 零是一个实实在在的值,不是空值。手动点击下单带的是零,魔术号参数一直没改默认值的 EA 带的也是零,两者从此就分不开了。
- 事后补不上。请求离开终端的那一刻,这个值就定死了,并随交易一起保存;当初是零的历史,永远都是零。
其他平台用别的字段表达同样的意思:cTrader 上的 cBot 写的是文本标签,TradeLocker 在订单上附带策略 ID,其中数字形式的 ID 在本站按魔术号读取。实际上,按策略拆分主要还是 MT4 和 MT5 的事。
为什么重要
一个账户跑三个策略,页面上每个核心数字都是三者混在一起的结果。盈利因子、胜率、回撤和净值曲线都按合并后的数据计算,所以一个稳定亏钱的策略可以在盈利的总账里藏上好几个月,任何图表上都看不到它单独的那条线。账户看起来很健康,因为从总体上看,它确实健康。
合并之后还能把策略区分开的,只有魔术号这一个字段。设得好,历史一进来就已经按策略分成了一份份独立的业绩记录,可以互相比较,分别调整仓位,或者一个个停掉。设得马虎,事后再怎么分析也还原不出来。
数据显示了什么
这个字段在本站的分量,比大多数账户所有者想象的更重,因为每个账户页面上的自动化比例就是靠它算出来的:一笔交易只要带着非零魔术号,或者在用策略标签代替魔术号的平台上带着策略标签,就算作自动交易。在 ShowMyTrades 上有交易历史的公开账户中(2026 年 8 月),自动交易占比中位数为 99%,53.9% 的账户自动化程度超过 90%。换句话说,这些账户里几乎每一笔订单进来时都已经带好了标记。
之所以要尽早打标记,是因为样本量。账户的已平仓交易数中位数为 171 笔。分到三个策略上,每个只有五十七笔左右,还不足以让胜率或盈利因子说明什么。从第一笔订单就打标记,每个策略才能在您必须对它做决定之前,攒够一个看得懂的样本。另一种做法是一个策略一个账户,在本站也很常见:699 位用户有不止一个账户,429 位在不止一家经纪商交易。
在 ShowMyTrades 上的位置
分类统计模块(账户设置里叫货币对统计)在按品种旁边有一个按魔术号标签页,只要账户有可以拆分的已平仓交易就会出现。每一行显示 EA / 策略、原始魔术号、交易数、盈利,以及盈利单和亏损单的数量与百分比。魔术号为 0 的那一行标为手动,也是唯一不能改名的一行:它不是一个策略,而是所有没带标记的交易。
EA / 策略单元格可以直接编辑,55566 就这样变成一个半年后您还认得出的名字。这些名字之后会跟着数据走:交易历史与余额变化下的已平仓交易表格有一个魔术号列,逐笔显示原始整数;自定义分析侧边面板有一个魔术号筛选器,标签显示为手动 (0) 或标签 - 55566。选中其中一个,页面上的所有统计都会只按这个策略重新计算。
常见误解
- “魔术号以后再设。”没有以后。这个字段在下单时写入,过去的交易没法重新打标记。
- “我的 EA 会自动搞定。”前提是参数改过。默认值为 0 的情况很常见,会悄无声息地把 EA 和您的手动交易混在一起。
- “标为手动,就是我手动下的单。”手动这一行装的是所有没带标记的交易:手动下的单,加上所有魔术号停在零的 EA。
- “魔术号能告诉您这是哪个机器人。”什么也说明不了。55566 不过是作者填进去的数字。
从给策略命名,到揪出那个悄悄亏钱的策略,完整流程见魔术号与策略标签。
相关术语
盈利因子 (Profit Factor)
盈利因子是总盈利除以总亏损,低于 1.0 的账户注定亏损。本文给出各数值区间的解读,以及数千个账户的中位数 1.28。
智能交易系统 (Expert Advisor)
EA(智能交易系统)是在 MetaTrader 里替您交易的程序。它能做什么、做不到什么,本站发布的账户自动化程度又有多高。
回测 (Backtesting)
回测就是拿历史价格数据模拟交易策略。它能证明什么、证明不了什么,以及为什么与经纪商同步的实盘结果几乎总会和它不一样。
MetaTrader (MT4/MT5 交易平台)
大多数零售外汇账户都在 MetaTrader 上运行。本文讲清 MT4 与 MT5 的区别、投资者密码的作用,以及我们看到的真实平台分布。