提示
这是 2011 年写的一个系列教程。
MQL5 语言运算符的优先级依据 C++ 的优先规则,不同于 MQL4 语言。
优先级 | 结合方向 | 运算符 |
---|---|---|
1 | 从左到右 | |
2 | 从右到左 | ! 真假运算符(逻辑非)
~ 位逻辑运算符(补码)
– 改变运算符
++ 增量(自增)
-- 减量(自减)
(type) 类型转换
sizeof(varb) 确定数据占用的空间大小
|
3 | 从左到右 | * 乘法
/ 除法
% 取模(求余数)
|
4 | 从左到右 | + 加法
- 减法
|
5 | 从左到右 | << 左移
>> 右移
|
6 | 从左到右 | < 小于
<= 小于等于
> 大于
>= 大于等于
|
7 | 从左到右 | == 等于
!= 不等于
|
8 | 从左到右 | & 位逻辑运算符与(AND) |
9 | 从左到右 | ^ 位逻辑运算符或(OR) |
10 | 从左到右 | | 位逻辑运算符或(OR) |
11 | 从左到右 | && 逻辑与(AND) |
12 | 从左到右 | || 逻辑或(OR) |
13 | 从右到左 | ?: 假设运算(三目条件运算符) |
14 | 从右到左 | = 值(赋值)
*= 乘法值
/= 除法值
%= 余数值
+= 加法值
-= 减法值
<<= 左移值
>>= 右移值
&= 位逻辑运算符AND值
^= 位逻辑运算符OR值
|= 位逻辑运算符OR值
|
15 | 从左到右 | , 逗号(逗号运算符,又名:“顺序求值运算符”) |
注:
数字越小越优先,同一优先级的运算符运算次序由结合方向决定。