Titan FX

MQL4 程序语言入门教学:MQL4是什么?新手从零学写自动交易程序

MQL4 程序语言入门教学:MQL4是什么?新手从零学写自动交易程序

在外汇与差价合约(CFD)交易中,如何提升执行效率与策略稳定性,是许多交易者关注的重点。 MQL4 程序语言 提供了一个解决方案,让你能在 MetaTrader 4(MT4)平台上开发 EA(Expert Advisor),实现自动下单、风险控管与资金管理。

本篇 MQL4 教学 将专为零基础新手设计,从环境设定开始,带你了解 MetaTrader 4(MT4) 的核心运作逻辑。我们将解析基础语法与事件函数,并结合 Titan FX 提供的免费资源与前测数据,帮助你逐步建立自己的自动交易系统。

1. 什么是 MQL4?从 MT4 到自动交易完整理解

MQL4 是 MetaQuotes 专为 MetaTrader 4(MT4)开发的程序语言,相当于 MT4 的「交易指令手册」。它能把你的交易策略转化成电脑可以自动执行的程序,让交易不再依赖人工盯盘。

MT4 可建立的三种常用程序类型

在 MT4 中,使用 MQL4 可以建立以下三种最常见的程序:

  • EA(Expert Advisor,专家顾问):自动执行买卖、设定停损停利、资金管理等,是自动交易的核心工具(本文重点)。
  • 自订指标(Custom Indicator):在图表上绘制各种技术指标、线条、图形。
  • 脚本(Script):执行一次性任务,例如快速平仓、画线、修改订单等,用完即止。

其中,EA 是最强大的自动交易工具,也是本文主要讲解的对象。

MT4 核心运作逻辑(以 EA 为例)

MT4 的运作以 Tick(报价跳动) 为基本单位。每当市场价格有任何变动,就会产生一个 Tick。

当你把 EA 挂载到图表上后:

  • MT4 会持续把最新的 Tick 资料传给 EA。
  • EA 则通过 OnTick() 函数接收这些 Tick,并根据你写好的策略决定是否下单、管理订单、调整止损止盈等。

重点: 所有自动交易的判断逻辑,主要都写在 OnTick() 函数里。它就像 EA 的「心跳」,每跳一次就执行一次你的交易逻辑。

与 MQL5 相比,MQL4 语法更简单,适合新手入门,且拥有成熟的 EA 生态,大量现成程序码可供参考修改。

2. MQL4 怎么写 EA? MetaEditor 完整操作流程

开启 MT4 的 MetaEditor,依循以下流程即可完成开发:

  • ① 登入MT4 - 点选导航栏的黄色图示,开启MetaEditor。
  • ② 点击「New」-「Expert Advisor (template)」,在「Expert\」后输入名称与作者资讯后继续。
  • ③ 根据需要选择额外的EA交易时间处理常式,也可以不勾选直接进行下一步。
  • ④ 在编辑区撰写程序码(副档名为 .mq4),完成后点击「Compile」进行编译,成功后会产生 .ex4 执行档。
  • ⑤ 回到 MT4,在「Navigator」→「Expert Advisors」找到档案并拖曳到图表上,完成挂载。
MQL4编写EA程序码后保存并编译确认无错误的完整操作步骤

※ 新手最常遇到的问题是 EA 挂载后右上角没有出现笑脸。这通常是因为你没有开启「允许自动交易」的功能。点击「工具(Tools)」→「选项(Options)」→「EA交易(Expert Advisors)」,勾选「Allow automated trading」。

解决MT4 EA无法运行问题开启自动交易与EA交易设定的操作画面

3. 语法极简版:新手必学的资料型态与 OnTick 函数

开发 MQL4 EA 并不需要背诵成千上万的代码,掌握最核心的「资料型态」与「运作心脏」,就能组装出逻辑完整的自动化策略。

核心资料型态

资料型态说明实战用途范例
int整数(无小数)指标周期、MagicNumber、订单编号
double带小数点精准数值Ask/Bid 价格、Lot 大小、点数
booltrue / false是否允许进场、讯号是否成立

EA 的运作心脏:OnTick() 函数

OnTick() 是 MQL4 EA 最重要的事件函数。

  • 执行时机:市场每出现一次新的报价(Tick),系统就会执行一次 OnTick() 内的程序码。
  • 开发重点:所有交易判断逻辑(例如快线穿过慢线就买入)都应该放在这里。

常用行情变数

  • Ask / Bid:目前买入价与卖出价(决定开仓价格)
  • Close[0]:当前尚未完成 K 线的即时价格
  • High[0] / Low[0]:当前 K 线最高价与最低价

掌握这些后,搭配简单 if 判断(如 if(Close[0] > High[1]))就能建立第一套自动交易规则。

4. 避坑指南:EA 常见错误与稳定性优化

撰写 MQL4 EA 时,语法错误容易被发现,但逻辑错误与执行问题却常让新手卡关。以下整理最常见的错误与实用避坑技巧。

常见开发错误速查

错误类型常见原因解决方法
语法报错遗漏 ; 或大括号不对称双击 MetaEditor 错误讯息跳转修正
下单失败 (130)停损停利距离太近使用 MarketInfo() 查最小间距并加缓冲
资金不足 (134)保证金不够动态计算手数或检查账户余额

程序稳定度提升技巧

实用工具主要功能建议使用时机
Print()把变数数值或讯息记录到「专家」日志追踪程序内部逻辑是否正确
Comment()在图表左上角即时显示资讯即时观察关键变数
策略测试器可视化模式(Visual Mode)观看 EA 实际运行开发初期验证进出场逻辑
模拟账户测试在真实市场环境中使用虚拟资金运行上线实盘前的最终验证

关键提醒:避免过度优化历史数据。建议从简单策略开始,在模拟账户长期运行,确认风险控管合理后再转实盘。

5. 免费 EA 资源推荐:利用 Titan FX 前测数据加速实战

如果你觉得从零开始开发过于困难,利用经纪商提供的成熟资源是一个非常聪明的做法。 Titan FX提供了超过 70 款免费 EA 程序,同时支援 MT4 与 MT5。

Titan FX EA前测排名页面显示不同自动交易策略的收益与回撤数据

这些资源的价值在于透明度:

  • 可在 Titan FX 研究所查看真实市场环境下的前测表现(比纯历史回测更可靠)。
  • 通过 EA 排名页面,能清楚看到收益率、最大回撤、胜率与获利因子。

新手可以挑选排名靠前、回撤适合自己风格的 EA,下载后先在模拟账户观察。这不仅加速自动化进程,也是学习专业 EA 结构的最佳方式。

6. 常见 FAQ:关于 MQL4 与 EA 开发的疑难杂症解答

Q1:可以在一张图表挂载多个 EA 吗?

不行,每张图表只能执行一个 EA。如果你需要运行多个策略,请为同一个货币对开启多个独立的图表视窗。

Q2:MT4 的 EA 可以直接用在 MT5 吗?

不行。由于 MQL4 与 MQL5 的交易逻辑有显著差异,代码无法直接共用。你需要根据 MQL5 的物件导向架构重新编写逻辑。

Q3:.mq4 与 .ex4的差别是什么?

.mq4 是可编辑的源码档案,.ex4 是编译后的执行档。修改程序时只能编辑 .mq4,载入平台则使用 .ex4。

Q4:EA 一定能稳定获利吗?

不一定。 EA 的表现取决于策略逻辑与市场环境,没有任何策略能在所有行情中稳定获利。因此风险控管与持续优化仍然非常重要。

7. 总结

通过这篇教学,你已了解 MT4 环境设定、MQL4 基础语法、EA 开发流程、除错优化,以及 Titan FX 免费资源的运用。

虽然自行撰写 EA 需要练习,但从简单逻辑开始,并善用回测与模拟账户验证,就能逐步打造稳定系统。同时,参考 Titan FX 的前测排名与成熟 EA,能大幅缩短你的学习与实战曲线。

使用 EA 开始外汇程序交易

通过 Titan FX 提供的免费 EA,您可以根据交易策略进行自动化操作,减少盯盘时间,并提升交易效率。
搭配 MT4MT5 平台,即可快速建立属于自己的程序交易流程。

开户完成后,即可下载平台并开始设置 EA 进行交易。