MQL5参考
38章节
3594文档条目
zh-CN语言
MQL5平台
MetaQuotes Language 5 (MQL5)是一种高水平编程语言,专为开发技术指标、EA交易和实用应用程序而设计,进而使金融交易自动化。MQL5是由MetaQuotes为其交易平台而开发的。这个语言的语法非常接近于C++,使程序员能够在面向对象编程(OOP)风格中开发应用程序。
除了MQL5语言之外,交易平台程序包还包括高级代码编写工具MetaEditor IDE,如模板、代码片段、调试、概要分析和自动完成工具,以及内置的支持文件版本的MQL5存储。
语言支持还可用在MQL5.community网站,其包含一个大型免费代码库和大量的文章。这些文章涵盖了现代交易的所有方面,包括神经网络、统计和分析、高频交易、套利、测试和优化交易策略、使用EA交易等。
交易员和MQL5程序开发人员可以在论坛上进行沟通,使用自由职业者服务下订单并开发应用程序,以及在自动交易应用程序市场中购买和出售受保护的程序。
MQL5语言提供了专门的交易函数和预定义事件处理程序,以帮助程序员开发EA交易,根据特定的交易规则自动控制交易流程。除了EA交易之外,MQL5还可以开发自定义技术指标、脚本和程序库。
MQL5语言参考包括函数,操作,关键字和分为几类的其他语言架构。该参考还提供了用于开发交易策略、控制面板、自定义图形和启用文件访问的标准程序库类的描述。
另外,代码库还包含了ALGLIB数值分析库,可被用于解决各种数学问题。
文档章节导览
按模块浏览 MQL5 语言参考 · 语言基础 / 标准常量 / 交易 / 指标 / 标准库 等全部主题
01语言基础72 篇
02标准常量,列举和架构103 篇
03MQL5 程序7 篇
04预定义变量10 篇
05普通函数32 篇
06数组函数21 篇
07矩阵和向量方法91 篇
08函数转换20 篇
09数学函数32 篇
10字符串函数19 篇
11日期和时间8 篇
12账户信息3 篇
13检测12 篇
14事件处理14 篇
15市场信息15 篇
16经济日历函数10 篇
17时间序列和指标访问34 篇
18自定义交易品种15 篇
19图表操作32 篇
20交易函数33 篇
21交易信号12 篇
22网络函数18 篇
23程序端全局变量11 篇
24文件函数40 篇
25自定义指标27 篇
26物件函数18 篇
27技术指标39 篇
28处理优化结果7 篇
29工作事件4 篇
30使用OpenCL工作19 篇
31使用数据库26 篇
32使用DirectX22 篇
33MetaTrader Python模块33 篇
34ONNX模型19 篇
35标准程序库2713 篇
36来自 MQL41 篇
37MQL5 函数列表1 篇
38MQL5 常量列表1 篇
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-2023, MetaQuotes Ltd