第二讲:一键下单
g [u*`]-;v
在第一讲中,我们通过一个简单的例子Lesson1,学习了如何通过MQL5编程在MT5图表上添加按钮、处理按钮点击事件以及弹出对话框等。在第二讲中,我们将会在Lesson1例子的基础上进行改进,开发一个可以在MT5图表上进行一键下单的EA。怎样,是否很感兴趣呢?那我们就马上开始吧! \"a~~Koe
首先启动MT5,从MT5中启动ME5(MetaEditor5,不知道如何启动的请参阅第一讲相关内容),然后新建一个EA,取名为Lesson2,其它选项保持默认。生成Lesson2的EA代码文件后,如Lesson1一样,在OnInit函数中输入在图表创建按钮(Button)的代码如下:
(GoxiX l 
yR% l[/ X
大家可以发现代码和Lesson1基本一样,唯一的区别是按钮的文本不同了,这里设置为"Buy",意即我们打算在按下这个按钮时,会在MT5中下一张多单(Buy、Long)。输入完毕后,与Lesson1同样,我们添加一个OnChartEvent函数,并输入如下代码:
^v&"{2 
k5|GN Y6a
z.!u<hy(
输入完毕后,按下F5进行编译,如无错误,即会切换到MT5图表,我们按下图表上的按钮"Buy",怎样?一键下单的功能实现了吧? b
w!
Byh!Snoe
OnInit函数里面的代码这里就不作解释了,如不清楚的请回头参阅Lesson1中的讲解,这里重点讲解OnChartEvent中的代码。 B2:GGZ|jS
MqlTradeRequest request; ck$>
MqlTradeResult result; sD9OV6^{?K
这两句代码分别定义了一个叫做request的MqlTradeRequest类型变量和一个叫做result的MqlTradeResult类型变量。这里给初学的朋友补充一下基础知识:什么是变量呢?我们可以这样想象一下:MT5交易软件是个会做菜的机器,而MQL5开发就是设计菜谱,菜谱中列明了原材料及对原材料的加工方法,把菜谱输入MT5中,MT5便会自动生成原材料及对原材料进行指定的加工,最后得出我们想要的东西。这个例子很简洁明,相信读者朋友很容易就能理解,对吗?好了,对应到MQL5开发中,数据就是原材料,比如开盘价、收盘价、均线数值等等这些整数、浮点数,就是数据,就是MQL5开发的原材料,而对原材料的加工方法,就是如何对这些数据进行运算处理,最后输出我们想要的结果。那么,我们在厨房做菜时,原材料应该放在哪里呢?总不可能随便放到台上、地下吧,一般我们都会把原材料放在盘子、碟子里面,OK!这个盘子、碟子,就是我们的变量了。所谓的变量,就是用来盛放数据的容器,只不过我们知道计算机是很严格定义所有东西的,1就是1,2就是2,所以,我们根据数据类型的不同,必须明确指定变量这个容器的规格,这个指定变量规格的过程就叫做定义变量。如上面的代码,MqlTradeRequest就是规格,request就是根据MqlTradeRequest规格制作出来的容器。关于变量的概念及变量定义就暂时到这里了,如果还是不明白的话,我也没办法了,或者可以参与笔者稍后开办的MT5 EA开发学习班吧! zCS&