MQL4数学函数与三角运算详解
MathAbs() – 返回绝对值
MathArccos() – 计算反余弦值
MathArcsin() – 计算反正弦值
MathArctan() – 计算反正切值
MathCeil() – 向上取整为最小整数
MathCos() – 计算余弦值
MathExp() – 计算e的幂
MathFloor() – 向下取整为最大整数
MathLog() – 计算自然对数
MathMax() – 返回最大值
MathMin() – 返回最小值
MathMod() – 计算模余数
MathPow() – 计算幂值
MathRand() – 生成随机整数
MathRound() – 四舍五入取整
MathSin() – 计算正弦值
MathSqrt() – 计算平方根
MathSrand() – 设置随机数种子
MathTan() – 计算正切值
MathMax() – 求最大值函数
double MathMax(double value1, double value2) 返回两个数值中的较大者。
参数说明:
value1 - 第一个待比较数值。value2 - 第二个待比较数值。示例:
double result=MathMax(1.08,Bid);
MathMin() – 求最小值函数
double MathMin(double value1, double value2) 返回两个数值中的较小者。
参数说明:
value1 - 第一个待比较数值。value2 - 第二个待比较数值。示例:
double result=MathMin(1.08,Ask);
MathMod() – 求模函数
double MathMod(double value, double value2) 该函数返回两个数相除后的浮点型余数。
MathMod 函数计算 x/y 的浮点余数 f,满足 x=i*y+f,其中 i 是整数,f 与 x 正负号相同,且 f 的绝对值小于 y 的绝对值。
参数说明:
value1 - 被除数。value2 - 除数。示例:
double x=-10.0,y=3.0,z; z=MathMod(x,y); Print("余数 ",x," / ",y," 为 ",z); //输出数据: -10 / 3 的余数为 -1
MathPow() – 求幂函数
double MathPow(double base, double exponent) 返回基数的指定次幂值。
参数说明:
base - 基数。exponent - 指数值。示例:
double x=2.0,y=3.0,z; z=MathPow(x,y); Printf(x," 的",y,"次乘方为", z); //输出数据: 2 的 3次乘方为8
MathRand() – 获取随机整数函数
int MathRand() 此函数返回一个在 0 到 32767 范围内的伪随机整数。在调用 MathRand 之前,需要先使用 MathSrand() 函数进行初始化。
示例:
MathSrand(TimeLocal()); // 显示 10 个数字. for(int i=0;i<10;i++ ) Print("随机数 ", MathRand());
MathRound() – 四舍五入函数
double MathRound(double value) 返回最接近指定数值的整数(四舍五入)。
参数说明:
value - 待四舍五入的数值。示例:
double y=MathRound(2.8); Print("The round of 2.8 is ",y); y=MathRound(2.4); Print("The round of 2.4 is ",y); //输出: The round of 2.8 is 3 // The round of 2.4 is 2
MathSin() – 正弦函数
double MathSin(double value) 返回指定角度的正弦值。
参数说明:
value - 以弧度表示的角度值。示例:
double pi=3.1415926535; double x, y; x=pi/2; y=MathSin(x); Print("MathSin(",x,") = ",y); y=MathCos(x); Print("MathCos(",x,") = ",y); //输出: MathSin(1.5708)=1 // MathCos(1.5708)=0
MathSqrt() – 平方根函数
double MathSqrt(double x) 此函数返回 x 的平方根。如果 x 为负值,则返回无穷大 (NaN)。
参数说明:
x - 待求平方根的数值。示例:
double question=45.35, answer; answer=MathSqrt(question); if(question<0) Print("Error: MathSqrt returns ",answer," answer"); else Print("The square root of ",question," is ", answer); //输出: 45.35 的平方根是 6.73
MathSrand() – 随机数设置函数
void MathSrand(int seed) 此函数为生成伪随机整数序列设置起点。为了重新初始化随机数生成器,可使用 1 作为种子。使用其他数值作为种子可以将生成器设定到随机起点。通过 MathRand 函数取回已生成的伪随机数。在调用 MathSrand() 之前,调用 MathRand 函数和使用 1 作为种子调用 MathSrand 函数都会生成相同的随机数序列。
参数说明:
seed - 随机数生成器的种子值。示例:
MathSrand(TimeLocal()); // 显示 10 个 随机数. for(int iAva爱华外汇平台=0;i<10;i++ ) Print("random value ", MathRand());
MathTan() – 正切函数
double MathTan(double x) 返回 x 的正切值。如果 x 大于等于 263 或小于等于 -263,此时函数返回无穷大 (NaN)。
参数说明:
x - 以弧度表示的角度值。示例:
double pi=3.1415926535; double x,y; x=MathTan(pi/4); Print("MathTan(",pi/4," = ",x); //输出: MathTan(0.7856)=1
