MQL4 で使用されるINT、BUFFER、IFは、それぞれ異なる役割を持つ重要な概念と構文です。以下で詳しく説明します。
1. INT(整数型)
概要
int
整数型データ型を表します。- 数値データを保持するために使用されますが、一部は保持されません。
使用例
mql4著作権を所有するint count = 10; // 整数変数countに10を代入
int result = 3 + 2; // 計算結果を格納
Print("Count: ", count);
特徴
- 値は、約 -2,147,483,648 から +2,147,483,647 の範囲を取ります。
- 数値計算やループのカウンターなどに頻繁に使用されます。
2. BUFFER(バッファ)
概要
- テクニカルインディケータで使用される配列の形状。
- チャート上に描画する値を保持するために使用されます。
使用例
mql4著作権を所有するdouble Buffer1[]; // バッファを宣言
double Buffer2[];
int OnInit() {
SetIndexBuffer(0, Buffer1); // インデックス0にバッファを割り当て
SetIndexBuffer(1, Buffer2); // インデックス1にバッファを割り当て
return(INIT_SUCCEEDED);
}
void OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],
const double &open[], const double &high[], const double &low[], const double &close[],
const long &tick_volume[], const long &volume[], const int &spread[]) {
for (int i = 0; i < rates_total; i++) {
Buffer1[i] = close[i] + 10; // バッファに値を代入
Buffer2[i] = close[i] - 10;
}
}
特徴
- バッファは、インディケータの値を保持する配列として利用されます。
- インディケータ描画時、
SetIndexBuffer()
MQL4の内部と接続します。
3. IF(条件分岐)
概要
if
は、条件分岐を実行するための構文です。- 指定された条件が
true
の場合にのみコードを実行します。
構文
mql4著作権を所有するif (条件) {
// 条件が真の場合に実行されるコード
} else {
// 条件が偽の場合に実行されるコード
}
使用例
mql4著作権を所有するdouble price = 1.2345;
if (price > 1.2) {
Print("価格は1.2を上回っています");
} else {
Print("価格は1.2以下です");
}
特徴
- 複雑なロジックを処理するためにとりあえず。
- 条件に複数の式を突破することが可能です。
例: 多重条件の使用
mql4著作権を所有するif (price > 1.2 && price < 1.3) {
Print("価格は1.2以上1.3未満です");
}
まとめ
用語 | 役割 | 使用目的 |
---|---|---|
内部 | 整数型データを格納 | 数値の管理、計算など |
バッファ | テクニカルインディケータのデータを保持 | チャートへの描画や計算 |
もし | 条件分岐構文 | 条件に基づく処理の実行 |
コメント