|
2.6 本章小结 |
本章我们学习了MQL4的一些基础知识,包括EA的结构、运算规则,以及一些常用函数的介绍,这些都是我们学习编程的基础。当然,限于本书的篇幅,我们介绍的内容有限,还有很多函数没有讲解到,没有讲解到的内容都可以在MQL4的帮助文档中找到。讲解到的这些函数都是经常能够使用到的,想要编写出属于自己的自动化交易程序,就要学习并能够灵活使用这些函数。
利用本章介绍的各类函数,用MQL4语言写出下面的条件表达式。
(1)今天的开盘价格比昨天的开盘价格高50点。
(2)今天的开盘价格比昨天的开盘价格高50点,昨天的开盘价格比前天高100点。
(3)货币对“EURUSD”的1小时最高价格比最低价格高30点。
(4)时间是2018年6月18日12时24分。
(5)账户盈利688美元。
(6)货币对“EURUSD”的点差是16。
(7)a的值是18,打印a的值。
(1)iOpen(NULL,PERIOD_D1,0)-iOpen(NULL,PERIOD_D1,1)>50*Poi nt
(2)iOpen(NULL,PERIOD_D1,0)-iOpen(NULL,PERIOD_D1,1)>50*Poi nt &&iOpen(NULL,PERIOD_D1,1)-iOpen(NULL,PERIOD_D1,2)>100*Point
(3)iHigh("EURUSD",PERIOD_H1,0)-iLow("EURUSD",PERIOD_H1,0)>30*Point
(4)Year()==2018&&Month()==6&&Day()==18&&Hour()==12&&Minute ()==24
(5)AccountProfit()==688
(6)MarketInfo("EURUSD",MODE_SPREAD)==16
(7)double a=18;Print("a的值是"+a);
我们先来看两行代码:
(1)if(a==16) {b=12;}
(2)double a=16,b=12;
第一行代码的意思是,如果a的数值等于16,则b的值设定为12。第二行代码的意思是把a的数值设定为16,b的数值设定为12。
以这两行代码为例是为了说明“==”和“=”的区别。“==”是一种逻辑运算符号,我们在判断两者的逻辑关系时要用到,因此在“()”里面使用“==”;“=”是一种赋值运算符号,在给一个变量赋值时要用到,通常在“{}”里面使用“=”。
因为第1~6道作业的表达式都将作为条件语句,要在“()”里使用,因此我们在表达式中使用的都是“==”,而第7道作业是一个赋值语句,因此使用“=”。