今回は、
if文(条件分岐)の説明です。
プログラミング初心者の方には、結構難しい部類に入ると思いますが、少しずつ内容を理解して行けば、ちゃんと出来ますので頑張って下さい。
では、いつものように
MetaEditorを起動して下さい。
今回のNameは
ifbunnにして置きましょうか。
用意は出来ましたね?
ではまず、int start()の
真上に、下のコードを書いてください。
今回は、
真上です。
間違えないで下さい。
何故int start()の中じゃなくて真上かというのは後ほど説明します。
int a = 0;
書けましたか?
実際に書くとこんな感じです。
int a =0;
int start()
{
}
これは前回やった変数です。
変数は、箱の種類を決めて箱を作った時にも数字を入れることが出来ます。
覚えて置いて下さい。
では、次はint start()の中のreturn(0);の上辺りに次のコードを書いてください。
If( a > 10 )
{
a = 0;
}
これが
If文です。
プログラミングで初心者の方がぶつかる最初のほうの壁ですが、これが出来るようになるとかなり色んなことが出来るようになりますので、頑張って習得して下さい。
では、説明しますね。
分かり易いように書くと次のようになります。
もし( 条件)
{
条件が成立したら、中の処理をする。
}
ifの英語の意味は「もし」ですよね?
英語の意味そのままです。
そして、()の中に条件を書きます。
条件の種類が色々とあるので、下に纏めて書きます。
・A == B AとBが等しければ =(イコール)を二回書きます。
・A != B AとBが異なっていれば
・A < B AよりBの方が大きければ <=にすることによって同じ数字も含みます。
・A > B AよりBの方が小さければ >=にすることによって同じ数字も含みます。
また、複数の条件分岐をする方法もあるのですが、それは次回やることにします。
そして、最後に{}の中に、条件が成立した時に実行する内容を書きます。
先程書いてもらったコードを日本語にすると、
もしaが10より大きかったらaを0にする、という内容になります。
最後に、If分の下に次のコードを書いてください。
Print(“a=”,a );
a=a+1;
書けましたか?
print()は毎回使ってますので、皆さんそろそろ慣れて来たころでしょうか?
前回と同じく、aの中の数字を表示させています。
a=a+1; は、ロウソク足が更新する度にaに+1しています。
また、1プラスだけならa++;でも行けます。
これで、元のaに+1した数字がaに入ります。
マイナスの場合は、a--;です。
さて、先程int a=0;をint start()の上に書いた理由ですが、int start()の中に書くとローソク足が更新する度に、中の内容がリセットされます。
ですので、a=a+1;としていても、ローソク足が更新したらaの中身は0に戻っています。
しかし、外に書いておくことによって、int start()と関係をなくして、ローソク足が更新してもaの変数の中身をそのままにしておけます。
少々ややこしいですが、使って行くうちに慣れて行くと思いますので、そういうものだという風に覚えて置いてください。
さて、これで今回のプログラミングは終了です。
最後にまとめて書きますね。
int a = 0;
int start()
{
if( a > 10)
{
a=0;
}
Print(“a=”,a);
a=a+1;
return(0);
}
今回のプログラムは、aが10以下ならローソク足が更新する度にaに1を足して行き、もし10以上ならaを0にして、print()でaを表示するというものです。
では、前回と同じようにコンパイルをするために
compileのボタンを押してください。
そろそろエラーが出やすくなる頃だと思います。
もしエラーになったら、半角になっているか、;を付け忘れていないか、{}を付け忘れていないか、{}の数は合っているかを確認して下さい。
エラーが出なかったら、
MetaTrader4のバックテストで
ifbunnを選んで、スタートして下さい。
終わったら、操作履歴をみて下さい。
メッセージの一番右端にa=と書いてあり、その後の数字が0〜10まで表示されていますね。
今回は、これで終了です。
If文がどういうものか分かって頂けたでしょうか?
少々難しかったと思いますが、使って行くうちに慣れて行くと思いますので、頑張ってください。
次回は、If文の複数の条件分岐の仕方を説明して行きます。
宜しかったら、応援して下さい
システムトレード研究所〜FXで完全自動売買〜INDEXへ
----------------------注意----------------------
このプログは半角のスペースが認識されない為、コードを見易くするために全角で書いている場合があります。
実際にプログラムにコードを書くときは、コピー&ペーストせずに半角で書いて行って下さい。