MetaTrader 4 プログラム入門編

MetaTrader 4 プログラム入門 part5 for文



----------------------------------------------------------------

MetaTrader 4のバージョンアップにより仕様が変わってきた部分がありますので、 記事を新しい仕様で書き直しております。この注意書きが書かれていないページは 旧仕様の記事になります。旧仕様の記事でも一部を除き基本的にはシステムの制作に問題はありません。

----------------------------------------------------------------


 今回は、前回やったIf文よりは簡単だと思いますので、安心してください。


 では、いつもと同じようにMetaEditorを起動して下さい。


 名前はforbunnにして置いて下さい。


 今回は普通にvoid OnTick()に次のコードを書いてください。


 今回も分けると逆にややこしくなるので、まとめて書きますね。



int i;

for(i=0;i<10;i++)
{
  Print("i=",i);
}



 書けましたか?


 初めての方は分からないと思いますが、前回よりはかなり簡単そうだと思いませんか?


 では、説明して行きます。


 int i;は、変数の宣言ですね。


 別にiである必要性はないんですけど、他の変数と重なると困るので大抵の場合for文変数iを使います。



 次に、今回のメインのfor(i=0;i<10;i++){}の説明です。


 日本語にすると次のようになります。



 1 最初にi=0をセットします。


 2 iが10未満なら、{}の処理をします。(今回ならPrinf()です)


 3 {}の処理が終わった後、iに+1します。


 4 iが10以上になるまで、2と3を繰り返し、iが10以上になったらfor文を終わります。



 少々難しいかもしれませんが、この形式を覚えて真ん中のi<10の部分の10をループしたい回数に変更すれば簡単に使えますのでマスターして下さい。


 i=0 ; i<10 ; i++ この間の;(セミコロン)を忘れないで付けてください。


 Printはループしている間、iの値を表示しています。


 今回のプログラミングはこれで終了です。


 for文は、過去の時間足などをまとめて計算したり、数日間の高値の移動平均を取ったりなど使えるとかなり便利になります。


 是非とも習得して下さい。


 それでは、まとめて書きます。



void OnTick()
{

 int i;

 for(i=0;i<10;i++)
 {
   Print("i=",i);
 }


}


 今回のプログラムは、時間足が変わる度にPrintでiの値を表示して、それを10回ループするというものです。


 では、いつもと同じようにコンパイルのボタンを押してください。


 エラーが出てきた場合は、半角になっているか、;を付け忘れていないか、{}を付け忘れていないか、{}の数は合っているかを確認して下さい。


 エラーが出なかったら、MetaTrader 4のバックテストでforbunnを選んで、スタートして下さい。


 終わったら、操作履歴をみて下さい。



for文 結果



 メッセージの一番右端に、iの値が0〜9まで書かれていますね。


 今回はこれで終了です。


 前回よりは簡単だったと思うのですが、どうでしょうか?




------------------------------注意------------------------------

 このサイトは半角のスペースが認識されない為、コードを見易くするために全角で書いている場合があります。実際にプログラムにコードを書くときは、コピー&ペーストせずに半角で書いて行って下さい。

<< If文 複数の条件分岐 | TOP | システムの導入方法 >>

トップページ プロフィール ブログ リンク オーダーシステム 利用規約 問い合わせ