数学运算函数
double MathAbs( double 输入值)
返回数字的绝对值
:: 输入参数
value - 要处理的数字
示例:
double dx=-3.141593, dy;
// 计算绝对值
dy=MathAbs(dx);
Print(dx," 的绝对值 是",dy);
// 输出为: 3.141593的绝对值结果 是3.141593
double MathArccos( double 输入值 )
反余弦
:: 输入参数
value - 要处理的数字,范围-1到1
示例:
double x=0.32696, y;
y=asin(x);
Print("Arcsine of ", x, " = ", y);
y=acos(x);
Print("Arccosine of ",x," = ",y);
//输出结果为: Arcsine of 0.326960=0.333085
//输出结果为t: Arccosine of 0.326960=1.237711
double MathArcsin( double 输入值 )
反正弦
:: 输入参数
x - 要处理的值
示例:
double x=0.32696, y;
y=MathArcsin(x);
Print("Arcsine of ",x," = ",y);
y=acos(x);
Print("Arccosine of ",x," = ",y);
//输出结果为: Arcsine of 0.326960=0.333085
//输出结果为: Arccosine of 0.326960=1.237711
double MathArctan( double 输入值x)
反正切
:: 输入参数
x - 要处理的值
示例:
double x=-862.42, y;
y=MathArctan(x);
Print("Arctangent of ",x," is ",y);
//输出结果为: Arctangent of -862.42 is -1.5696
double MathCeil( double 输入值 )
向大舍入
:: 输入参数
x - 要处理的值
示例:
double y;
y=MathCeil(2. 8);
Print("2.8的ceil值为",y);
y=MathCeil(-2.8);
Print("-2.8的ceil值为",y);
/* 输出结果为:
2.8 的ceil值为: 3
-2.8的ceil值为:-2 */
double MathCos( double 输入值 )
余弦
:: 输入参数
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
double MathExp( double d次)
e的d次幂
:: 输入参数
d - A number specifying a power.
示例:
double x=2.302585093, y;
y=MathExp(x);
Print("MathExp(",x,") = ",y);
//输出结果为: MathExp(2.3026)=10
double MathFloor( double 输入值)
向小舍入
:: 输入参数
x - 要处理的值
示例:
double y;
y=MathFloor(2.8);
Print("2.8 的floor的值是 ",y);
y=MathFloor(-2.8);
Print("-2.8的floor的值是",y);
/* Output:
2.8的floor的值是2
-2.8的floor的值是-3 */
double MathLog( double x)
x的自然对数
e的含义是单位时间内,持续的翻倍增长所能达到的极限值。
这个值是自然增长的极限,因此以e为底的对数,就叫做自然对数
rate就代表增长率。这说明e可以用于任何增长率的计算,前提是它必须是持续不断的复合式增长。
:: 输入参数
x - 要处理的值
示例:
double x=9000.0, y;
y=MathLog(x);
Print("MathLog(",x,") = ", y);
//输出结果为: MathLog(9000)=9.10498
精确位= MathRound((-MathLog(MarketInfo(Symbol(), MODE_LOTSTEP))) /2.302585093);
Print(" 精确位= ",精确位);
double MathMax( double 值1, double 值2)
两值中最大
:: 输入参数
value1 - 第一个值
value2 - 第二个值
示例:
double result=MathMax(1.08, Bid);
double MathMin( double 值1, double 值2)
两值中的最小
:: 输入参数
value1 - 第一个值
value2 - 第二个值
示例:
double result=MathMin(1.08, Ask);
double MathMod( double 被除数, double 除数)
两个值相除的余数
:: 输入参数
value - 被除数
value2 - 除数
示例:
double x=-10.0,y=3.0,z;
z=MathMod(x,y);
Print( x, " / ", y, "的余数是", z);
//输出结果为: -10 / 3 的余数是 -1
double MathPow( double 底, double 指数)
求幂
:: 输入参数
base - 基数
exponent - 指数
示例:
double x=2.0, y=3.0, z;
z=MathPow(x,y);
Printf(x," 的",y,"次幂是", z);
//输出结果: 2 的3 次方 8
int MathRand()
取随机数
示例:
MathSrand(LocalTime());
// Display 10 numbers.
for(int i=0;i<10;i++ )
Print("random value ", MathRand());
double MathRound( double 输入值)
四舍五入
:: 输入参数
value - 要处理的值
示例:
double y=MathRound(2.8);
Print("2.8 的四舍五入值是 ",y);
y=MathRound(2.4);
Print("-2.4 的四舍五入值是 ",y);
//输出结果: 2.8 的四舍五入值是3
// -2.4 的四舍五入值是 -2
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
double MathSqrt( double x)
平方根
:: 输入参数
x - 要处理的值
示例:
double question=45.35, answer;
answer=MathSqrt(question);
if(question<0)
Print("Error: MathSqrt returns ",answer," answer");
else
Print(,question,"的平方根是 ", answer);
//输出结果: 45.35 的平方根是 6.73
void MathSrand( int seed)
通过Seed产生随机数
:: 输入参数
seed - 随机数的种子
示例:
MathSrand(LocalTime());
// 显示10个数字
for(int i=0;i<10;i++ )
Print("random value ", MathRand());
double MathTan( double x)
正切
:: 输入参数
x - 要计算的角度
示例:
double pi=3.1415926535;
double x, y;
x=MathTan(pi/4);
Print("MathTan(",pi/4," = ",x);
//输出结果为: MathTan(0.7856)=1
网友评论