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

การคำนวณ:
Stochastic Momentum Index จะคำนวณด้วยสูตร:
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 bars);
- HH(q) - ราคาสูงสุด (q bars);
- sm(price,q)=price-1/2*[LL(q)+HH(q)] - Stochastic Momentum ในช่วง q;
- SM(price,q,r,s,u) - Stochastic Momentum ที่ผ่านการปรับเรียบสามครั้งในช่วง q;
- HH(q)-LL(q) - ช่วงราคาของ q;
- 1/2*[LL(q)+HH(q)] - จุดกึ่งกลางของช่วงราคาของ q;
- 1/2*[HH(q)-LL(q)] - ครึ่งหนึ่งของช่วงราคาของ q;
- EMA(...,r) - การปรับเรียบครั้งที่ 1- ค่าเฉลี่ยเคลื่อนที่แบบเอ็กซ์โพเนนเชียล ด้วยระยะเวลา r, ที่นำไปใช้กับ:
- Stochastic Momentum;
- ครึ่งหนึ่งของช่วงราคาของ q;
- EMA(EMA(...,r),s) - การปรับเรียบครั้งที่ 2 - EMA ด้วยระยะเวลา s, ที่นำไปใช้กับผลลัพธ์จากการปรับเรียบครั้งที่ 1;
- EMA(EMA(EMA(...,r),s),u) - การปรับเรียบครั้งที่ 3 - EMA ด้วยระยะเวลา u, ที่นำไปใช้กับผลลัพธ์จากการปรับเรียบครั้งที่ 2.
พารามิเตอร์ที่ใช้ในการป้อนข้อมูล:
- q - ระยะเวลา ที่ใช้ในการคำนวณ Stochastic Momentum (ค่าเริ่มต้น q=5);
- r - ระยะเวลา EMA ครั้งที่ 1 ที่นำไปใช้กับ Stochastic (ค่าเริ่มต้น r=20);
- s - ระยะเวลา EMA ครั้งที่ 2 ที่นำไปใช้กับผลลัพธ์จากการปรับเรียบครั้งที่ 1 (ค่าเริ่มต้น s=5);
- u - ระยะเวลา EMA ครั้งที่ 3 ที่นำไปใช้กับผลลัพธ์จากการปรับเรียบครั้งที่ 2 (ค่าเริ่มต้น 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).
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- Volume Profile + Range v6.0: เครื่องมือวิเคราะห์การซื้อขายใน MetaTrader 5
- Adaptive CCI: ตัวชี้วัดที่ปรับตัวได้สำหรับ MetaTrader 5
- เครื่องมือแสดงความยาวของไส้เทียนใน MT5 สำหรับเทรดเดอร์
- ID Lite Info MA – ตัวช่วยวิเคราะห์ Moving Average สำหรับ MetaTrader 5