MQL4语言中,算术运算是编程的基础部分,包括加法和乘法等操作。正确理解和运用算术运算,对于编写高效、准确的交易脚本和策略至关重要。本文将详细介绍MQL4中的算术运算,包括增量和减量的操作,以及这些操作在表达式中的计算顺序。
1. 基础算术运算
MQL4支持基础的算术运算,包括变量求和、变量差值、改变符号、变量乘积、除法商、除法余数,以及对变量值进行增量和减量操作。例如:
amount = quantity + 2; // 变量求和
diff = quantity - 3; // 变量差值
sign = - sign; // 改变符号
product = 3 * price; // 变量乘积
quotient = quantity / 5; // 除法商
remainder = minutes % 60; // 除法余数
quantity++; // 变量值加1
++quantity; // 变量值加1
stock--; // 变量值减1
--stock; // 变量值减1
2. 增量和减量运算
在MQL4中,增量和减量运算只能应用于变量,不能应用于常数。前缀形式的增量(++i)和减量(–k)会在变量在表达式中使用之前应用。后缀形式的增量(i++)和减量(k–)则在变量在表达式中使用之后应用。
这种操作在移植代码时需要特别注意,因为不同的编程环境(例如,从Borland C++到MQL4)可能导致计算问题。在实践中,后缀形式的增量和减量有两种实现方式:
- 在计算完整个表达式后,再对变量应用后缀形式的增量或减量。
- 在运算时立即对变量应用后缀形式的增量或减量。
在MQL4中,实现的是第一种方式。但是,即使知道这个特性,也不建议在使用中进行尝试和实验。以下是一些例子:
int a = 3;
a++; // 合法表达式
int b = (a++)*3; // 非法表达式
在上述代码中,a++
是一个合法的表达式,因为它在整个表达式计算结束后才对变量 a
进行增量。然而,(a++)*3
是非法的,因为它试图在计算整个表达式的同时对变量 a
进行增量。
总的来说,理解和掌握MQL4中的算术运算及其特性,可以帮助我们编写出更加高效、准确的交易脚本和策略。