最完美的程序化系统带你创造10年稳赢
返回首页
量化投资,高频交易,程序化交易学习必备~900+个(200G+)培训视频持续更新中!!!
当前位置: 主页 > MT4 >

MT4编程初级手册(8):循环语句

时间:2010-01-16 02:57来源:未知 作者:admin 点击:
一幅 K 线图有几千上万条 K 线( Bar, 根据设定的样本数),每根 K 线 Bar 又各有开收盘价、收盘价、最高低价等数值,而且还有很多移动平均线、 MACD 、 RSI 等技术指标数值。 面对大量的数据,我们经常采用循环来实现数据的取值和赋值。下面我们简单来介绍

  一幅K线图有几千上万条K线(Bar,根据设定的样本数),每根K线Bar又各有开收盘价、收盘价、最高低价等数值,而且还有很多移动平均线、MACD、RSI等技术指标数值。

  面对大量的数据,我们经常采用循环来实现数据的取值和赋值。下面我们简单来介绍一下MT4中主要用到的循环语句。

  一、while循环

  while(判断条件)

  {

  语句1;

  语句2;

  。。。;

  }

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

  只要条件成立,程序就不停地执行大括号中的语句(循环体),直到小括号中的条件不再成立时结束循环,while循环又叫做“当循环”,意思为当XX条件时执行循环。

  它与if语句的区别是:if语句是当条件为真时只运行一次;而while语句则是只要条件为真,循环体语句就不断地运行,直到条件为假时结束循环。所以为了避免造成死循环,循环体内应当对判断的条件进行修改,如进行数值的累加等。

  例:

  extern int fast=12;

  extern int slow=26;

  double buffered[ ];

  int i=0;

  while(i<1000)

  {

  buffered= iMA(NULL,0,fast,0,MODE_EMA,PRICE_CLOSE,i)

  -iMA(NULL,0slow,0,MODE_EMA,PRICE_CLOSE,i);

  i++;

  }

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

  (责任编辑:admin)

量化投资,高频交易,程序化交易学习必备~900+个(200G+)培训视频持续更新中!!!
------分隔线----------------------------
云量化商城
如果您会开发策略,请进!大量项目等待与您合作!
推荐内容
量化投资培训