零基础学MQL:基于EA的自动化交易编程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 MQL语言编写环境介绍

打开 MT4交易软件之后,点击 MT4终端工具栏上面的“MQ 语言编辑器”图标(快捷键为 F4),如图1-2所示。就可打开 MQL4语言编写界面,如图1-3所示。

图1-2 “MQ语言编辑器”图标

图1-3 MQL4语言编写界面

下面我们对MQL4语言编写界面做一个介绍,自动化交易程序的编写就在这个界面完成。该界面可以分为以下四个区域(如图1-3所示)。

区域1:MQL语言编辑器工具栏,主要用于打开、保存、编译程序等。

区域2:MQL语言编辑器导航栏,主要用于快速定位和打开EA(Expert Advisor,外汇智能交易系统)、指标、脚本、包含类等。

区域3:MQL语言编辑器编写区域,主要用于编写、调试程序。

区域4:MQL语言编辑器工具箱,主要用于显示程序编译的结果和日志等。

1.2.1 新建一个模板

我们可以通过打开MQL4向导创建各类模板,该模板已经自动生成了一个空白程序。点击如图1-3所示的MQL4语言编写界面的区域1工具栏选项的“新建”图标,即可打开MQL向导,如图1-4所示。

图1-4 MQL向导

通过MQL向导,我们可以创建6种程序模板:

● EA交易模板

● 自定义指标模板

● 脚本模板

● 程序库模板

● 包含库模板

● 新类模板

下面我们以新建一个EA模板为例为大家做一个演示。

选中“EA 交易(模板)”,然后点击“下一步”,就打开了 EA 基本信息设置界面,如图1-5所示。

图1-5 EA基本信息界面

在图1-5界面中我们可以填写和EA有关的基本信息,包括EA名称、EA 作者、EA 链接地址等。如图1-5所示,我们新建一个名称为“Hello World!”的EA程序。

点击“下一步”。

如图1-6所示页面我们可以选择EA的交易事件处理函数。向导默认选中的是“OnTimer”。

图1-6 EA交易事件处理程序选择界面

点击“下一步”,出现如图1-7所示界面,我们可以选择EA测试时的时间处理程序,选择默认程序即可。

图1-7 EA测试时间处理程序选择界面

点击“完成”按键,我们就得到了一个名为“Hello World!”的空白EA程序,如图1-8所示。我们可以在MQL4语言编辑器编辑区域以这个空白模板为基础完善编写第一个EA程序。

图1-8 “Hello World!”向导生成模板

1.2.2 编写并加载运行“Hello World!”

现在我们编写了第一个 EA——Hello World!,该 EA 的目的是输出“Hello World!”这句话,如图1-9所示。

图1-9 Hello World!

在函数OnTick()里面,我们输入“Print(“Hello World!”);”这句话,意思就是当货币对价格跳动一次时,就打印一次“Hello World!”。具体的程序分析我们在下面章节中会详细介绍,此处只做演示用。

编写完成之后,点击工具栏上方的“编写”按键,如果没有错误,则会在工具栏显示“零错误”,说明我们的EA编写没有问题,已经通过了编译,可以加载运行,如图1-10所示。

注意:在编写完每一个程序之后都要对其进行编译处理,只有被编译过且没有错误的程序才能运行。

图1-10 编译EA“Hello World!”

加载运行EA的步骤如下。

第一步:点击 MT4终端平台工具栏上的“自动交易”按钮,使 MT4启动自动交易功能,如图1-11箭头1所指。

第二步:双击MT4终端导航栏的EA名称,如图1-11箭头2所指。如果MT4终端允许该货币对自动交易,则在货币对K线图表的右上角会出现EA的名称和一个笑脸的标志,反之则会出现EA名称和一个哭脸的标志,如图1-11箭头3所指。

我们的第一个EA的开发目的是打印出“Hello World!”这句话,运行该EA会在终端的“EA”选项处打印出“Hello World!”,如图1-11箭头4所指的区域所示。

图1-11 加载运行EA“Hello World!”

至此,我们完成了第一个 MT4自动化交易程序“Hello World!”的编写和加载,虽然该 EA 没有什么实质性的内容,但是熟练掌握以上知识是我们进行后面章节的一个基础。通过对后面章节的学习,我们会逐渐丰满、充实我们的程序,为读者从实战角度构建一个快速编程的方法,使读者在学完本书之后能够顺利编写出自己的自动化交易程序。