📘
MQL5でCCIを使う方法
// 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