こんにちは~。
MQLをマスターしたくて「あ~、MQLマスターしてぇなぁ」と思っているりょうです。
今回はMQLの勉強した内容をお話してみる試みです。
forループはとてもよく使う
MQL、というかプログラミングのスキルの中で『forループ』と言われるものがあります。
僕はMQLを勉強しだしてから3,4か月ほどになりちょっとずついろんなプログラムを組んでいってるのですが、このforループというのはいつでもどこでも山ほど出てきます。
基本中の基本にゃあ
MQLの中で一例を言うと、
- 指定した期間のローソク足の中で条件に合うローソク足があるか判定する
- 現在のエントリーの中から決済条件に合うエントリーはあるか判定する
などが挙げられると思います。
このように、『この中で条件に合うものがあるか片っ端から探してくれ』っていう状況はプログラミングの中ではよくあることのようです。
ローラー作戦だ!
このforループを勉強する手法として、『forループで九九を作ろう』というのがあります。
とてもわかりやすい手法だと思ったのでこちらでもやってみました。
forループは3つの要素がある
僕が最初に作ったのがこちら。
int a; //aという変数を用意しておく
int b; //bという変数を用意しておく
for( a = 1; a <= 9; a++ ) { //aを1から9まで回す
for( b = 1; b <= 9; b++ ) { //bを1から9まで回す
Print( a, " × ", b, " = ", a * b ); //『a × b = ○○』とエキスパートタブに表示させる
}
}
forループは3つの要素で構成されています。
下の図は a のforループを取り出したものです↓。
forループの()の中の3つの要素は左から『初期化条件;繰返し条件;再初期化条件』です。
僕は最初意味が分からなかったので、その下にとどのつまり何をしてるのかという解説を書きました。
今回で言うと『aは1から始まって;9まで続いて;1ずつ足されてループ』という事になります。
『再初期化条件』の『++』は1ずつ足していくという意味
ちなみに『- -』になれば1ずつ引いていくという意味
そして次の行では b という変数を同じ条件でループさせます。
まずは a をローラーでつぶしていけ!
そのあとは b だ!
ボス 了解ですにゃ!
そして最後に計算結果を表示させるという内容となります。
Print()関数・・・MT4のエキスパートタブに計算結果を表示させる
その結果がこちらです↓。
『1 * 1 = 1』から『9 * 9 = 81』までの計算結果がずらーっと表示されます。
とてもシンプルなソースコードですが、初めてforループを勉強するにはとても良い内容ですね!
おおお!これがforループか! ってなりました
九九の計算一つとっても書き方いろいろ
これを作ってから、おっしょはんから「もっと簡潔に書く方法もあるよ」と教えてもらいました。
for( int a = 1; a <= 9 ; a++ ) { //aを1から9まで
for( int b = 1; b <= 9 ; b++ ) { //bを1から9まで
Print( a, " × ", b, " = ", a * b ); //『a × b = ○○』とエキスパートタブに表示させる
}
}
a と b の宣言を1行でまとめている!
プログラミングって人によって書き方が色々ありますが、こんなシンプルなソースコードでも書き方に違いがあるんですね~。