Join our fan page
- Views:
- 16185
- Rating:
- Published:
- 2011.06.28 11:42
- Updated:
- 2016.11.22 07:32
-
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
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\
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.
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).
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/371

Stochastic Momentum by William Blau.

Stochastic Oscillator by William Blau.

Stochastic Momentum Oscillator by William Blau.

Mean Deviation Index (MDI) by William Blau.