INT、BUFFER、IF構文

MT4プログラミング

MQL4 で使用されるINTBUFFERIFは、それぞれ異なる役割を持つ重要な概念と構文です。以下で詳しく説明します。


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未満です");
}

まとめ

用語役割使用目的
内部整数型データを格納数値の管理、計算など
バッファテクニカルインディケータのデータを保持チャートへの描画や計算
もし条件分岐構文条件に基づく処理の実行

コメント

タイトルとURLをコピーしました