ストキャスティックモメンタムインデックス(SMI)は、ウィリアム・ブラウによって開発された指標で、ストキャスティックモメンタム指標に基づいています(詳細は「モメンタム、ディレクション、ダイバージェンス」を参照してください)。
ストキャスティックモメンタムインデックスは、価格レンジの半分に正規化され、[–100,+100]の範囲にマッピングされます。SMIの値は、市場の過剰買い(プラス)および過剰売り(マイナス)状態として解釈されます。
- WilliamBlau.mqhはterminal_data_folder\MQL5\Include\に配置してください。
- Blau_SMI.mq5はterminal_data_folder\MQL5\Indicators\に配置してください。

計算方法:
ストキャスティックモメンタムインデックスは、次の式で計算されます:
100*EMA(EMA(EMA( price-1/2*[LL(q)+HH(q)] ,r),s),u) 100 * SM(price,q,r,s,u)
SMI(price,q,r,s,u) = --------------------------------------------------------------- = -------------------------------------------------
EMA(EMA(EMA( 1/2*[HH(q)-LL(q)] ,r),s),u) EMA(EMA(EMA( 1/2*[HH(q)-LL(q)] ,r),s),u)
ここで:
- price - 終値;
- LL(q) - 最小価格(qバー);
- HH(q) - 最大価格(qバー);
- sm(price,q)=price-1/2*[LL(q)+HH(q)] - q期間のストキャスティックモメンタム;
- SM(price,q,r,s,u) - 3回平滑化されたq期間のストキャスティックモメンタム;
- HH(q)-LL(q) - q期間の価格レンジ;
- 1/2*[LL(q)+HH(q)] - q期間の価格レンジの中点;
- 1/2*[HH(q)-LL(q)] - q期間の価格レンジの半分;
- EMA(...,r) - 第1平滑化 - 指数移動平均で、期間rを使用し、以下に適用されます:
- ストキャスティックモメンタムに;
- q期間の価格レンジの半分に;
- EMA(EMA(...,r),s) - 第2平滑化 - 第1平滑化の結果に対して期間sのEMAを適用;
- EMA(EMA(EMA(...,r),s),u) - 第3平滑化 - 第2平滑化の結果に対して期間uのEMAを適用。
入力パラメータ:
- q - ストキャスティックモメンタムの計算に使用される期間(デフォルトはq=5);
- r - ストキャスティックに適用される第1EMAの期間(デフォルトはr=20);
- s - 第1平滑化の結果に適用される第2EMAの期間(デフォルトはs=5);
- u - 第2平滑化の結果に適用される第3EMAの期間(デフォルトはu=3);
- AppliedPrice - 価格タイプ(デフォルトはAppliedPrice=PRICE_CLOSE)。
注意:
- q>0;
- r>0, s>0, u>0。r, s, またはu=1の場合、平滑化は行われません;
- 最小レート=(q-1+r+s+u-3+1)。