初心者から上級者まで嬉しい特典!2つのEAとインジケーターを無料でプレゼント中!詳しくは こちら

【MQL4の勉強】for()文とは?プログラム書き方やサンプルコードあり!

この記事ではfor()文についての解説や、プログラム書き方やサンプルコードを紹介いたします。

1.for()文とは

for()文とは、一定の処理を指定した回数だけ繰り返して実行させるために使用するものです。

for()文の書式は、以下のとおりです。

for(初期設定式; 条件式; 再設定式)
     {
       処理内容
     }
ikokuno-senshi-EA

2.サンプルコード

以下のようなスクリプトを作成して実行すると、「ターミナルウィンドウ」の「エキスパート」タブに、「メッセージ」という文字列が5回表示されます。

サンプルコード

#property strict

#property show_confirm

void OnStart()
{
 for(int i = 1; i <= 5; i++)
    {
      Print("メッセージ");
    }
}
上記プログラムは、以下のような動作をしています。

  1. 初期設定文が実行される
    「i」に「1」が代入されます。
    なお、for()文の初期設定文は、最初に1回だけ実行されます。
  2. 条件式による比較がなされる
    「i」には「1」が代入されているので、条件式「i <= 5」(「i」は「5」以下)を満たしています。
  3. 処理内容が実行される
    「{}」で囲まれた「Print(“メッセージ”);」という処理が実行されます。
    なお、Print()関数の詳細については「こちら」を参照してください。
  4. 再設定式が実行される
    「i++」が実行され、「i」の値は「1」増加して「2」になります。
  5. 条件式による比較がなされる
    「i」には「2」が代入されているので、条件式「i <= 5」(「i」は「5」以下)を満たしています。
  6. 処理内容が実行される
    「Print(“メッセージ”);」が実行されます。
  7. 以降は、「i」の値が「6」になるまで、再設定式→条件式→処理内容→再設定式→……という処理が繰り返されます。
    このような繰り返し処理により「i」の値が「6」になると、条件式「i <= 5」(「i」は「5」以下)を満たさなくなるので、for()文を抜けてプログラムは終了します。

以上をまとめると、for()文は、最初に一度だけ初期設定文を実行し、その後は「条件式→処理内容→再設定式→条件式→処理内容→……」という動作を、条件式を満たす限り繰り返す、という処理を実行する、ということになります。