基础知识

MT4编程参考五

字号+ 作者: 来源: 12-06 我要评论( )

double MathArcsin( double x)

计算反正弦值

:: 输入参数

x - 要处理的值

示例:

double x=0.32696, y;

y=MathArcsin(x);

Print("Arcsine of ",x," = ",y);

y=acos(x);

Print("Arccosine of ",x," = ",y);

//Output: Arcsine of 0.326960=0.333085

//Output: 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);

//Output: Arctangent of -862.42 is -1.5696

double MathCeil( double x)

返回向前进位后的值

:: 输入参数

x - 要处理的值

示例:

double y;

y=MathCeil(2.8);

Print("The ceil of 2.8 is ",y);

y=MathCeil(-2.8);

Print("The ceil of -2.8 is ",y);

/*Output:

The ceil of 2.8 is 3

The ceil of -2.8 is -2*/

double MathCos( 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);

//Output: MathSin(1.5708)=1

// MathCos(1.5708)=0

double MathExp( double d)

Returns value the number e raised to the power d. On overflow, the function returns INF (infinite) and on underflow, MathExp returns 0.

:: 输入参数

d - A number specifying a power.

示例:

double x=2.302585093,y;

y=MathExp(x);

Print("MathExp(",x,") = ",y);

//Output: MathExp(2.3026)=10

double MathFloor( double x)

返回向后进位后的值

:: 输入参数

x - 要处理的值

示例:

double y;

y=MathFloor(2.8);

Print("The floor of 2.8 is ",y);

y=MathFloor(-2.8);

Print("The floor of -2.8 is ",y);

/*Output:

The floor of 2.8 is 2

The floor of -2.8 is -3*/

double MathLog( double x)

计算对数

:: 输入参数

x - 要处理的值

示例:

double x=9000.0,y;

y=MathLog(x);

Print("MathLog(",x,") = ", y);

//Output: MathLog(9000)=9.10498

double MathMax( double value1, double value2)

计算两个值中的最大值

:: 输入参数

value1 - 第一个值

value2 - 第二个值

示例:

double result=MathMax(1.08,Bid);

double MathMin( double value1, double value2)

计算两个值中的最小值

:: 输入参数

value1 - 第一个值

value2 - 第二个值

示例:

double result=MathMin(1.08,Ask);

double MathMod( double value, double value2)

计算两个值相除的余数

:: 输入参数

value - 被除数

value2 - 除数

示例:

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

z=MathMod(x,y);

Print("The remainder of ",x," / ",y," is ",z);

//Output: The remainder of -10 / 3 is -1

double MathPow( double base, double exponent)

计算指数

:: 输入参数

base - 基数

exponent - 指数

示例:

double x=2.0,y=3.0,z;

z=MathPow(x,y);

Printf(x," to the power of ",y," is ", z);

//Output: 2 to the power of 3 is 8

int MathRand( )

取随机数

示例:

MathSrand(LocalTime());

// Display 10 numbers.

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

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

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);

//Output: The round of 2.8 is 3

// The round of -2.4 is -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);

//Output: 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("The square root of ",question," is ", answer);

//Output: The square root of 45.35 is 6.73

void MathSrand( int seed)

通过Seed产生随机数

:: 输入参数

seed - 随机数的种子

示例:

MathSrand(LocalTime());

// Display 10 numbers.

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);

//Output: MathTan(0.7856)=1

物体函数 [Object Functions]

bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

创建物件

:: 输入参数

name - 物件名称

type - 物件类型.

window - 物件所在窗口的索引值

time1 - 时间点1

price1 - 价格点1

time2 - 时间点2

price2 - 价格点2

time3 - 时间点3

price3 - 价格点3

示例:

// new text object

if(!ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045))

{

Print("error: can't create text_object! code #",GetLastError());

return(0);

}

// new label object

if(!ObjectCreate("label_object", OBJ_LABEL, 0, 0, 0))

{

Print("error: can't create label_object! code #",GetLastError());

return(0);

}

ObjectSet("label_object", OBJPROP_XDISTANCE, 200);

ObjectSet("label_object", OBJPROP_YDISTANCE, 100);

bool ObjectDelete( string name)

删除物件

:: 输入参数

name - 物件名称

示例:

ObjectDelete("text_object");

string ObjectDescription( string name)

返回物件描述

:: 输入参数

name - 物件名称

示例:

// writing chart's object list to the file

int handle, total;

string obj_name,fname;

// file name

fname="objlist_"+Symbol();

handle=FileOpen(fname,FILE_CSV|FILE_WRITE);

if(handle!=false)

{

total=ObjectsTotal();

for(int i=-;i<TOTAL;I++)

{

obj_name=ObjectName(i);

FileWrite(handle,"Object "+obj_name+" description= "+ObjectDescription(obj_name));

}

FileClose(handle);

}

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

{dede:myad name='artice_ad_01'/}
相关文章
  • 第三代移动平均线 MetaTrader 指标

    2016-11-30 15:02

  • Aroon Up & Down指标

    2016-11-30 15:56

  • MetaTrader4指标 BB MACD指标

    2016-11-30 16:00

  • Beginner MetaTrader

    2016-11-30 16:00