Author: Andrey N. Bolkonsky
Candlestick Index (CSI, based on Candlestick Momentum Indicator) is described by William Blau in the book “Momentum, Direction, and Divergence: Applying the Latest Momentum Indicators for Technical Analysis”.
The values of Candlestick Index are normalized (price range) and mapped into the [–100,+100] interval. The positive values of CSI correspond to overbought states of the market, the negative values correspond to the oversold states of the market.
- WilliamBlau.mqh must be placed in terminal_data_folder\MQL5\Include\
- Blau_CSI.mq5 must be placed in terminal_data_folder\MQL5\Indicators\
Candlestick Index by Wiliam Blau
Calculation:
Candlestick Index is calculated by formula:
                        100 * EMA(EMA(EMA( cmtm(price1,pric2,q) ,r),s),u)         100 * CMtm(price1,pric2,q,r,s,u)
CSI(price1,price2,q,r,s,u) = –––––––––––––––––––––––––––––––––––––––––––– = ––––––––––––––––––––––––––––––––––
                                                EMA(EMA(EMA( HH(q)-LL(q) ,r),s),u)                 EMA(EMA(EMA( HH(q)-LL(q) ,r),s),u)
if EMA(EMA(EMA(HH(q)-LL(q),r),s),u)=0, then CSI(price1,price2,q,r,s,u)=0
when:
- q – number of bars, used in calculation of q-period Candlestick Momentum;
- price1 – close price;
- price2 – open price q bars ago;
- cmtm(price1,pric2,q)=price1-price2[q-1] – q-period Candlestick Momentum;
- LL(q) – lowest price (q bars);
- HH(q) – highest price (q bars);
- HH(q) – LL(q) – Price Range (q-bars);
- CMtm(price1,pric2,q,r,s,u) – triple smoothed Candlestick Momentum;
- EMA(…,r) – 1st smoothing – EMA(r), applied to:
- Candlestick Momentum (q bars);
- Price Range (q bars);
- EMA(EMA(…,r),s) – 2nd smoothing – EMA(s), applied to result of the 1st smoothing;
- EMA(EMA(EMA(…,r),s),u) – 3rd smoothing – EMA(u), applied to result of the 2nd smoothing.
- q – number of bars, used in calculation of Candlestick Momentum (by default q=1);
- r – period of the 1st EMA(r), applied to Candlestick Momentum(by default r=20);
- s – period of the 2nd EMA(s), applied to result of the 1st smoothing (by default s=5);
- u – period of the 3rd EMA(u), applied to result of the 2nd smoothing (by default u=3);
- AppliedPrice1 – price type (by default AppliedPrice1=PRICE_CLOSE);
- AppliedPrice2 – price type (by default AppliedPrice2=PRICE_OPEN).
- q>0;
- r>0, s>0, u>0. If r, s or u are equal to 1, smoothing is not used;
- Min. rates = (q-1+r+s+u-3+1).