Stochastic Momentum Index Blau_SMI – indicator MetaTrader 5

Author: Andrey N. Bolkonsky

Stochastic Momentum Index (SMI) by William Blau is based on Stochastic Momentum Indicator (see Momentum, Direction, and Divergence: Applying the Latest Momentum Indicators for Technical Analysis).

Stochatic Momentum Index is normalized (to half of q-period price range) and mapped into the [–100,+100] interval. The values of SMI is interpreted as overbought (positive) and oversold (negative) states of the market.

  • WilliamBlau.mqh must be placed in terminal_data_folder\MQL5\Include\
  • Blau_SMI.mq5 must be placed in terminal_data_folder\MQL5\Indicators\

Stochastic Momentum Index Blau_SMI

Calculation:

Stochastic Momentum Index is calculated by formula:

                              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)

where:

  • price – close price;
  • LL(q) – minimal price (q bars);
  • HH(q) – maximal price (q bars);
  • sm(price,q)=price-1/2*[LL(q)+HH(q)] – q-period Stochastic Momentum;
  • SM(price,q,r,s,u) – triple smoothed q-period Stochastic Momentum;
  • HH(q)-LL(q) – q-period price range;
  • 1/2*[LL(q)+HH(q)] – midpoint of q-period price range;
  • 1/2*[HH(q)-LL(q)] – half of q-period price range;
  • EMA(…,r) – 1st smoothing- exponentially smoothed moving average with period r, applied to:
    • to the Stochastic Momentum;
    • to the half of q-period price range;
  • EMA(EMA(…,r),s) – 2nd smoothing – EMA of period s, applied to result of the 1st smoothing;
  • EMA(EMA(EMA(…,r),s),u) – 3rd smoothing – EMA of period u, applied to result of the 2nd smoothing.
Alternative:  Synthetic VIX - indicator MetaTrader 5

Input parameters:

  • q – period, used for the calculation of Stochastic Momentum (by default q=5);
  • r – period of the 1st EMA, applied to stochastic (by default r=20);
  • s – period of the 2nd EMA, applied to result of the 1st smoothing (by default s=5);
  • u – period of the 3rd EMA, applied to result of the 2nd smoothing (by default u=3);
  • AppliedPrice – price type (by default AppliedPrice=PRICE_CLOSE).

Note:

  • q>0;
  • r>0, s>0, u>0. If r, s or u =1, smoothing is not used;
  • Min. rates=(q-1+r+s+u-3+1).


📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks