EA开发系列---EA的编译运行

151 0 2023-11-03

书接上文,这一节我们将介绍MQL5开发好的EA代码的编译、运行的相关知识。MQL5代码编译和JAVA、C/C++等高级语言一样,MQL5不是解释运行的,它需要经过编译才能再MT5环境中运行。对于这一点对于脚本、指标等MT5的其他元素是一样的。编译过程完成后,会生成一个和EA源代码同名,扩展名为ext5的文件,在MT5中"ex5"文件才是可以被识别和运行的文件。上文中,我们建立了一个名叫“FirstEA.mql5”的EA源码文件,那么经过编译后会在mql5文件相同的目录下生成一

书接上文,这一节我们将介绍MQL5开发好的EA代码的编译、运行的相关知识。

MQL5代码编译

和JAVA、C/C++等高级语言一样,MQL5不是解释运行的,它需要经过编译才能再MT5环境中运行。对于这一点对于脚本、指标等MT5的其他元素是一样的。编译过程完成后,会生成一个和EA源代码同名,扩展名为ext5的文件,在MT5中"ex5"文件才是可以被识别和运行的文件。

上文中,我们建立了一个名叫“FirstEA.mql5”的EA源码文件,那么经过编译后会在mql5文件相同的目录下生成一个扩展名为ex5,文件名为FirstEA的可执行文件。

编译的整个过程不会像C/C++那样复杂,也不需要编写什么脚本,只需要点击MetaEditor的”编写“按钮即可。过程如下图所示:



如果没有出现语法错误(error为0),那么即便是存在告警信息ex5文件也将会被生成。

运行

程序编译好以后,就可以在MT5上运行了,步骤如下: 步骤一:打开导航栏并找到”EA交易“节点下的FirstEA



步骤二:将FirstEA拖入当前图表中,并设定好参数后EA将开始运行,例子中,我们设定参数为150



点击”确定“按钮后,EA将会在该图表中运行。这时候我们可以在特定的地方看到EA的运行日志:



由于我们在程序初始化的时候通过”PrintFormat“语句输出了一条日志信息,因此,我们在上图所示的”专家“栏目中看到了这个日志。到此为止,EA就完成了整个加载到运行的所有步骤。

一些注意事项

1、EA只能依托与某个图表才能运行 2、输出的日志包含了时间、来源和消息三项。在这里,时间是本地时间,来源包括了EA名字以及加载的图表的Symbol和周期;消息是输出的日志

写在文章最后

到这里为止,我们了解了EA的一些概要性的东西,比如代码结构、编译、加载等。接下来,我们将深入介绍MQL5的一些重点知识,比如:订单操作、账户操作、行情以及指标操作、文件操作等等。EA开发系列---EA的编译运行