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