MQL 向导和程序草稿
这里我们将分析最简单的 MQL 程序,没有任何实际功能。目的是介绍如何在编辑器中编写源代码、编译源代码以及在终端中启动编译后源代码。通过独立完成以下步骤,您可验证普通用户也能进行编程,并能开始逐步适应 MQL5 程序的集成开发环境。要巩固已学习的内容,这一步必不可少。
最简单的 MQL5 程序是脚本。因此,我们将尝试创建一个脚本。为此,我们启动 MQL5 向导(文件 -> 新建)。第一步,我们在类型列表中选择脚本,然后按下一步:
使用 MQL 向导创建脚本。第一步
第二步,我们在“名称”字段中填写脚本名称,需在上述默认文件夹和一个反斜杠的后面添加名称,即"Scripts\"的后面。例如,我们将脚本命名为 "Hello"(即,“名称”字段将包含以下行:"Scripts\Hello"),不要更改任何其他选项,按结束。
使用 MQL 向导创建脚本。第二步
产生的结果是,向导将创建一个名为 Hello.mq5 的文件并打开以进行编辑。该文件位于 MQL5/Scripts 文件夹(脚本的标准位置),因为我们使用了默认文件夹;不过我们也可以添加任何子文件夹,甚至子文件夹层次结构。例如,如果我们在向导第一步的名称字段中填写 "Scripts\Exercise\Hello",那么将在 脚本 文件夹中自动创建 练习 子文件夹,并且文件 Hello.mq5 将位于该子文件夹中。
本书中的所有示例都将位于为相关类型的 MQL 程序分配的目录下的 MQL5Book 文件夹中。这一点很有必要,既便于将示例安装到终端的工作副本中,也能避免与您已安装的其他 MQL 程序的产生名称冲突。
例如,本书随附的 Hello.mq5 文件位于 MQL5\Scripts\MQL5Book\p1\,此处 p1 表示本示例与第一章有关。
Hello.mq5 脚本所生成的模板包含以下文本:
//+------------------------------------------------------------------+
|
前面的 MetaEditor 和 MetaTrader 5 的截屏中显示的就是这个脚本。
所有以 "//" 开头的字符串都是注释,不会影响程序的功能。注释既不被编译器处理,也不被终端执行。只是用于在开发者之间交换解释性信息,或者在视觉上凸显代码部分以增强文本可读性。例如,在这个模板中,文件以一个包含注释的代码块开始,在这个代码块中应指定脚本名称和作者的版权。第二个注释代码块是脚本主函数的标题(将在下文详细介绍)。最后一个注释字符串从视觉上强调了文件结束。
以特殊指令 #property 开头的三个字符串,为编译器提供了一些特性,这些特性以特殊方式构建到程序中。在我们的例子中,到目前为止这些字符串并不重要,甚至可以删除。每个 MQL 程序类型都有具体的目录,在我们开始学习特定的程序类型后,就会知道这些目录。
脚本的主要部分由 OnStart 函数表示,我们将在此函数中描述程序操作的本质。这里我们必须学习“代码块”和“函数”的概念。