ループ処理(for文、while文、do-while文)
MQL5でプログラムを効率的に実行するために、ループ処理は欠かせません。ループを活用することで、同じ処理を繰り返し実行でき、コードの可読性と効率が向上します。本記事では、MQL5で使用される主要なループ文である for 文、while 文、do-while 文の基本構造と使用例を詳しく解説します。
for文とは
for 文は、繰り返し回数が決まっている場合に適しています。基本構文は以下の通りです。
for (初期化; 条件; 更新処理) {
// 繰り返し実行する処理
}
for文の基本例
void OnStart() {
for (int i = 0; i < 5; i++) {
Print("カウント: ", i);
}
}
実行結果:
カウント: 0
カウント: 1
カウント: 2
カウント: 3
カウント: 4
解説: このプログラムでは、i
を 0 から 4 まで増加させながら Print
関数で出力します。ループの各回で i
の値が表示され、5回実行されます。
配列とfor文
void OnStart() {
int array[] = {10, 20, 30, 40, 50};
for (int i = 0; i < ArraySize(array); i++) {
Print("配列の要素[", i, "]: ", array[i]);
}
}
実行結果:
配列の要素[0]: 10
配列の要素[1]: 20
配列の要素[2]: 30
配列の要素[3]: 40
配列の要素[4]: 50
解説: このコードでは、配列 array
の要素を for
文で順番に取得し、各要素のインデックスと値を表示します。
while文とは
while 文は、条件が true である間、繰り返し処理を行います。
while (条件) {
// 繰り返し実行する処理
}
while文の基本例
void OnStart() {
int count = 0;
while (count < 3) {
Print("カウント: ", count);
count++;
}
}
実行結果:
カウント: 0
カウント: 1
カウント: 2
解説: このプログラムでは、count
が 3 になるまでループが繰り返されます。count
を 1ずつ増やしながら出力するため、3回実行されます。
do-while文とは
do-while 文は、最低1回は処理を実行するループです。
do {
// 繰り返し実行する処理
} while (条件);
do-while文の基本例
void OnStart() {
int count = 0;
do {
Print("カウント: ", count);
count++;
} while (count < 3);
}
実行結果:
カウント: 0
カウント: 1
カウント: 2
解説: do-while
文は、最初に処理を1回実行し、その後 count
が3未満である限りループを続けます。そのため、少なくとも1回は必ず処理が行われます。
break文とcontinue文
ループ処理の途中で制御を変更するために、break 文と continue 文を使うことができます。
break文の例
void OnStart() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
Print("カウント: ", i);
}
}
実行結果:
カウント: 0
カウント: 1
カウント: 2
カウント: 3
カウント: 4
解説: i == 5
のとき break
が実行され、ループが強制終了されます。
continue文の例
void OnStart() {
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue;
}
Print("カウント: ", i);
}
}
実行結果:
カウント: 0
カウント: 1
カウント: 3
カウント: 4
解説: i == 2
のとき continue
によってスキップされ、i = 2
の場合の処理は実行されません。
まとめ
用語 | 説明 |
---|---|
ループ処理 | 同じ処理を繰り返し実行すること |
for文 | 決まった回数のループを実行する制御構造 |
while文 | 条件が true の間、ループを実行する制御構造 |
do-while文 | 最低1回は実行されるループ処理 |
break文 | ループを強制終了する |
continue文 | 現在のループ処理をスキップし、次の反復に進む |
無限ループ | 終了条件がなく、永久に繰り返されるループ |
MQL5でループ処理を適切に使うことで、プログラムの効率化が図れます。用途に応じて for 文、while 文、do-while 文を使い分けましょう。
コメント