外汇交易MT4编程入门7:判断语句

2012-06-05 09:19:44    来源:    作者:

  一、if语句
if语句很常用,也比较简单。

规则:如果小括号中的条件成立,则执行大括号中的语句;如果不成立,则跳过大括号。
例如:
if(a==1)
{
    b=c+1;
}
我们在编写报警指标的时候,就经常用到这一语句:
如果“价格向上达到指定价位”,则“报警”
如果“MACD上穿”,则“报警”
如果“均线金叉”,则“报警”。等等


例:

int mark=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是用作报警标记,mark的初值是0,
当上穿报警后,mark的值就改为1;当下穿报警后,mark的值就改为2;

当mark=0时,说明从未报过警,上、下穿都能报警;
当mark=1时,说明已经上穿报过警了,不能再上穿报警了,但仍可下穿报警;
当mark=2时,说明已经下穿报过警了,不能再下穿报警了,但仍可上穿报警。

二、if ... else语句
规则:如果小括号中的条件成立,则执行if下大括号中的语句1;如果不成立,则执行else下大括号中的语句2。
if(条件)
   {
   语句1;
   }
else
   {
   语句2;
   }


三、注意事项
1、只有语句后面才用到语句结束符“;” 条件、大、小括号后面都不用“;”
2、语句用大括号括起来,但如果只有一行语句,则大括号可以省略

             if(条件) 语句1;

本文标签: