https://s3-us-west-2.amazonaws.com/secure.notion-static.com/821afe10-0814-47c5-8b58-149b311e723b/USDJPY_iDaily.png

一定期間の最安値を0、最高値を100としたときに、終値がどのあたりに位置するかを示す指標です。さらに移動平均により平滑化したラインをシグナルラインとして表示します。

関数書式

double  iStochastic(
   string              [symbol](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),      // 銘柄
   ENUM_TIMEFRAMES     [timeframe](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),   // 時間軸
   int                 Kperiod,     // %K期間
   int                 Dperiod,     // %D期間
   int                 slowing,     // %Kスローイング期間
   ENUM_MA_METHOD      [ma_method](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),   // 移動平均の種類
   ENUM_STO_PRICE      price_field, // 最高値・最安値を算出する価格の種類
   int                 mode,        // 出力するライン
   int                 [shift](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>)        // 計算するバーの位置
   );

ストキャスティックスのパラメータは、ストキャスティックスを算出する期間(%K期間)Kperiod、シグナルラインを算出する移動平均をとる期間(%D期間)Dperiod、ストキャスティックスを算出する際に移動平均をとる期間(%Kスローイング期間)slowingの3つとなります。

price_fieldは、最高値・最安値を算出する価格の種類を表します。STO_LOWHIGHの場合、高値の最高値、安値の最安値を、STO_CLOSECLOSEの場合、終値の最高値、終値の最安値を求めます。

どのラインを出力するかをmodeの引数で指定します。MODE_MAINがストキャスティックス、MODE_SIGNALがシグナルラインを表します。

使用例

ストキャスティックスとシグナルラインの交差

計算方法

ストキャスティックスStoch[0]は、一定期間の最高値から最安値を引いた値に対する、終値から最安値を引いた値の割合を%で表します。slowing1の場合をファストストキャスティックス、slowing3で単純移動平均をとったものをスローストキャスティクスといいます。

シグナルラインSignal[0]は、Stoch[i]の移動平均(移動平均の方法はma_method)から求めます。

Stoch[0] = SMA(Close[i]-Lline[i], slowing)/SMA(Hline[i]-Lline[i], slowing) * 100
Signal[0] = MA(Stoch[i], Dperiod)

Hline[i]KperiodサンプルのHigh[i]の最高値(price_fieldSTO_CLOSECLOSEの場合、Close[i]の最高値)

Lline[i]KperiodサンプルのLow[i]の最安値(price_fieldSTO_CLOSECLOSEの場合、Close[i]の最安値)