基础知识

MT4编程参考二

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

操作符 [Operators]

格式和嵌套

格式.一个操作符可以占用一行或者多行,两个或多个操作符可以占用更多的行。

嵌套.执行控制符(if, if-else, switch, while and for)可以进行任意嵌套.

复合操作符

一个复合操作符有一个(一个区段)和由一个或多个任何类型的操作符组成的的附件{}. 每个表达式使用分号作为结束(;)

示例:

if(x==0)

{

x=1; y=2; z=3;

}

表达式操作符

任何以分号(;)结束的表达式都被视为是一个操作符。

Assignment operator.

Identifier=expression;

标识符=表达式;

示例:

x=3;

y=x=3; // 这是错误的

一个操作符中只能有一个表达式。

调用函数操作符

Function_name(argument1,..., argumentN);

函数名称(参数1,...,参数N);

示例:

fclose(file);

空操作符

只有一个分号组成(;).我们用它来表示没有任何表达式的空操作符.

停止操作符

一个break; , 我们将其放在嵌套内的指定位置,用来在指定情况下跳出循环操作.

示例:

// 从0开始搜索数组

for(i=0;i<ARRAY_SIZE;I++)

if((array[i]==0)

break;

继续操作符

一个continue;我们将其放在嵌套内的指定位置,用来在指定情况下跳过接下来的运算,直接跳入下一次的循环。

示例:

// summary of nonzero elements of array

int func(int array[])

{

int array_size=ArraySize(array);

int sum=0;

for(int i=0;i

{

if(a[i]==0) continue;

sum+=a[i];

}

return(sum);

}返回操作符

一个return;将需要返回的结果放在return后面的()中。

示例:

return(x+y);

条件操作符 if

if (expression)

operator;

如果表达式为真那么执行操作。

示例:

if(a==x)

temp*=3;

temp=MathAbs(temp);

条件操作符 if-else

if (expression)

operator1

else

operator2

如果表达式为真那么执行operator1,如果为假执行operator2,else后还可以跟进多个if执行多项选择。详见示例。

示例:

if(x>1)

if(y==2)

z=5;

else

z=6;

if(x>l)

{

if(y==2) z=5;

}

else

{

z=6;

}

// 多项选择

if(x=='a')

{

y=1;

}

else if(x=='b')

{

y=2;

z=3;

}

else if(x=='c')

{

y = 4;

}

else

{

Print("ERROR");

}

选择操作符 switch

switch (expression)

{

case constant1: operators; break;

case constant2: operators; break;

...

default: operators; break;

}

当表达式expression的值等于结果之一时,执行其结果下的操作。不管结果如何都将执行default中的操作。

示例:

case 3+4: //正确的

case X+Y: //错误的

被选择的结果只可以是常数,不可为变量或表达式。

示例:

switch(x)

{

case 'A':

Print("CASE A/n");

break;

case 'B':

case 'C':

Print("CASE B or C/n");

break;

default:

Print("NOT A, B or C/n");

break;

}

循环操作符 while

while (expression)

operator;

只要表达式expression为真就执行操作operator

示例:

while(k<N)

{

y=y*x;

k++;

}

循环操作符 for

for (expression1; expression2; expression3)

operator;

用表达式1(expression1)来定义初始变量,当表达式2(expression2)为真的时候执行操作operator,在每次循环结束后执行表达式3(expression3)

用while可以表示为这样:

expression1;

while (expression2)

{

operator;

expression3;

};

示例:

for(x=1;x<=7;x++)

Print(MathPower(x,2));

使用for(;;)可以造成一个死循环如同while(true)一样.

表达式1和表达式3都可以内嵌多个用逗号(,)分割的表达式。

示例:

for(i=0,j=n-l;i<N;I++,J--)

a[i]=a[j];

转载请注明出处。

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