自动交易语言文档

MQL5参考

MetaQuotes Language 5 (MQL5)是一种高水平编程语言,专为开发技术指标、EA交易和实用应用程序而设计,进而使金融交易自动化。MQL5是由MetaQuotes为其交易平台而开发的。这个语言的语法非常接近于C++,使程序员能够在面向对象编程(OOP)风格中开发应用程序。

除了MQL5语言之外,交易平台程序包还包括高级代码编写工具MetaEditor IDE,如模板、代码片段、调试、概要分析和自动完成工具,以及内置的支持文件版本的MQL5存储

语言支持还可用在MQL5 Algotrading community网站,其包含一个大型免费代码库和大量的文章。这些文章涵盖了现代交易的所有方面,包括神经网络、统计和分析、高频交易、套利、测试和优化交易策略、使用EA交易等。

交易员和MQL5程序开发人员可以在论坛上进行沟通,使用自由职业者服务下订单并开发应用程序,以及在自动交易应用程序市场中购买和出售受保护的程序。

MQL5语言提供了专门的交易函数和预定义事件处理程序,以帮助程序员开发EA交易,根据特定的交易规则自动控制交易流程。除了EA交易之外,MQL5还可以开发自定义技术指标、脚本和程序库。

MQL5语言参考包括函数,操作,关键字和分为几类的其他语言架构。该参考还提供了用于开发交易策略、控制面板、自定义图形和启用文件访问的标准程序库类的描述。

另外,代码库还包含了ALGLIB数值分析库,可被用于解决各种数学问题。

 

算法交易书籍

开始学习新东西总是具有挑战性的。为了帮助初学者,我们发布了两本关于 MQL5 编程的综合书籍,专为希望掌握创建交易机器人和算法交易应用程序的人而设计。

这些书对材料进行了系统和结构化的介绍,使学习过程变得更加容易。详细的代码示例解释了交易机器人和应用程序的逐步创建,使读者可以更深入地理解算法交易的细节。这些书包括许多实践练习,以帮助加强所获得的知识,并在真实的交易环境中培养编程技能。

“面向交易者的MQL5编程”是关于MQL5的最完整、最详细的教程,适合各级程序开发人员。初学者将学习基础知识:本书介绍了开发工具和基本编程概念。基于这些材料,您将在 MetaTrader 5 交易平台中创建、编译和运行您的第一个应用程序。具有其他编程语言经验的用户可以立即进入应用程序部分:在 MQL5 中创建交易机器人和分析应用程序。

“MQL5 算法交易的神经网络”是 MetaTrader 5 平台交易机器人中使用机器学习方法的指南。您将逐步了解神经网络的基本原理及其在算法交易中的应用。随着您的进步,您将构建和训练自己的人工智能解决方案,逐步添加新功能。除了学习 MQL5,您还将获得 Python 和 OpenCL 编程技能,并探索集成矩阵和向量方法,从而能够用简洁高效的代码解决复杂的数学问题。

 

关于交易应用程序开发的文章

MQL5 文章是探索该语言全部潜力的绝佳资源,涵盖了广泛的实用算法交易任务。为了便于导航,所有文章都分为以下类别:示例EA 交易机器学习等等。每个月, 都会有数十篇由交易员为其他交易员撰写的新文章发布在MQL5 算法交易社区网站上。阅读并讨论这些文章,掌握现代算法交易。对于初学者,我们编制了一份16篇推荐文章的列表,以便快速掌握 MQL5。
 

MQL5应用程序类型

MQL5程序根据实施的交易自动化任务,被分成四种特定类型:

  • EA交易 是一种与图表相链接的自动交易系统。EA交易包含了管理预定义事件的事件处理程序,激活执行适当的交易策略元素。例如,程序初始化和去初始化的事件,新报价,计时器事件、市场深度变化、图表和自定义事件。
    除了根据已实现的规则计算基于信号之外,EA交易还能够自动执行交易,并将其直接发送到交易服务器。EA交易被存储在<Terminal_Directory>\MQL5\Experts
  • 自定义指标是一种除了集成到交易平台上的标准指标之外的由用户开发的技术指标。自定义指标,以及标准指标都不能自动交易,但只能实现分析功能。自定义指标可以利用其它指标的值进行计算,也可以从EA交易调用。
    自定义指标被存储在<Terminal_Directory>\MQL5\Indicators
  • 脚本是一种单独执行操作的程序。与EA交易不同,除了触发器、初始化和去初始化之外,脚本不处理任何事件。脚本代码必须包括OnStart处理程序函数。
    脚本被存储在<Terminal_DIrectory>\MQL5\Scripts中。
  • 服务是一个程序,与指标、EA交易和脚本不同,它不需要绑定图表进行工作。与脚本一样,除了触发器,服务不处理任何事件。要启动一项服务,其代码应该包含OnStart处理程序函数。除了“Start(开始)”以外,服务不接受任何其他事件,但它们可以使用EventChartCustom将自定义事件发送至图表。服务存储在<Terminal_Directory>\MQL5\Services。
  • 程序库是一组自定义函数。程序库用来存储和分配常用的自定义程序算法。
    程序库被存储在 <Terminal_Directory>\MQL5\Libraries
  • 包含文件是最常使用的自定义程序块的源文本。这些文件存在于编译阶段的EA交易、脚本、自定义指标和程序库的源文本中。使用包含文件比使用程序库更可取,因为在调用程序库函数时容易发生额外的负担。
    包含文件可以存储在与源文件相同的目录中。在这种情况下,使用双引号的#include指令。另一个选项就是将包含文件存储在<Terminal_Directory>\MQL5\Include。在这种情况下,#include应该使用尖括号。

 

© 2000-2024, MetaQuotes Ltd