MQL関数リファレンス

MQL4MQL5 テクニカル指標

iStochastic()

できること
ストキャスティクスの値を取得する
対応
MQL4・MQL5

iStochastic() とは

ストキャスティクス(%K と %D)を計算する関数です。0〜100 の値で、買われすぎ・売られすぎや、%K と %D のクロスの判定に使います。

iStochastic() の書式と引数

MQL4 の場合MT4

double iStochastic(
   string symbol,
   int timeframe,
   int Kperiod,
   int Dperiod,
   int slowing,
   int method,
   int price_field,
   int mode,
   int shift
)
引数型省略時説明
symbolstring必須銘柄名。チャートの銘柄なら _Symbol(NULL も可)。
timeframeint必須時間足。0 または PERIOD_CURRENT でチャートの時間足。
Kperiodint必須%K の期間(よく使われるのは 5)。
Dperiodint必須%D の期間(よく使われるのは 3)。
slowingint必須スローイング(よく使われるのは 3)。
methodint必須%D の移動平均の種類。MODE_SMA など。
price_fieldint必須価格の種類。MQL4 は 0(高値・安値)または 1(終値)、MQL5 は STO_LOWHIGH または STO_CLOSECLOSE。
modeint必須取得するライン。MODE_MAIN(%K)または MODE_SIGNAL(%D)。
shiftint必須値を取得するバーの位置。0 が現在(未確定)のバー、1 がひとつ前の確定したバー。

戻り値(MQL4)

指定したラインの値(0〜100)。

MQL5 の場合MT5

int iStochastic(
   string symbol,
   ENUM_TIMEFRAMES period,
   int Kperiod,
   int Dperiod,
   int slowing,
   ENUM_MA_METHOD ma_method,
   ENUM_STO_PRICE price_field
)
引数型省略時説明
symbolstring必須銘柄名。チャートの銘柄なら _Symbol(NULL も可)。
periodENUM_TIMEFRAMES必須時間足。PERIOD_CURRENT でチャートの時間足。
Kperiodint必須%K の期間(よく使われるのは 5)。
Dperiodint必須%D の期間(よく使われるのは 3)。
slowingint必須スローイング(よく使われるのは 3)。
ma_methodENUM_MA_METHOD必須%D の移動平均の種類。MODE_SMA など。
price_fieldENUM_STO_PRICE必須価格の種類。MQL4 は 0(高値・安値)または 1(終値)、MQL5 は STO_LOWHIGH または STO_CLOSECLOSE。

戻り値(MQL5)

インジケーターのハンドル。バッファ番号は 0 が %K(MAIN_LINE)、1 が %D(SIGNAL_LINE)です。

iStochastic() の使い方(コード例)

MQL4

double k1 = iStochastic(_Symbol, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 1);
double d1 = iStochastic(_Symbol, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 1);
if(k1 < 20 && k1 > d1)
   Print("売られすぎゾーンで %K が %D より上");

MQL5

int hSto = INVALID_HANDLE;

int OnInit()
{
   hSto = iStochastic(_Symbol, PERIOD_CURRENT, 5, 3, 3, MODE_SMA, STO_LOWHIGH);
   return hSto == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED;
}

void OnTick()
{
   double k[], d[];
   if(CopyBuffer(hSto, MAIN_LINE, 1, 1, k) < 1 || CopyBuffer(hSto, SIGNAL_LINE, 1, 1, d) < 1)
      return;
   if(k[0] < 20 && k[0] > d[0])
      Print("売られすぎゾーンで %K が %D より上");
}

OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。

iStochastic() の注意点

  • MQL5 では値ではなく「ハンドル」(インジケーターの番号)が返ります。ハンドルは OnInit() で1回だけ作り、OnTick() などで CopyBuffer() を使って値を読み出します。毎ティック作り直すと動作が重くなります。

MQL4 と MQL5 の違い

MQL4 の price_field は 0 / 1 の数値、MQL5 は STO_LOWHIGH / STO_CLOSECLOSE の定数です。

関連する関数

テクニカル指標の関数一覧

← MQL関数リファレンスで、ほかの関数を探す

サイバーシグナルインジケーターと8大特典プレゼント

MT4/MT5自動売買EAサイバーラッシュ無料プレゼント

MT4/MT5自動売買EAサイバードラゴン無料プレゼント

グルグルトレイン(グルトレ)EAを無料プレゼント

ライントレードEAサイバートレナビを無料プレゼント

ゴトー日の東京仲値が狙える自動売買EA

LINE友だち追加

注目記事ランキング

  1. 1

    【サクソバンクチャート】月曜日の早朝から動く為替レート

  2. 2

    【MT4/MT5対応】チャート上に手書きできる描画インジケーターの無料配布

  3. 3

    【サンデーダウ・サンデードル円】土日に動く中東レートの表示方法と見方を解説

  4. 4

    【先着50名】グルトレEAを無料プレゼントしています!

  5. 5

    保護中: 【勝率UP!】曜日や日・月別為替相場の動きでFXを見極める

  6. 6

    【MT4/MT5対応】「sign_alert」シグナルアラートやメール送信するインジケーターの無料配布

  7. 7

    無料メールマガジン「マナブ式FX」|毎朝6時、今日の為替相場予想が届く

  8. 8

    【原油・金】WTIとゴールドの商品レート一覧と見やすいチャート

  9. 9

    VQインジケーターとは?MT4/MT5版を無料配布【設定例つき】

  10. 10

    【バイナリーオプション攻略法】全勝!+497,363円の利益が出た手法とは?

TOP
CLOSE