面向交易员的 MQL5 编程指南

现代交易深度依赖于计算机技术。自动交易早已不局限于交易所和经纪公司,通过专门的软件解决方案,日常用户也可以使用自动交易。21 世纪初出现的 MetaTrader 是该领域的先驱之一。这一平台的最新版本 MetaTrader 5依然处于领先地位,不断发展创新,提供创新特性和功能。

MetaTrader 5 中持续优化的一个核心要素是其内置编程语言 MQL5。利用 MQL5,交易员可将交易自动化(通常称为“算法交易”)提升到一个新的层次。借助 MQL5,交易员可以自行编写分析指标、操作执行脚本或用于全自动交易的 EA 交易,将自己的策略转化为实际应用。作为一种自动化交易系统,EA 交易能够自主运行,追踪价格变化并通过电子邮件或短信即时通知交易员。

这种内置编程语言让交易员几乎可以实现任何交易理念,无论是简单策略还是基于神经网络的复杂算法。MQL5 无缝融合了特定领域和通用编程语言的特性。经过多年发展,这种编程语言取得了长足进步,例如支持 3D 图形、可通过 OpenCL 进行并行计算、集成 Python 集成以及支持 SQLite 数据库。

要发挥 MetaTrader 5 的全部潜能,你必须深入研究编程。在这本书的帮助下,你将掌握 MQL5,并学习如何创建自己的交易应用程序。

本书假设读者已经熟悉 MetaTrader 5。另一个前提条件是读者理解促进交易的分布式信息系统中的终端操作基本原理。终端的 帮助 菜单提供了所有可用功能的详细介绍。

此外,借助 MQL5 API,交易员能够使用的功能远胜于 MetaTrader 5 GUI 提供的功能。掌握实现复杂交易方案的编程语言,自动化终端操作的各种方面,提高交易策略的效率。

本书分为七章,每章侧重于 MQL5 编程的不同方面。

  • 第一章 介绍 MQL5 编程基本原理和 MQL5 标准框架 MetaEditor。如果用户有其他语言的编程经验,那么应注意该框架的独有特性。
  • 第二章 解释基本术语,如类型、指令、运算符、表达式、变量、代码块和程序结构体。介绍如何以 MQL5 过程式编程风格使用这些术语。熟悉 MQL4 的用户可以跳过本章,从第三章开始读起。
  • 第三章 介绍 MQL5 中的面向对象编程 (OOP)。尽管 MQL5 与其他支持 OOP 范例的语言(特别是 C++)有相似之处,但也具备独有的特性。从风格上看,MQL5 有点像 C++。
  • 第四章 介绍常用嵌入式函数,这些函数适用于任何程序。
  • 第五章 介绍 MQL 程序的架构特性,以及专门用于执行各类交易任务的类型,例如使用指标进行技术分析、图表管理及通过在图表上嵌入醒目图形对象来标记图表,还包括对涉及 MQL 程序的交互操作和事件的响应。
  • 第六章 解释如何使用机器人分析交易环境和自动化交易操作。本章还介绍了程序在各种模式下与测试程序的交互,包括策略优化。
  • 第七章 包含有关扩展专用 API 集的信息,这些 API 可促进 MQL5 与数据库、网络数据交换、OpenCL、Python 等相关技术的集成。

全书兼顾了通用方法、示例和技术细节,内容均衡。通过概念渐进式学习,对读者进行逐步引导,破解编程学习中难以绕过的“先有鸡还是先有蛋”难题。为强化理解,本书中讨论的大多数 MQL 程序均在 MetaEditor/MetaTrader 5 中以源代码格式提供,以便读者实际探索。