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

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";否则(即a大于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,则会继续执行后续的case,直到遇到break或整个switch块结束。

8. 循环语句 while 与 for

示例语句:

int k = 1;

int n = 10;

while(k

{

Print(k);

k++;

}// 此循环将从1打印到10。

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

Print(n); // 此循环将从0打印到9

掌握这些基础的操作符和流程控制语句,是进行EA编程和自动化交易策略开发的基石。对于希望深入学习交易系统编程的开发者,可以参考一些专业的交易平台提供的文档和资源,例如在fxtm富拓官网上,有时也能找到相关的技术资料和社区讨论,辅助理解如何将这些编程概念应用到实际的交易环境构建中。