著者: アンドレイ・N・ボルコンスキー
ストキャスティクスオシレーターは、ウィリアム・ブラウによるストキャスティックインデックスに基づいています(詳細はMomentum, Direction, and Divergence: Applying the Latest Momentum Indicators for Technical Analysisを参照してください)。
- WilliamBlau.mqhはterminal_data_folder\MQL5\Include\に配置してください。
- Blau_TS_Stochastic.mq5はterminal_data_folder\MQL5\Indicators\に配置してください。

ウィリアム・ブラウによるストキャスティクスオシレーター
計算:
ストキャスティクスオシレーターは次のように定義されます:
TS_Stochastic(price,q,r,s,u) = TStochI(price,q,r,s,u)
シグナルラインはスムージングを使って計算されます:
SignalLine(price,q,r,s,u,ul) = EMA(TS_Stochastic(price,q,r,s,u) ,ul)
- TS_Stochastic() - ファーストストキャスティクス、%k - ストキャスティックインデックス TStochI(price,q,r,s,u);
- SignalLine() - スローストキャスティクス(シグナルライン)、%d 指数移動平均で、ファーストストキャスティクス(%k)に適用される
- ul - シグナルラインのEMAスムージング期間。
入力パラメータ:
- グラフィックプロット #0 - ファーストストキャスティクス(ストキャスティックインデックス)、%k:
- q - ストキャスティクスの期間(デフォルトはq=5);
- r - ストキャスティクスに適用される1つ目のEMAの期間(デフォルトはr=20);
- s - 1つ目のスムージング結果に適用される2つ目のEMAスムージングの期間(デフォルトはs=5);
- u - 2つ目のスムージング結果に適用される3つ目のEMAスムージングの期間(デフォルトはu=3);
- グラフィックプロット #1 - スローストキャスティクス(シグナルライン)、%d:
- ul - ファーストストキャスティクスに適用されるEMAスムージングの期間(デフォルトはul=3);
- AppliedPrice - 価格タイプ(デフォルトはAppliedPrice=PRICE_CLOSE)。
注意:
- q>0;
- r>0, s>0, u>0。もしr, sまたはu =1の場合、スムージングは使用されません;
- ul>0。もしul=1の場合、オシレーターとシグナルラインは同じになります;
- 最小レート =(q-1+r+s+u-3+1)。