W 靠谱外汇
第 25 / 120 课 第 3 级 · 交易平台 阅读约 14 分钟

MT4 和 MT5 哪个好?从时间周期到编程语言的完整对比

打开任何一家经纪商的下载页,你都会同时看到 MT4 和 MT5 两个按钮,数字大的那个看起来理所当然是新版。这个直觉会让很多人选错。这两个平台由同一家公司在 2005 年和 2010 年先后发布,至今仍在同步维护,代码互不兼容,各自都有一批不会迁移的用户。这一课把两者的差异逐项摊开,最后给你三个问题,答完就知道该装哪个。

前置课程: 外汇订单类型完全指南:市价单、挂单、止损与止盈 外汇交易成本有哪些?点差、手续费与隔夜利息全解析

MT4 与 MT5 总览对比图:左栏 MT4 标注 2005 年发布、9 个时间周期、4 种挂单类型、MQL4 语言、生态最成熟;右栏 MT5 标注 2010 年发布、21 个时间周期、6 种挂单类型、MQL5 语言、功能更全,底部强调两者不是升级关系而是并行的两套产品。
图 1:两套并行的产品,不是新旧两个版本

先纠正一个普遍的误会

MetaTrader 4 发布于 2005 年,MetaTrader 5 发布于 2010 年,两者出自同一家公司 MetaQuotes。 按常理,五年之后的产品应该取代前一个,但实际情况是:十六年过去了,MT4 至今仍在维护,仍是全球零售外汇装机量最大的客户端

原因不复杂。MT5 在设计时的目标不是做一个更好的 MT4,而是做一个能同时容纳外汇、股票、期货的通用终端。 这个目标要求重写底层架构,代价是原来为 MT4 写的所有程序全部作废。 当时整个行业已经积累了海量的 MQL4 程序、指标和跟单系统,没有人愿意为了一个自己用不上的股票模块把它们全部重写。 于是 MT5 没有替代 MT4,两者变成了并行的两条线。

理解了这一点,接下来的所有差异才有意义。它们不是「旧功能」和「新功能」的关系,而是两套定位不同的产品各自的取舍。

八个维度逐项对比

下表列出两者的全部主要差异。最后一列是这项差异对普通交易者的实际影响,很多参数表不写这一列,而它恰恰是最该看的:

对比项 MT4 MT5
发布年份 2005 年 2010 年
时间周期 9 个 21 个
挂单类型 4 种 6 种
编程语言 MQL4 MQL5
可交易品种 外汇与差价合约 另加真实股票与期货
回测 单线程 多线程
持仓模式 仅对冲 对冲或净持仓
中文教程 数量遥遥领先 逐年增加

把这张表读一遍会发现一件事:八项差异里,真正会影响你日常操作的只有两项, 一是编程语言不兼容,二是持仓模式。其余六项要么差别很小,要么只在特定场景下才显现。

时间周期:21 个听起来很多

MT4 提供 9 个标准周期:M1、M5、M15、M30、H1、H4、D1、W1、MN。 MT5 在这 9 个之外增加了 12 个非标准周期,合计 21 个。

时间周期数量对比图:MT4 提供 9 个标准周期,MT5 在此基础上增加 M2、M3、M4、M6、M10、M12、M20、H2、H3、H6、H8、H12 共 12 个非标准周期,合计 21 个,底部说明实际常用的只有四个。
图 2:多出来的 12 个都是非标准周期

听起来是压倒性的优势,实际上不是。 绝大多数策略只会用到 M15、H1、H4、D1 这四个,它们两个平台都有。 多出来的 12 个在两种场景下有价值:一是做多周期共振分析时想找一个介于 H1 和 H4 之间的观察尺度,二是回测时验证策略对周期是否过度敏感。 对手动交易者来说,这一项的实际影响接近于零。

更值得警惕的反而是反方向的问题:周期越碎,噪音越多。 给新手 21 个周期,结果往往不是分析更精细,而是在周期之间反复横跳,把一次本来能拿住的波段切成七八笔互相矛盾的短线。

挂单类型:多出来的两种是干什么的

MT4 有 4 种挂单,MT5 有 6 种。前 4 种完全相同,这些在第 21 课已经讲过。 多出来的两种叫 Stop Limit,它的机制值得单独说明:

英文名 中文 哪个平台
Buy Limit 买入限价 两者都有
Sell Limit 卖出限价 两者都有
Buy Stop 买入止损 两者都有
Sell Stop 卖出止损 两者都有
Buy Stop Limit 买入止损限价 仅 MT5
Sell Stop Limit 卖出止损限价 仅 MT5
挂单类型对比图:MT4 提供买入限价、卖出限价、买入止损、卖出止损共 4 种挂单,MT5 在此基础上增加买入止损限价与卖出止损限价 2 种,图中说明后两种是止损触发后再挂限价单的组合指令。
图 3:Stop Limit 是两道指令的组合

举个具体例子。EUR/USD 在 1.0850 附近震荡,你判断突破 1.0880 之后会继续上涨,但不愿意在 1.0880 直接追买, 希望等它突破后回踩到 1.0865 再进场。用 Buy Stop Limit 可以一次性表达这个意图: 止损价 1.0880 负责触发,限价 1.0865 负责成交。 价格没突破就什么都不会发生,突破了但不回踩,这一单也不会成交。

这是一个真实存在但并不高频的需求。用 MT4 的人通常靠盯盘手动处理,或者干脆放弃这类入场。 如果你的策略核心正是「突破回踩」,这一项对你有价值;否则它只是参数表上多出来的一行。

编程语言:唯一真正回不了头的差异

前面所有差异都可以适应,只有这一项不行。

EA 语言不兼容示意图:左侧 MQL4 源码文件通过一条被红色叉号截断的箭头指向 MT5,右侧 MQL5 源码同样无法运行于 MT4,中间标注两种语言需要重写而非转换。
图 4:没有转换工具,只能重写

MT4 的程序用 MQL4 写,扩展名是 .mq4 和 .ex4;MT5 用 MQL5,扩展名是 .mq5 和 .ex5。 两种语言在语法结构和函数库上差异很大,没有官方转换工具,也没有可靠的第三方转换器, 唯一的路径是拿到源码后重新编写并重新测试。

对中文用户来说,这一点的现实意义比表面上更重。中文社区流传的 EA、指标、跟单方案, 绝大多数仍然是 MQL4 生态的产物。如果你打算使用某个具体的 EA,先确认它有没有 MT5 版本, 这个确认要放在选平台之前,而不是之后。

可交易品种与回测

MT5 能容纳真实股票、期货和交易所层级的市场深度,MT4 不能。 但这里有一个容易被忽略的前提:客户端支持不等于你的经纪商提供。 多数零售外汇经纪商即便给你 MT5,也只提供外汇和差价合约, 股票和期货那部分能力在你的账户上是空的。

可交易品种覆盖对比条形图:外汇货币对与差价合约两者相同,真实股票、期货合约、市场深度三项仅 MT5 支持,右侧标注对纯外汇交易者没有实际差别。
图 5:只做外汇的人感受不到这一栏的差别

回测是另一个真实的差异。MT5 的策略测试器支持多线程,可以调用多个 CPU 核心并行运算, 同样一组参数优化,MT4 要跑一整夜,MT5 可能一两个小时就结束。 对手动交易者这没有意义,对要做大量参数优化的人则是决定性的。

持仓模式:换过去之后最容易懵的一点

这是表格里第二项会影响日常操作的差异,也是从 MT4 换到 MT5 的人最容易被吓一跳的地方。

MT4 只有一种持仓模式,叫对冲(Hedging):同一个品种上可以同时持有多笔买单和卖单, 每一笔独立计算盈亏,互不影响。你买了 0.1 手 EUR/USD,接着又卖 0.1 手, 结果是账户里躺着两个仓位,一多一空。

MT5 支持对冲,也支持净持仓(Netting):同一个品种永远只有一个净头寸。 同样是先买 0.1 手再卖 0.1 手,在净持仓账户上第二笔会把第一笔平掉,最终仓位归零。 这是股票和期货市场的通行做法,MT5 为了容纳这些市场才引入它。

问题出在这里:用哪种模式不是你能选的,由经纪商在开户时为该账户设定,开完户不能自己改。 习惯了 MT4 的人第一次登上净持仓账户,做完一笔反向单之后看到持仓列表空了, 第一反应通常是「我的单子怎么没了」,紧接着怀疑平台吞单。其实什么都没发生, 只是第二笔指令被解释成了平仓而不是开新仓。

对零售外汇用户来说这件事的实际影响有限,因为绝大多数外汇经纪商给的 MT5 账户仍然是对冲模式, 毕竟他们的客户都是从 MT4 过来的。但开户后花十秒确认一下是哪种模式, 可以省掉一次不必要的惊吓。确认方法很简单:在同一品种上开一笔极小的反向单,看仓位是变成两个还是归零。

三个问题,选出你的那一个

把上面所有内容压缩成一个可执行的规则,就是下面这张表。从上往下问,遇到第一个「是」就停下

你的情况
手里已经有 MQL4 的 EA 或自定义指标,且不打算重新购买 MT4
要交易真实股票、期货,或需要交易所层级的市场深度 MT5
打算做大量参数优化和历史回测 MT5
以上三条都不符合 MT5
选择流程图:依次判断是否有已购买的 MQL4 EA、是否要交易真实股票或期货、是否要做大量策略回测,任一为是即由该条决定,三条全否时默认选择 MT5。
图 6:遇到第一个「是」就停下

多数中文新手三个问题的答案都是「否」,所以答案是 MT5。 这不是因为 MT5 更先进,而是因为在没有历史包袱的情况下,选功能超集的那个,未来不必再迁移一次。

最后提醒一件事

客户端不决定你的交易成本。点差、佣金、隔夜利息、滑点、执行速度,全部由经纪商决定,与你装 MT4 还是 MT5 无关。 在同一家经纪商开的 MT4 账户和 MT5 账户,拿到的是同一套报价源。(注意账户本身不通用:MT4 账户只能登录 MT4,MT5 账户只能登录 MT5,两者在服务器上是分开的,开户时就要选好。)

这句话之所以要单独强调,是因为中文外汇圈里有大量内容把平台选择说得像是能影响盈亏的关键决策。 它不是。真正影响成本的是你在第 29 课要学的经纪商选择, 以及账户类型的选择。客户端只是一个工具,选顺手的那个就够了。

本课要点回顾

  • MT4 与 MT5 是并行维护的两套产品,不是新旧两个版本。
  • 八项差异里只有两项影响日常操作:编程语言与持仓模式。
  • MQL4 与 MQL5 互不兼容,没有转换工具,这是唯一不可逆的差异。
  • 21 个时间周期实际常用的只有四个,周期越碎噪音越多。
  • Stop Limit 挂单解决的是「突破要跟但不想追高」这一个场景。
  • 客户端不决定交易成本,点差与佣金全部由经纪商决定。

常见问题

MT5 是 MT4 的升级版吗?

不是。它们是同一家公司 MetaQuotes 先后发布的两套独立产品,2005 年的 MT4 和 2010 年的 MT5 至今都在同步维护和更新。MT5 在架构上支持更多市场,但它并没有取代 MT4,也无法直接读取 MT4 的程序。把它们理解成 Windows 和 Linux 那样的并行关系,比理解成 Windows 10 和 Windows 11 更接近事实。

MT4 的 EA 可以在 MT5 上用吗?

不可以。MT4 的程序用 MQL4 编写,MT5 用 MQL5,两种语言的语法与函数库差异很大,没有官方转换工具,只能重新编写。这是选择平台时唯一不可逆的因素:如果你已经购买或长期使用某个 MQL4 的 EA、指标或脚本,换到 MT5 意味着这些资产全部作废。反过来同理,MQL5 的程序也无法在 MT4 上运行。

新手应该选 MT4 还是 MT5?

如果你没有任何历史包袱,也就是手里没有必须继续使用的 MQL4 程序,那么选 MT5。理由不是它更新,而是它的功能是 MT4 的超集:同样能做的事情它都能做,另外还支持股票、期货、内置经济日历和多线程回测。现在选 MT5 意味着以后不必再迁移一次。多数中文新手的实际情况正是没有历史 EA,所以答案通常就是 MT5。

MT5 的 21 个时间周期有用吗?

实际用处有限。MT5 比 MT4 多出 M2、M3、M4、M6、M10、M12、M20、H2、H3、H6、H8、H12 这 12 个非标准周期,但绝大多数交易策略只会用到 M15、H1、H4、D1 这四个。多周期在特定回测场景下有价值,比如验证某个策略对周期是否敏感,但把周期数量当作选平台的主要理由,是被参数表带偏了。

两个都装可以吗?

可以,而且很常见。同一台电脑上可以同时安装 MT4 和 MT5,甚至同时安装不同经纪商各自的客户端,它们互不干扰,只是桌面上会多几个图标。如果你还在犹豫,最省事的做法就是两个都装上模拟账户,各用一周,看哪个的操作节奏更顺手。真正需要谨慎的不是装哪个客户端,而是真实账户开在哪个平台上,因为那关系到你的 EA 和历史数据。

课后小测验

共 5 题,选择后点击「查看答案」。自测不计分。

  1. 1.MT4 和 MT5 之间唯一不可逆的差异是什么?

  2. 2.一个没有任何历史 EA 的新手,应该选哪个?

  3. 3.Buy Stop Limit 这种挂单类型解决什么问题?

  4. 4.下列哪一项是 MT4 相比 MT5 的真实优势?

  5. 5.关于净持仓与对冲两种模式,正确的说法是?