MQL4运算符和表达式
一些数字和字符的组合是特别重要的,它们被称为运算符,例如:+ - * / % 算术运算符&& || 逻辑运算符= += *= 负值运算符标识符加运算符就是表达式。举例说明:x = (y*z)/w;x,y,z和 w是标识符=,* 和/ 是运算符整个这行是表达式。表达式组成语句,语句组成函数,函数组成程序。■算数运算符算术运算符包括加法和乘法运算:运算符名称示例
+加A = B + C;
-减A = B - C;
+ -改变符号A = -A;
*乘A = B * C;
/除A = B / C;
%求模A =A % C;
++自加一A++;
--自减一A--;
添加1的运算符不能使用在表达式中。
int a=3;a++; // 有效表达式int b=(a++)*3; // 无效表达式b=a*5 // 有效表达式
■赋值运算符任何表达式的目的是产生一个结果,赋值运算符把这个结果赋予给左边的操作数。例如:A=B*C在这里,我们把B和C相乘,并把结果赋予给A。(=在这儿是赋值运算符)MQL4有11个赋值运算符:把B的值赋予A A=B;在 y 值上加上 x y += x;在 y 值上减去 x y -= x;在 y 值上乘以 x y *= x;在 y 值上除以 x y /= x;在 y 值上求 x 的模 y %= x;把 y 值向右做 x 位逻辑移位 y >>= x;把 y 值向左做 x 位逻辑移位 y <<= x;AND 位运算符 y &= x;OR 位运算符 y |= x;把 x 和 y 按做逻辑异或的操作 y ^= x;■关系运算符用返回0(False)或1(True)来表示两个量之间的关系。逻辑值FALSE代表整数零值,逻辑值TRUE 代表不同于零的任何值。MQL4有六个关系运算符。示例如下:4 == 4; //等于,结果TRUE,或14 < 4; //小于,结果为FALSE或04>4; //大于,结果为FALSE或04 <= 4 ; //小于等于,结果为TRUE或14>=4 ; //大于等于,结果为TRUE或14!=4 ; //不等于,结果为FALSE或0■布尔运算符(逻辑运算符)逻辑运算符是根据表达式的值来返回真值或是假值。MQL4使用3个逻辑运算符:
运算符名称示例说明
&&逻辑与A && B;如果A和B值都是真实的,表达式值为TRUE (1)。 否则,表达式的值为FALSE (0).
||逻辑或A || B;A和B值的逻辑运算符或OR (||)用来表示两个表达式只要有一个成立即可。如果A和B值为真的,表达式值为TRUE (1)。否则,值为FALSE (0)。逻辑表达式被完全计算。
!逻辑非!A;否定运算符(!),用来表示真假的反面的结果。如果运算值是FALSE (0) 结果为TRUE (1);如果运算不同于FALSE (0)等于FALSE (0) 。
■位逻辑运算符位逻辑运算符和逻辑运算符比较相似,只是他们工作在一个比较小的范围---二进制数据。运算符对操作数执行按位求补操作。表达式的数字值中包含1,其中n 包含 0和数字值中包含0 ,其中 n 包含 1。b = ~n;运算符x 向右移动到数字y 代表二进制代码。向右移动是逻辑运算,即左侧将被零填满。x = x >> y;运算符x 向右移动到数字y 代表二进制代码。左侧将被零填满x = x << y;二进制的x 和y代表位逻辑运算符AND 。在所有数组中x和y的值都不含有零表达式的值包含1 (TRUE);在所有其他数字中包含0 (FALSE)。b = ((x & y) != 0);二进制的x 和y代表位逻辑运算符OR。在所有数字中x和y的值都不等于零表达值包含1 并且在所有其他数字中包含0。b = x | y;二进制的x 和y代表位逻辑运算符EXCLUSIVE 。在所有数字中x和y的值都不同于二进制值表达值包含1并且在所有其他数字中包含0 。 b = x ^ y;位逻辑运算符只作用于Integers类型。■其他运算符这些运算符不属于前面任何一个种类。
运算符名称示例说明
[]指数下一课中会有详细说明
()调用x1,x2,...,xn 自变数函数
,标点操作符
■ 优先级下面是从上到下的运算优先规则,优先级高的将先被运算。() 函数调用 从左到右[] 数组元素参考! 真假运算符 从右到左- 改变运算符++ 增量-- 减量~ 位逻辑运算符& 位逻辑运算符 AND 从左到右| 位逻辑运算符 OR^ 位逻辑运算符 OR<< 左移>> 右移* 乘法 从左到右/ 除法% 百分比+ 加法 从左到右- 减法< 小于 从左到右<= 小于等于> 大于>= 大于等于== 等于!= 不等于|| 逻辑 OR 从左到右&& 逻辑 AND 从左到右= 值 从右到左+= 加法值-= 减法值*= 乘法值/= 除法值%= 百分比值>>= 右移值<<= 左移值&= 位逻辑运算符 AND值|= 位逻辑运算符OR值^= 位逻辑运算符 OR值, 逗号 从左到右插入语会显示所优先执行的运算
注意:在MQL4程序中执行优先运算不同于在C 语言范围内的运算。在MQL4中,正常的流程控制是从上而下一个语句一个语句的执行。一个语句是一行代码,它让电脑做某些事情。例如:Print("Hello World");return 0;语句后面的分号是语法中至关紧要的部分,也是最容易被遗忘的部分。从上到下的执行方式并不是唯一的途径,它有两个例外:循环和选择。你希望你写的程序代码能根据情况的改变而做出不同的响应。在这种方式中,控制流程从程序的这一部分跳转到程序的另一部分。语句引起这样的跳转被叫做控制语句。这样的控制由循环和选择组成。
路过。。看下先。 亏损中…………………… 看看吧,谢谢分享 没有使用说明书 多谢分享 看看是什么 学习了,不错,讲的太有道理了
页:
[1]