第四章常用 MQL5 API
在本书前面章节中,我们探讨了使用 MQL5 语言结构的基本概念、句法和规则。然而,要想编写满足交易员要求的真实程序(如分析性数据处理和自动化交易等),这些还只是基础。没有大量的各种内置函数以及与 MetaTrader 5 终端交互的方式,不可能完成这些任务,而正是这些函数和交互手段构成了 MQL5 API。
在本章中,我们将开始掌握 MQL5 API,这一学习过程将直至本书结束,让你逐渐熟悉所有的专用子系统。
由内核(终端内 MQL 程序的运行时环境)提供给任何 MQL 程序的技术和功能非常庞杂。因此,最好首先学习最简单但对于大多数程序都有用的内容。尤其是我们将了解专用于处理数组、字符串、文件、数据转换、用户交互、数学函数以及环境控制的函数。
前面我们学习了在 MQL5 中描述自己的 函数 并调用它们。MQL5 API 的内置函数可从源代码获得,所谓的“开箱即用”,无需任何预先说明即可使用。
需要注意的是,不同于 C++,MQL5 无需额外的预处理程序指令即可将特定的内置函数集包括在程序内。所有 MQL5 API 函数的名称均始终无条件地出现在全局文本(命名空间)中。
一方面,这很方便,但另一方面,这需要你注意可能的名称冲突。如果你无意中试图使用内置函数的某个名称,其将覆盖标准实现,可能导致非预期后果:最好的情况是出现有关模糊重载的编译器错误,最糟糕的情况,则是所有常规调用将会在无任何警告的情况下被重定向至“新”实现。
理论上,相似名称可在其它上下文中使用,例如作为类方法名称,或者用于专用(用户)命名空间。在此类情况下,可使用上下文解算运算符调用全局函数:我们将在 嵌套类型、命名空间以及 '::' 上下文运算符一节中探讨这种情况。
本书中的例子也可以在 公共项目 \MQL5\Shared Projects\MQL5Book 中找到 |