MT4におけるwhileループ処理とforループ処理について

已更新:2019年3月20日


大量データを処理する場合、while() 或いは for()ループ処理を使うと便利でしょう。


1、whileループ処理

 丸括弧()中の条件が成り立った場合、波括弧{}中の命令文が成立しなくなるまでに、whileループ処理を実行します。


while(判断条件)

 {

 命令文1;

 命令文2;

 ・・・;

 }


例:

 int fast=15;

 int slow=30;

 double buffered[ ];

 int i=0;

  while(i<100)

   {

    buffered= iMA(symbol,0,fast,0,MODE_SMA,PRICE_CLOSE,i)

     -iMA(symbol,0slow,0,MODE_SMA,PRICE_CLOSE,i);

        i++;

    }


解説:

 上記のwhileループ処理の条件はi<100、ループ処理の中には2つ命令文があります。


  ①、移動平均線の差を時系列配列buffered[ ]に取り込む。

  ②、i++は初期値0のiという変数を100回までカウンターとして、ループする。


 つまり、iが100回までループしたら、i=0からi=100になります。そうなれば、i<100は成り立たなくなるので、ループ処理は終了です。同時に、時系列配列buffered[ ]の中にも100個の値が取り込むことが出来ました。