1.MQL4语言介绍,MQL4和MT4的关系。
ex4文件和mq4文件的区别
2.注释符:单行注释“//”、多行注释“/**/”
3.MQL4的变量有哪些数据类型?日期类型特别说明.
主要的数据类型如下: 数据类型 | 如何定义示例
| 整型数据 (int)
| 例:int a=0;
| 布尔数据 (bool)
| 例: bool a=true;
| 字符数据 (char)
| 注意:char a='a';这种方式是错误的
| 字符串数据 (string)
| 例:string a="EURUSD";
| 浮点型数据 (double)
| 例:double EURUSDprice=1.23900
| 颜色数据 (color)
| 例:color a= C'0x44,0xB9,0xE6';
| 日期时间数据 (datetime)
| 例:datetime a= D'2004.01.01 00:00';
|
特别说明: 颜色数据(color) 代表RGB 颜色; 例:color a= C'0x44,0xB9,0xE6';//其中0x44,0xB9,0xE6 三个16位整数分别代表R,G,B的值。 日期时间数据 (datetime) 是起始时间从1979年1月上午0.00开始以秒数计算。 例:datetime a= a=D'2004.01.01 00:00';//表示2004年1月1日00:00点。也可以表示从1970年1月1日上午0.00开始到2004年1月1日00:00点所经过的秒数。 4.如何定义数组?在mql4编程中数组有着巨大的作用
int
a[50];
// 定义了50整数的一维数组 注意:数组第一个元素是a[0],最后元素为a[49 ]。 大家都知道MT4图标中最基本的单位是K线,对于mql4编程语言来说这一根一根K线是有顺序的,它就是以数组来存储的。 如上图:最右边的一根K线是0号,往右一根K线是1号。 MQL4内置了很多数组例如:Open[],Close[],High[],Low[]。 这些数组你不用声明就可以使用,它们的序号就是图上我标注的序号: 如上图想得到最右边的那根K线的开盘价就等于Open[0],收盘价就等于Close[0],最高价就等于High[0],最低价就等于Low[0]。 5.全局变量,局部变量,可供外部修改的变量的区别?
全局变量是在程序最开始的地方定义的,可提供程序中的所有函数访问。 局部变量是在函数内部定义的,它的使用周期是这个函数的运行完毕。 可供外部修改的变量就是程序一开始用extern修饰符定义的变量,它是一种特殊的全局变量,它有全局变量所有特性和功能,它的特殊性就是可供外部修改变量的值。 6. MQL4中的算术运算符包:
+
求和 例如: i = j + 2; -
求差 例如: i = j - 3; *
求积 例如: z = 3 * x; /
求商 例如: i = j / 5; %
求模 例如: minutes = time % 60; ++
自加1
例如: i++; --
自减1
例如: k--; 7. MQL4中的赋值操作符
把变量x的值赋予变量y y = x;
8. MQL4中的关系运算符:
逻辑值FALSE代表整数零值,逻辑值TRUE 代表不同于零的任何值。 用返回0(False)或1(True)来表示两个量之间的关系。 等于b
a == b; 不等于b
a != b; 小于b
a< b; 大于b
a >b; 小于等于 b
a <=b; 大于等于 b
a >= b; 9. MQL4中的逻辑运算符:
否定运算符(!): 用来表示真假的反面的结果。如果运算值是FALSE结果为TRUE;如果运算不同于FALSE等于FALSE
。 或运算符(||):用来表示两个表达式只要有一个成立即可返回TRUE。 并运算符(&&)。如果x和y值都是真实的,表达式值为TRUE 。 10.以上各种运算符之间运算先后顺序关系
优先排列从上到下,越上面越优选运算: ()
函数调用
[]
数组元素参考 !
真假运算符
-
改变运算符 ++
增量 --
减量 ~
位逻辑运算符 &
位逻辑运算符 AND
|
位逻辑运算符 OR ^
位逻辑运算符 OR <<
左移 >>
右移 *
乘法
/
除法 %
百分比 +
加法
-
减法 <
小于
<=
小于等于 >
大于 >=
大于等于 ==
等于 !=
不等于 ||
逻辑 OR
&&
逻辑 AND
=
值
+=
加法值 -=
减法值 *=
乘法值 /=
除法值 %=
百分比值 注意:在MQL4程序中执行优先运算不同于在C 语言范围内的运算。
|