William’s Percent Range(iWPR)関数|MT4インディケータ

執筆者

佐川直弘(株式会社トリロジー取締役)

MetaTrader 4(MT4)を使ったFX自動売買において、テクニカル指標の理解と活用は非常に重要です。この記事では、William’s Percent Range(ウィリアムズ%R、iWPR)インディケータについて、初心者にもわかりやすく解説します。

William’s Percent Range(iWPR)とは?

William’s Percent Range(ウィリアムズ%R)は、ラリー・ウィリアムズによって開発されたテクニカル指標で、オシレーターの一種です。%Rは、指定された期間の高値と安値に対する現在の価格の位置を示します。この指標は、買われ過ぎや売られ過ぎの状態を判断するのに役立ちます。通常、%Rが-20以上は買われ過ぎ、-80以下は売られ過ぎとされます。

iWPRの計算方法

MT4では、William’s Percent Rangeを計算するためにiWPR()関数を使用します。この関数は以下のように定義されています。

関数仕様
double iWPR(
    string symbol,    // 通貨ペア種類
    int timeframe,    // 時間軸種類
    int period,       // 移動平均の期間
    int shift         // 取得するバーの位置(0が最新のバーを表し、1~が過去のバーに遡っていきます)
);

この関数は、指定された通貨ペアと時間軸における%Rの値を返します。

引数の説明

symbol
通貨ペアの種類を指定します。例えば、"EURUSD"や"GBPJPY"など。
timeframe
時間軸の種類を指定します。例えば、1分足(1)、5分足(5)、1時間足(60)など。
period
移動平均の期間を指定します。
shift
取得するバーの位置を指定します。0が最新のバーを表し、1以上の数値が過去のバーを表します。

サンプルコード

以下に、iWPR()関数を使用して最新のバーの%R値を取得するサンプルコードを示します。

サンプルコード
// EURUSDの1時間足で最新のバーの%R値を取得する例
double wpr_value = iWPR(“EURUSD", PERIOD_H1, 14, 0);
Print(“EURUSDの1時間足の最新の%R値: “, wpr_value);

このサンプルコードでは、"EURUSD"の1時間足における最新の%R値を取得し、ターミナルウィンドウに表示します。

以下は、%Rを使って買いシグナルや売りシグナルを判断する簡単な例です。

応用例
// EURUSDの1時間足で%Rを使って買いシグナルや売りシグナルを判断する例
double wpr_current = iWPR(“EURUSD", PERIOD_H1, 14, 0);
double wpr_previous = iWPR(“EURUSD", PERIOD_H1, 14, 1);

if (wpr_current > -20 && wpr_previous <= -20) {
    Print(“売りシグナル: %Rが-20を超えました。");
} else if (wpr_current < -80 && wpr_previous >= -80) {
    Print(“買いシグナル: %Rが-80を下回りました。");
}

このコードは、%Rが-20を超えた場合に売りシグナルを、-80を下回った場合に買いシグナルを生成します。

まとめ

William’s Percent Range(iWPR)インディケータは、買われ過ぎや売られ過ぎを判断するための強力なツールです。MT4のiWPR()関数を使用することで、簡単にこのインディケータの値を取得し、トレード戦略に活用することができます。初心者の方も、この基本的な使い方を理解して、実際のトレードに応用してみてください。

MQL4

Posted by 佐川直弘