MT4指标编程入门:判断语句详解

MT4指标编程入门:判断语句的用法

MT4指标编程入门(七):判断语句

if语句

if语句非常常用,DLSM外汇结构也相对简单。

基本规则是:如果小括号内的条件成立,则执行大括号中的语句;如果条件不成立,则跳过这些语句。

例如:

if(a==1)

{

b=c+1;

}

在编写报警指标时,我们经常会用到这种判断结构:

如果“价格向上达到指定价位”,则触发报警。

如果“MACD指标上穿”,则触发报警。

如果“均线形成金叉”,则触发报警,等等。

示例:

intmark=0;

if(High[1]<1.0000&&High[0]>=1.0000&&mark!=1)

{

Alert(symbol(),"价格向上触及1.0000");

mark=1;

}

if(Low[1]>1.0000&&Low[0]<=1.0000&&mark!=2)

{

Alert(symbol(),"价格向下触及1.0000");

mark=2;

}

这是一个在价格上穿或下穿1.0000时触发报警的判断语句。上穿报警的条件是:第二根K线的最高价小于1.0000,且最新K线的最高价大于或等于1.0000。下穿报警的条件是:第二根K线的最低价大于1.0000,且最新K线的最低价小于或等于1.0000。

在这里,mark用作报警状态标记,初始值为0。当上穿报警触发后,mark的值被修改为1;当下穿报警触发后,mark的值被修改为2。当mark等于0时,表示尚未报过警,此时上穿和下穿报警都可以触发;当mark等于1时,表示已经触发过上穿报警,不能再触发上穿报警,但仍可以触发下穿报警;当mark等于2时,表示已经触发过下穿报警,不能再触发下穿报警,但仍可以触发上穿报警。

if...else语句

基本规则是:如果小括号内的条件成立,则执行if下大括号中的语句1;如果条件不成立,则执行else下大括号中的语句2。

if(条件)

{

语句1;

}

else

{

语句2;

}

注意事项:只有语句末尾才需要使用分号“;”,条件、大括号和小括号后面都不需要添加分号。语句通常用大括号括起来,但如果只有一行语句,那么大括号可以省略。更多MT4编程入门知识,欢迎继续关注相关学习资源。