外汇EA编程教程——操作符
1 复合语句。
一个复合操作(版块)有一个或多个语句构成,他们由大括号和小括号({})包括起来,注意小括号后面不需要分号(;) 例如:
if(x==0)
{
Print("invalid position x=",x);
return;
}
2 表达式
一个表达式由分号(;)结束,一个分号(;)也是一个操作符,代表一个语句的结束。例如:
i = 4;
i = a = 7; //错误,一个表达式中不能同时出现两个以及两个以上的等号(=)。
函数调用语句,如 FunctionName("a"); //调用了一个名为FunctionName的函数,该函数的参数值为字符串"a"。
3 break 语句。
break语句使程序跳出最近的一个,while,for,switch语句。如果在一个循环语句里面已经完成了需要的工作,则可以使用break语句跳出循环。例如:
for(a=0;a<a ref="nofollow" ref="nofollow" ref="nofollow"rray_size;a++)
if((array[a]==0)
break;
这段代码的意思就是,遍历数组array,如果发现数组中的一个值为0的时候,则跳出这个循环。
4 continue
continue用于结束执行当前循环语句体,直接进入下一个循环,可用在for和while循环体语句中。例如:
int a = 0;
for(int j = 0; j < 10; j++)
{
if (array[j] <= 0)
{
continue; //遇到continue,则程序进入下一个循环,不会再执行 a += array[j] 语句,注意此时不是跳出循环体。}
a += array[j];
}
注意continue和break的区别,continue是直接进入本循环体的下一次循环,而break是直接跳出循环体。
5 return
return语句结束当前函数的执行,并返回一个值给调用这个函数的程序,也可以不返回值。例如:
int CalcSum(int x, int y)
{
return(x+y); //函数执行到这里就中断了,返回值为x+y;后面的语句都不会执行了。
int i = x * y; //改语句执行不到了。
}
如果你要控制函数直接结束,直接使用return语句即可。
6 条件语句 if-else
例如:
if (a == 0)
{
Print("a");}
else if (a < 0)
{
Print("小于0");}
else
{
Print("大于0");}
以上的代码的解释为:如果a的值为0,则打印出字符串 "a";如果a<0则打印出 "小于0";否则打印出 "大于0"
7 switch 语句
例子如下:
int x = 1
switch(x)
{
case 1:
Print("CASE 1");//x的值为1的时候
break;
case 2:
case 3:
Print("CASE 2 or 3"); //x的值为2或3
break;
default:
Print("NOT 1,2,3"); //x的值不是1,2,3
break;
}
switch里面如果程序没有碰到break语句,或继续执行知道碰到break;或者程序块结束。
8 循环语句 while,for
如下语句
int k = 1;
int n = 10;
while(k<n) //判断括号内的条件是否为true,如果是,才执行属于while的程序块
{
Print(k);
k++;
}//将从1打印到10。
for(int n = 0; n < 10; n++)
Print(n); //将从0打印到9
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40654.html