MT4编程入门:if判断语句

| 发表于 2020-8-16 21:00:02 | 显示全部楼层 |复制链接
最后由 EA学院 于 2020-7-13 21:58 编辑

一、if语句

if语句很常用,也比较简单。规则:如果小括号中的条件成立,则执行大括号中的语句;如果不成立,则跳过大括号。

例如:
  1. if(a==1)
  2.     {
  3.      b=c+1;
  4.     }
复制代码
我们在编写报警指标的时候,就经常用到这一语句:
如果“价格向上达到指定价位”,则“报警”
如果“MACD上穿”,则“报警”
如果“均线金叉”,则“报警”。等等

例:
  1. int mark=0;
  2. if( High[1]<1.0000 && High[0]>=1.0000 && mark!=1)
  3.     {
  4.      Alert(symbol(),"价格向上触及1.0000");
  5.      mark=1;
  6.     }
  7. if( Low[1]>1.0000 && Low[0]<=1.0000 && mark!=2)
  8.     {
  9.      Alert(symbol(),"价格向下触及1.0000");
  10.      mark=2;
  11.     }
复制代码
这是一个价格上、下穿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;
举报

评论 使用道具

精彩评论1

sk678
C
| 发表于 2020-8-16 21:13:51 来自手机 | 显示全部楼层
感谢分享,学习了
举报

点赞 评论 使用道具

发新帖
您需要登录后才可以评论 登录 | 立即注册