一定期間の最安値を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]
は、一定期間の最高値から最安値を引いた値に対する、終値から最安値を引いた値の割合を%で表します。slowing
が1
の場合をファストストキャスティックス、slowing
が3
で単純移動平均をとったものをスローストキャスティクスといいます。
シグナルライン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_field
がSTO_CLOSECLOSE
の場合、Close[i]
の最高値)
Lline[i]
:Kperiod
サンプルのLow[i]
の最安値(price_field
がSTO_CLOSECLOSE
の場合、Close[i]
の最安値)