MT4指标编程入门(八):循环

阅读 :
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com

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

MT4指标编程入门


  一幅K线图有几千上万条K线,每根K线又各有开收盘价、最高低价等数值,而且还有很多移动平均线、MACD、RSI等指标值。

  面对海量数据,我们必须用循环来实现数据的取值和赋值。

  while循环

  while(条件)

  {

  语句1

  语句2

  。。。

  }

  规则:当小括号中的条件成立时,就执行大括号中的语句,执行完了再判断条件是否成立,如果条件成立就继续执行大括号中的语句。

  只要条件成立,程序就不停地运行大括号中的语句(循环体),直到小括号中的条件不再成立时结束循环。

  它与if语句的区别是:if语句是当条件为真时运行一次;而while语句则是只要条件为真,循环体语句就不停地运行,直到条件为假时结束循环。

  例:

  externint快线=12;

  externint慢线=26;

  doublebuffer[];

  inti=0;

  while(i<1000)

  {

  buffer=iMA(NULL,0,快线,0,MODE_EMA,PRICE_CLOSE,i)

  -iMA(NULL,0,慢线,0,MODE_EMA,PRICE_CLOSE,i);

  i++;

  }

  这里,循环执行条件是i<1000,循环体中有两个语句,一句是把两条均线的差值赋给数组buffer,另一句“i++;”是每运行一次,i的值在原有基础上增加1。这样,随着循环的不断运行,i的值逐渐增加,循环1000次后,i的值也就从0变为1000,此时“i<1000”就不再成立,循环结束。这样,数组buffer[]中也就有了1000个值。

  for循环

  for循环与while循环在原理上是一致的,只是书写格式上有所区别

  把上面的例子改成for语句:

  externint快线=12;

  externint慢线=26;

  doublebuffer[];

  for(inti=0;i<1000;i++)

  {

  buffer=iMA(NULL,0,快线,0,MODE_EMA,PRICE_CLOSE,i)

  -iMA(NULL,0,慢线,0,MODE_EMA,PRICE_CLOSE,i);

  }

  与前面相比,我们注意到:

  “inti=0;”语句从“while(i<1000)”上方移到循环条件“i<1000”的前面;

  “i++;”语句从循环体中移到了循环条件“i<1000”的后面;

  循环执行顺序与while循环一致:

  第一步、先执行小括号中的第1句:inti=0;

  (此语句用来定义初始变量,在循环中仅执行一次,可以为没有任何表达式的空操作符“;”)

  第二步、再判断小括号中的第2句是否成立:i<1000;

  如果不成立,则循环结束;如果成立,则循环继续运行,执行第三步

  第三步、按顺序执行大括号中的语句

  第四步、执行小括号中的第1句:i++(此语句即:每执行一次,i的值增加1)

  然后回到第二步继续执行循环。

  再补充一点:如果循环体中(大括号中)只有一行语句,大括号可以省略
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com
本文标题:MT4指标编程入门(八):循环 - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/52851.html

相关文章

  • MQL4编程中关于 Ask、Bid 用法的说明
    MQL4编程中关于 Ask、Bid 用法的说明

    Ask、Bid 搞错了,开仓指令会导致不能成交,指令返回-1。订单运行过程中,我们经常需要监控盈利点数(不是货币金额),对于买入订单,我们需要观察 Bid 价与开仓价之差:...

    MQL4编程学习
  • MQL4常规函数(二)

    常规用途函数,不涉及任何专用函数。Alert() &#8211; 弹出警告窗口 Comment() &#8211; 图表上显示信息 Print() &#8211; 输出文本信息 PlaySound() &#8211; 播放声音文件 MarketInfo() &#8211; 获取市场相关...

    MQL4编程学习
  • MT4指标详解之:Stochastic Oscillator(随机振荡指标)

    Stochastic Oscillator指标又名KDJ 指标 ,是由 George Lane 首创的,最早用于期货市场。Stochastic Oscillator指标在图表上采用%K和%D两条线,在设计中综合了动量观念、强弱指标与移动平均线的优点,在计算过程中主要研究高低价位与收市价的关系,反映价格走势的强弱和超买超卖现象。...

    MQL4编程学习
  • EA复盘非常漂亮,一旦挂了实盘就完蛋的原因是什么?

    很多EA复盘非常漂亮,一旦挂了实盘就完蛋了,其最主要的有几点原因:1.复盘时间不够长,或者有选择性。      大家知道外汇行情放大来说是按年来分析行情的,可能某年或某几年是单边,某年或某几年是震荡,但却不会连续十年以上都是单边或都是震荡。...

    MQL4编程学习
  • EA简明教程收集以及修改

    第一篇 创建新文件 1、打开 MetaEditor (如何打开自己想办法)呵呵,如果这个都打不开,拜托下面的也不用看了。也许你不适合研究这个。 2、选择文件-->新文件 打开文件创建页面。 3、选择第二项 客户指标 然后点下一步...

    MQL4编程学习
你可能感兴趣