« プログラムの作成 練習2-2 演算 | メイン | プログラムの作成 練習2-4 繰り返しフォー »
プログラムの作成 練習2-3 条件分岐
プログラミングに欠かせない処理、条件分岐を練習してみましょう。
条件分岐は、
「こういう状態なら○○の処理を、そうでないならxxの処理を実行せよ」
というふうに、条件に応じて処理内容を変えるものです。
mq4ではif()を使います。
int start(){
int i;
i=1;
if(i==1){
Print("OK");①
} else{
Print("NG");②
}
}
if()は「もし()内の条件が真ならば、そのあとの{}内の処理を行い、偽ならば、else以下の処理を行え」というものです。
つまりこの例では, i が1なら①の処理を行い、iが1以外なら②の処理を行ないます。iには1を代入していますので、①が実行されて「OK」が出力されます。
i==1と「=」が二つ並んでいることに注意してください。=を一個だけにしているとエラーが出ます。
==は比較演算子と呼ばれるもので、両辺の値を比較するための記号です。
・A == B AとBが等しければtrue(真)
・A != B AとBが等しくないならtrue
・A > B Aのほうが大きいならtrue
・A >= B AがB以上ならtrue(A=Bの場合を含む)
・A < B
・A <= B
A==B かつ A > C というような条件を調べるには、
&&をつかって、
A==B && A > C
というふうに書きます。
この場合、A=2、B=2、C=1ならば真、A=2、B=2、C=3ならば偽になります。
「または」は|| (Shift+¥キーで出る「|」を2つ)です。
A==B || A < C
AとBが等しい、または、AよりCが大 なら真
A=2,B=2,C=3は真、A=2,B=3,C=1も真、A=2,B=2,C=1も真です。
A=2,B=1,C=3は偽になります。
()でくくればさらに複雑な条件を調べることが出来ます。
(A==B && A > C) || A < D
AがBと等しくてCより大きい、または、AがDより小さいなら真
A=2、B=2、C=1、D=3ならば真、A=2、B=2、C=3、D=1の場合も真、A=2、B=2、C=3、D=3は偽になります。
真や偽のときの処理が一行で終わる場合には{}を省略することが出来ます。
if( i==1) Print("OK");
else Print("NG");
入れ子式に使うこともできます。
if( i==1 ){
if( j==2 ){
Print("OK");
} else {
Print("NG j");
}
} else Print("NG i");
偽の場合に何もしないのなら、elseは省略できます。
int start(){
int i,j;
i=1;
j=2;
if( i==1) {
Print("i ==1");
}
if( j==1) Print("j=1");
else Print("j !=1");
return(0);
}
//結果、「i==1」と 「j !=1」が表示される
« プログラムの作成 練習2-2 演算 | メイン | プログラムの作成 練習2-4 繰り返しフォー »
トラックバック
このエントリーのトラックバックURL:
http://kawarobo.com/motp/mt-tb.cgi/338
コメント
こんにちは。
最近FXを始めたリーマンプログラマーです。
経済の知識がほとんど無く、テクニカルの検証ツールを
探しておりました。
※「せっかくだからプログラマーらしくシステムトレードするぜ!」
さんのところからこちらへ飛んできました。
カワロボのインストール~設定を一通り読みましたが
かなり本格的で驚きました。
これから参考にさせていただきますので、どうかよろしく
お願いします^^
投稿者 しのぽん : 2005年11月25日 16:06
しのぽんさん、コメントありがとうございます!
プログラマーのかたにも読んでもらえるのは何だか心強いです。
MetaTraderは、自分で一からソフトを作るより、かなり楽が出来るのでいいですよね。検証ツールとしても結構使えると思います。
これからも是非よろしくお願いします!
投稿者 kawarobo : 2005年11月26日 14:58