【MQL4】「iStochastic関数」ストキャスを使ったエントリー方法

オシレーター系のテクニカル指標は、相場の「売られ過ぎ」「買われ過ぎ」に使われる指標です。

相場の値動きが、一定の範囲で行ったり来たりすることに注目して造られています。

オシレーター系のテクニカル指標で、最も使われているのは「RSI」でしょうか。

ですが、今回は「RSI」ではなく、「ストキャスティクス(ストキャス)」をご紹介します。

スポンサーリンク

「RSI」と「ストキャスティクス」どちらを使えば良いのか?

オシレーター系のテクニカル指標の「RSI」「ストキャスティクス」は、同じような使い方になります。

どちらも「売られ過ぎ」「買われ過ぎ」を判断する「上限」「下限」ラインに到達した後の「反転」を狙ってエントリーします。

・範囲の下限に来たら「売られ過ぎ」のため、「買い」エントリー
・範囲の上限に来たら「買われ過ぎ」のため、「売り」エントリー

どちらを使えば良いかと言うと、自分が使いやすい方を使えば良いと思います。

僕が使いやすいのが「ストキャス」なので、今回は「ストキャス」にしています。

MQL4では、「RSI」は「iRSI関数」、「ストキャスティクス」は「iStochastic関数」を使います。

iStochastic関数の書式

double iStochastic(
   string  symbol,        // 通貨ペア
   int     timeframe,     // 時間軸
   int     Kperiod,       // %K期間
   int     Dperiod,       // %D期間
   int     slowing,       // スローイング
   int     method,        // 移動平均の種類
   int     applied_field, // 価格
   int     mode,          // ラインの種類
   int     shift          // シフト
);

iStochastic関数の引数

例えば、MT4の初期値で価格を取得する場合、

引数例)

引数名設定値設定内容
symbolNULL現在の通貨ペア
timeframe0現在の時間軸
Kperiod5%K期間
Dperiod3%D期間
slowing3スローイング
method0単純移動平均(Simple)
applied_field0安値/高値(Low/High)
modeMODE_MAINメインのライン
shift0現在の足

ゴールデンクロス、デッドクロスでエントリーするコード

ストキャスティクスの下限「20」以下で「メイン」「シグナル」「ゴールデンクロス」で、エントリーしよう。

「売られ過ぎ」ゾーンで「買いエントリー」する場面ですね。

ストキャスの初期値で、判定してみましょう。

コード例)

// ストキャス(%K=5, %D=3, SLOW=3, メイン)
double  stMain      = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_MAIN, 0); //現在足
double  stMain_1    = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_MAIN, 1); //1本前足

// ストキャス(%K=5, %D=3, SLOW=3, シグナル)
double  stSignal    = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_SIGNAL, 0); //現在足
double  stSignal_1  = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_SIGNAL, 1); //1本前足


//ストキャスクロス判定
if( stMain >= stSignal && stMain_1 < stSignal_1 &&   // ゴールデンクロス
    stMain <= 20 && stMain <= 20                     // 下限20以下
 ){


   // ここでエントリー処理


}

逆に「買われ過ぎ」ゾーンで、「売りエントリー」する場合は、

コード例)

// ストキャス(%K=5, %D=3, SLOW=3, メイン)
double  stMain      = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_MAIN, 0); //現在足
double  stMain_1    = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_MAIN, 1); //1本前足

// ストキャス(%K=5, %D=3, SLOW=3, シグナル)
double  stSignal    = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_SIGNAL, 0); //現在足
double  stSignal_1  = iStochastic (NULL, 0, 5, 3, 3, 0, 0, MODE_SIGNAL, 1); //1本前足


//ストキャスクロス判定
if( stMain <= stSignal && stMain_1 > stSignal_1 &&   // ゴールデンクロス
    stMain >= 80 && stMain >= 80                     // 下限20以下
 ){


   // ここでエントリー処理


}

ストキャスなどのオシレーター系は、タイミングを計る際に使うことが多くなります。

トレンドフォロー系のインジケーターと一緒に使うと、トレンドの流れに乗るタイミングが分かりやすくて良いですね。

また、エントリーのタイミングで、「矢印」「アラート」「メール」などの通知をしたい場合は、下記の記事も合わせて読んでみて下さい。

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