
一定期間の最安値を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]の最安値)