📘

MQL5でCCIを使う方法

2024/01/29に公開
// CCIの値を取得する関数
double getCCIValue(int shift)
{
    static int handle = -1; // CCIのハンドル(静的ローカル変数)
    static ENUM_TIMEFRAMES last_timeframe = PERIOD_CURRENT; // 前回の時間軸(静的ローカル変数)

    // 現在のチャートの時間軸が前回の時間軸と異なる場合、ハンドルをリセット
    if(last_timeframe != _Period)
    {
        last_timeframe = _Period; // 現在の時間軸を記録
        handle = -1; // ハンドルをリセット
    }

    // CCI指標のハンドルを取得
    if(handle == -1)
    {
        handle = iCCI(_Symbol, last_timeframe, 14, PRICE_TYPICAL); // 14期間のCCI
    }

    double cciValue[1]; // CCIの値を格納する配列

    // バッファをコピーしてCCIの値を取得
    CopyBuffer(handle, 0, shift, 1, cciValue);

    return cciValue[0]; // 指定されたシフトでのCCIの値を返す
}


Discussion