Stochastic(iStochastic)関数|MT4インディケータ

執筆者

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

MetaTrader 4(MT4)を使ったFX自動売買において、テクニカル指標の理解と活用は非常に重要です。この記事では、Stochastic(ストキャスティクス)インディケータについて、初心者にもわかりやすく解説します。

Stochastic(iStochastic)とは?

Stochasticオシレーターは、価格の終値が一定期間のレンジ内でどの位置にあるかを示すテクニカル指標です。J. George Laneによって開発され、価格のモメンタムを測定するために使用されます。一般的に、80以上の値は買われ過ぎを、20以下の値は売られ過ぎを示します。

iStochasticの計算方法

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

関数仕様
double iStochastic(
    string symbol,    // 通貨ペア種類
    int timeframe,    // 時間軸種類
    int %Kperiod,     // %K 線の期間
    int %Dperiod,     // %D 線の期間
    int slowing,      // Slow%Dの期間
    int method,       // 移動平均線種類
    int price_field,  // 価格種類
    int mode,         // インディケータライン種類
    int shift         // 取得するバーの位置(0が最新のバーを表し、1~が過去のバーに遡っていきます)
);

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

引数の説明

symbol
通貨ペアの種類を指定します。例えば、"EURUSD"や"GBPJPY"など。
timeframe
時間軸の種類を指定します。例えば、1分足(1)、5分足(5)、1時間足(60)など。
%Kperiod
%K 線の期間を指定します。
%Dperiod
%D 線の期間を指定します。
slowing
Slow%Dの期間を指定します。
method
移動平均線の種類を指定します。
  – `MODE_SMA` – 単純移動平均
  – `MODE_EMA` – 指数移動平均
  – `MODE_SMMA` – 平滑移動平均
  – `MODE_LWMA` – 加重移動平均
price_field
価格の種類を指定します。
  – `0` – Low/High
  – `1` – Close/Close
mode
インディケータラインの種類を指定します。
  – `MODE_MAIN` – メインライン
  – `MODE_SIGNAL` – シグナルライン
shift
取得するバーの位置を指定します。0が最新のバーを表し、1以上の数値が過去のバーを表します。

サンプルコード

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

サンプルコード
// EURUSDの1時間足で最新のバーのStochastic値を取得する例
double main_value = iStochastic(“EURUSD", PERIOD_H1, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double signal_value = iStochastic(“EURUSD", PERIOD_H1, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
Print(“EURUSDの1時間足の最新のStochasticメイン値: “, main_value);
Print(“EURUSDの1時間足の最新のStochasticシグナル値: “, signal_value);

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

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

応用例
// EURUSDの1時間足でStochasticを使って買いシグナルや売りシグナルを判断する例
double main_value = iStochastic(“EURUSD", PERIOD_H1, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
double signal_value = iStochastic(“EURUSD", PERIOD_H1, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);

if (main_value > 80) {
    Print(“売りシグナル: Stochasticが80を超えました。");
} else if (main_value < 20) {
    Print(“買いシグナル: Stochasticが20を下回りました。");
}

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

まとめ

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

MQL4

Posted by 佐川直弘