ผู้เขียน: Andrey N. Bolkonsky
Candlestick Index (CSI) ซึ่งอิงจาก Candlestick Momentum Indicator ถูกอธิบายโดย William Blau ในหนังสือ "Momentum, Direction, and Divergence: Applying the Latest Momentum Indicators for Technical Analysis".
ค่าของ Candlestick Index จะถูกปรับให้เป็นมาตรฐาน (ตามช่วงราคาของตลาด) โดยจะถูกแมพไปยังช่วง [–100,+100] ค่าบวกของ CSI จะบ่งบอกถึงสถานะที่ตลาดมีการซื้อมากเกินไป ส่วนค่าลบจะบ่งบอกถึงสถานะที่ตลาดมีการขายมากเกินไป
- ควรวางไฟล์ WilliamBlau.mqh ไว้ใน terminal_data_folder\MQL5\Include\
- ควรวางไฟล์ Blau_CSI.mq5 ไว้ใน terminal_data_folder\MQL5\Indicators\

Candlestick Index โดย Wiliam Blau
การคำนวณ:
Candlestick Index คำนวณโดยใช้สูตร:
100 * EMA(EMA(EMA( cmtm(price1,price2,q) ,r),s),u) 100 * CMtm(price1,price2,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
เมื่อ:
- q - จำนวนแท่งเทียนที่ใช้ในการคำนวณ Candlestick Momentum;
- price1 - ราคาปิด;
- price2 - ราคาที่เปิดเมื่อ q แท่งเทียนที่แล้ว;
- cmtm(price1,price2,q)=price1-price2[q-1] - Candlestick Momentum สำหรับ q แท่งเทียน;
- LL(q) - ราคาต่ำสุด (q แท่งเทียน);
- HH(q) - ราคาสูงสุด (q แท่งเทียน);
- HH(q) - LL(q) - ช่วงราคาของ (q แท่งเทียน);
- CMtm(price1,price2,q,r,s,u) - Candlestick Momentum ที่ถูกปรับ 3 ระดับ;
- EMA(...,r) - การปรับระดับแรก - EMA(r) ที่ใช้กับ:
- Candlestick Momentum (q แท่งเทียน);
- ช่วงราคา (q แท่งเทียน);
- EMA(EMA(...,r),s) - การปรับระดับที่สอง - EMA(s) ที่ใช้กับผลลัพธ์ของการปรับระดับแรก;
- EMA(EMA(EMA(...,r),s),u) - การปรับระดับที่สาม - EMA(u) ที่ใช้กับผลลัพธ์ของการปรับระดับที่สอง.
- q - จำนวนแท่งเทียนที่ใช้ในการคำนวณ Candlestick Momentum (ค่าเริ่มต้น q=1);
- r - ระยะเวลาของ EMA(r) แรกที่ใช้กับ Candlestick Momentum (ค่าเริ่มต้น r=20);
- s - ระยะเวลาของ EMA(s) ที่สองที่ใช้กับผลลัพธ์ของการปรับระดับแรก (ค่าเริ่มต้น s=5);
- u - ระยะเวลาของ EMA(u) ที่สามที่ใช้กับผลลัพธ์ของการปรับระดับที่สอง (ค่าเริ่มต้น u=3);
- AppliedPrice1 - ประเภทของราคา (ค่าเริ่มต้น AppliedPrice1=PRICE_CLOSE);
- AppliedPrice2 - ประเภทของราคา (ค่าเริ่มต้น AppliedPrice2=PRICE_OPEN).
- q>0;
- r>0, s>0, u>0. หาก r, s หรือ u เท่ากับ 1 จะไม่มีการปรับระดับ;
- อัตราขั้นต่ำ = (q-1+r+s+u-3+1).

ความคิดเห็น 0