5评论

0收藏

MQL4数学和三角函数(二)

avatar 编程逆袭仔 | 3736 人阅读 | 5 人评论 | 2013-08-13

  • MathAbs() – 求绝对值
  • MathArccos() – 求反余弦
  • MathArcsin() – 求反正弦
  • MathArctan() – 求反正切
  • MathCeil() – 取最小整数
  • MathCos() – 求余弦
  • MathExp() – 求e的幂
  • MathFloor() – 取最大整数
  • MathLog() – 求自然对数
  • MathMax() – 求最大值
  • MathMin() – 求最小值
  • MathMod() – 求模
  • MathPow() – 求幂
  • MathRand() – 获取随机整数
  • MathRound() – 求四舍五入值
  • MathSin() – 求正弦
  • MathSqrt() – 求平方根
  • MathSrand() – 随机数设置
  • MathTan() – 求正切

MathMax() – 求最大值[size=1em]
1

double MathMax(double value1, double value2)




返回两个数值中最大值。
参数:
value1 - 第一个数值。value2 - 第二个数值。
示例:
[size=1em]
1

double result=MathMax(1.08,Bid);




Back to Top

MathMin() – 求最小值[size=1em]
1

double MathMin(double value1, double value2)




返回两个数值中最小值。
参数:
value1 - 第一个数值。value2 - 第二个数值。
示例:
[size=1em]
1

double result=MathMin(1.08,Ask);




Back to Top

MathMod() – 求模[size=1em]
1

double MathMod(double value, double value2)




此函数返回两个数相除的浮点型余数。
MathMod函数计算x/y的浮点余数f,因此x=i*y+f,其中i是整数,f与x有相同的正负号,且f的绝对值要小于y的绝对值。
参数:
value1 - 被除数。value2 - 除数。
示例:
[size=1em]
1

2

3

4

double x=-10.0,y=3.0,z;

z=MathMod(x,y);

Print("余数 ",x," / ",y," 为 ",z);

//输出数据:  -10 / 3 的余数为 -1




Back to Top

MathPow() – 求幂[size=1em]
1

double MathPow(double base, double exponent)




返回基数指定次方的值。
参数:
base - 基数。exponent - 指数值。
示例:
[size=1em]
1

2

3

4

double x=2.0,y=3.0,z;

z=MathPow(x,y);

Printf(x," 的",y,"次乘方为", z);

//输出数据: 2 的 3次乘方为8




Back to Top

MathRand() – 获取随机整数[size=1em]
1

int MathRand()




MathRand函数返回一个在0到32767范围内的伪随机整数。在调用MathRand之前,需要先使用 MathSrand() 函数。
示例:
[size=1em]
1

2

3

4

MathSrand(TimeLocal());

// 显示 10 个数字.

for(int i=0;i<10;i++ )

Print("随机数 ", MathRand());




Back to Top

MathRound() – 求四舍五入值[size=1em]
1

double MathRound(double value)




返回四舍五入到最接近指定数值的整数。
参数:
value - 要四舍五入的值。
示例:
[size=1em]
1

2

3

4

5

6

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




Back to Top

MathSin() – 求正弦[size=1em]
1

double MathSin(double value)




返回指定角的正弦。
参数:
value - 弧度表示的角度值。
示例:
[size=1em]
1

2

3

4

5

6

7

8

9

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




Back to Top

MathSqrt() – 求平方根[size=1em]
1

double MathSqrt(double x)




MathSgrt函数返回x的平方根。如果x为负值,返回无穷大(NaN)。
参数:
x - 求平方根的数值。
示例:
[size=1em]
1

2

3

4

5

6

7

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




Back to Top

MathSrand() – 随机数设置[size=1em]
1

void MathSrand(int seed)




MathSrand()函数为生成一组伪随机整数设置一个起点。为了重新初始化随机数生成器,使用1作为种子。用其它数值作为种子可以将生成器设定到一个随机起点。用 MathRand 取回已生成的伪随机数。在调用MathSrand()之前,调用MathRand函数和用1作为种子调用MathSrand函数都会生成相同的随机数。
参数:
seed - 生成随机数的种子。
示例:
[size=1em]
1

2

3

4

MathSrand(TimeLocal());

// 显示 10 个 随机数.

for(int i=0;i<10;i++ )

  Print("random value ", MathRand());




Back to Top

MathTan() – 求正切[size=1em]
1

double MathTan(double x)




MathTan返回x的正切值。如果x大于等于263,或者x小于等于-263,这种情况下函数返回无穷大(NaN)
参数:
x - 弧度表示的角度值。
示例:
[size=1em]
1

2

3

4

5

double pi=3.1415926535;

double x,y;

x=MathTan(pi/4);

Print("MathTan(",pi/4," = ",x);

//输出: MathTan(0.7856)=1





""
还没有人打赏,支持一下

评论|共 5 个

huntsuns

发表于 2014-11-22 15:19:09 | 显示全部楼层

谢谢分享!!!!!

leilei996

发表于 2014-11-22 23:33:56 | 显示全部楼层

亏损中……………………

rui888

发表于 2014-11-22 23:43:42 | 显示全部楼层

看看吧,谢谢分享

无从说起

发表于 2014-11-27 02:46:27 | 显示全部楼层

下了  的确不错

wuchuan

发表于 2014-12-3 17:43:36 | 显示全部楼层

多谢分享 看看是什么

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则