Skip to content

编辑、编译和运行程序

所有MetaTrader 5程序都是可编译的。也就是说,用MQL5编写的源代码必须经过编译,才能获得可在终端中执行的二进制表示。

在MetaEditor中编辑MQL程序

程序使用MetaEditor进行编辑和编译。

在MetaEditor中编辑MQL5程序

源代码是按照MQL5规则编写的文本,保存为扩展名为.mq5的文件。编译后的程序文件将具有相同的名称,扩展名为.ex5

在简单情况下,一个可执行文件对应一个包含源代码的文件。但当编写复杂程序时,通常需要将源代码拆分为多个文件:主文件和若干辅助文件(通过特殊方式从主文件调用)。在这种情况下: • 主文件必须保留.mq5扩展名 • 从主文件调用的辅助文件使用.mqh扩展名

所有源文件中的语句都将合并到生成的可执行文件中。这意味着多个源代码文件可以共同构建一个可执行程序(这部分内容将在本书第二部分详细介绍)。

MQL5语法规则

我们使用"MQL5语法"这个术语来表示构建MQL5程序所需遵循的所有规则集合。只有严格遵守语法规则,才能编写出与编译器兼容的程序。实际上,学习编程就是逐步掌握特定语言(这里指MQL5)的规则,这也是本书的主要目的。

编译MQL程序

要编译源代码,可以使用以下方法: • 使用MetaEditor的菜单命令:文件 -> 编译 • 直接按F7快捷键 • 其他特殊编译方法(后续章节将详细介绍)

在MetaEditor中编译MQL5程序

编译过程中会在编辑器日志中显示状态变化。对于包含多个源文件的MQL5程序,每个文件的调用都会在日志中单独标记一行。

编译成功的标志是"0 errors"。虽然警告不会影响编译结果,但它们提示潜在问题,建议像处理错误一样修复警告。理想情况下应该达到"0 warnings"状态。

成功编译.mq5文件后,会生成同名.ex5文件。MetaTrader 5导航器会以树形结构显示MQL5文件夹及其子文件夹中的所有可执行.ex5文件,包括刚编译完成的文件。

运行已编译程序

包含已编译MQL5程序的MetaTrader 5导航器

已完成的程序可以通过用户熟悉的任何方式在终端中启动。例如: • 除服务程序外的其他程序,可以通过鼠标从导航器拖拽到图表上运行 • 服务程序有专门的运行方式(后续章节将单独说明)

调试模式

开发者通常需要以调试模式运行程序来定位错误原因。为此提供多个专用命令,我们将在"错误修复和调试"章节中详细介绍相关内容。

注意:所有技术术语(如MetaEditor、MQL5、ex5等)保持原名不变,以确保技术准确性。文件扩展名使用行内代码格式标注(如.mq5)。