วันนี้เรามาพูดถึง Indicator ที่มีชื่อว่า Divergence Awesome Oscillator ซึ่งถูกออกแบบมาเพื่อช่วยในการตรวจจับและแสดงผล divergences ระหว่างการเคลื่อนไหวของราคาและ Awesome Oscillator (AO) กันนะครับ


คุณสมบัติเด่นของ Indicator:
-
ตรวจจับ Divergence:
- ตรวจจับ bullish divergence (ราคาเคลื่อนไหวต่ำลง แต่ AO เคลื่อนไหวสูงขึ้น)
- ตรวจจับ bearish divergence (ราคาเคลื่อนไหวสูงขึ้น แต่ AO เคลื่อนไหวต่ำลง)
-
การแสดงผล:
- ลูกศรซื้อ/ขาย: แสดงลูกศรบนกราฟเพื่อบอกสัญญาณซื้อหรือขายที่อาจเกิดขึ้นจากการตรวจจับ divergence
- ฮิสโตแกรม: แสดงค่าของ Awesome Oscillator (AO) ในรูปแบบฮิสโตแกรม
- เส้นแนวโน้ม: วาดเส้นแนวโน้มบนกราฟเพื่อเน้นการ divergence ระหว่างราคาและ AO
-
Buffer ที่ปรับแต่งได้:
- ใช้ buffer สี่ตัวในการเก็บข้อมูล:
- BuyBuffer และ SellBuffer สำหรับสัญญาณซื้อ/ขาย
- HistogramBuffer สำหรับค่าของ AO
- PointsCounterBuffer เพื่อติดตามจุดที่สอดคล้องกันเพื่อยืนยัน divergence
- ใช้ buffer สี่ตัวในการเก็บข้อมูล:
-
การวาดเส้นแนวโน้มแบบไดนามิก:
- ใช้ CChartObjectTrend ในการวาดเส้นแนวโน้มบนกราฟสำหรับราคาและ AO แบบไดนามิก
-
การตรวจสอบการตัดกัน:
- มีฟังก์ชัน (CheckCrossing) เพื่อตรวจสอบว่าราคา หรือ AO ตัดเส้นแนวโน้มหรือไม่ ซึ่งช่วยยืนยันหรือยกเลิกการ divergence
-
การประมาณค่า:
- ใช้การประมาณค่าเชิงเส้น (CalculateIntermediateValue) เพื่อคำนวณค่ากลางระหว่างสองจุด ซึ่งใช้ในการตรวจสอบการตัดกัน
วิธีการทำงาน:
-
การเริ่มต้น:
- ฟังก์ชัน OnInit() จะตั้งค่าบัฟเฟอร์ของ Indicator ตั้งค่าคุณสมบัติต่างๆ (เช่น สี, สไตล์) และเริ่มต้นการทำงานของ Awesome Oscillator (AO)
-
การคำนวณหลัก:
- ฟังก์ชัน OnCalculate() จะประมวลผลข้อมูลราคาและ AO เพื่อตรวจจับ divergence:
- ระบุ จุดต่ำสุด (lower lows) และ จุดสูงสุด (higher highs) ในทั้งราคาและ AO
- ตรวจสอบ divergence โดยเปรียบเทียบแนวโน้มระหว่างราคาและ AO
- แสดงสัญญาณซื้อ/ขายและวาดเส้นแนวโน้มเมื่อมีการยืนยัน divergence
- ฟังก์ชัน OnCalculate() จะประมวลผลข้อมูลราคาและ AO เพื่อตรวจจับ divergence:
-
การยืนยัน Divergence:
- ใช้เงื่อนไขเช่น IsBullishTrend และ IsBearishTrend เพื่อตรวจสอบการยืนยัน divergence
- ตรวจสอบว่าไม่มีการตัดกันเกิดขึ้นระหว่างเส้นแนวโน้มของราคาและ AO เพื่อยืนยัน divergence
-
การอัปเดตแบบไดนามิก:
- Indicator จะอัปเดตแบบไดนามิกเมื่อมีบาร์ใหม่เข้ามา ทำการคำนวณ divergence และวาดเส้นแนวโน้มใหม่ตามความจำเป็น
ฟังก์ชันหลัก:
-
IsBottom() และ IsTop():
- ตรวจจับค่าต่ำสุด (bottoms) และค่าสูงสุด (tops) ในอาเรย์ (ราคา หรือ AO)
-
CheckCrossing():
- ตรวจสอบว่าราคา หรือ AO ตัดเส้นแนวโนมหรือไม่ ซึ่งอาจทำให้การ divergence เป็นโมฆะ
-
CalculateIntermediateValue():
- คำนวณค่ากลางโดยใช้การประมาณค่าเชิงเส้นสำหรับการวิเคราะห์เส้นแนวโน้ม
-
AddUniqueCoordinates():
- ตรวจสอบให้แน่ใจว่ามีการเพิ่มพิกัดที่เป็นเอกลักษณ์เข้าสู่อาเรย์สำหรับการวาดเส้นแนวโน้ม
-
TotalAligned():
- นับจำนวนจุดที่สอดคล้องกันเพื่อยืนยันความแข็งแกร่งของ divergence
การใช้งาน:
- Indicator นี้เหมาะสำหรับเทรดเดอร์ที่ใช้กลยุทธ์ divergence ในการระบุสัญญาณการกลับตัวหรือการต่อเนื่องในตลาด
- มันให้สัญญาณภาพ (ลูกศร, เส้นแนวโน้ม, และฮิสโตแกรม) เพื่อช่วยให้เทรดเดอร์สามารถตัดสินใจได้อย่างมีข้อมูล
สถานการณ์ตัวอย่าง:
- ถ้าราคาเคลื่อนไหว ต่ำลง (bearish) แต่ AO เคลื่อนไหว สูงขึ้น (bullish) จะตรวจจับ bullish divergence และ Indicator จะแสดง ลูกศรซื้อ พร้อมวาดเส้นแนวโน้มเพื่อเน้น divergence
- ในทางกลับกัน ถ้าราคาเคลื่อนไหว สูงขึ้น (bullish) แต่ AO เคลื่อนไหว ต่ำลง (bearish) จะตรวจจับ bearish divergence และ Indicator จะแสดง ลูกศรขาย พร้อมวาดเส้นแนวโน้ม
รายละเอียดทางเทคนิค:
- แพลตฟอร์ม: MetaTrader 5 (MT5)
- ภาษา: MQL5
- ความต้องการ: ใช้ Awesome Oscillator (iAO) ในการคำนวณ
- วัตถุที่กำหนดเอง: ใช้ CChartObjectTrend สำหรับการวาดเส้นแนวโน้มและ CArrayInt สำหรับการจัดการอาเรย์ของพิกัด
Indicator ตัวนี้เป็นเครื่องมือที่ทรงพลังสำหรับเทรดเดอร์ที่ต้องการทำให้การตรวจจับและแสดงผล divergence เป็นอัตโนมัติ ช่วยประหยัดเวลาและเพิ่มความแม่นยำในกลยุทธ์การเทรดของคุณให้ดียิ่งขึ้น!
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- เครื่องมือ Master Tools - อินดิเคเตอร์สำหรับ MetaTrader 4
- FX Multi-Meter II: เครื่องมือช่วยเทรดที่ครบครันสำหรับนักลงทุน
- เครื่องมือ MetaCOT 2 CFTC ToolBox - ชุดตัวชี้วัดสำหรับการวิเคราะห์ใน MetaTrader 4
- Volume Profile + Range v6.0: เครื่องมือวิเคราะห์การซื้อขายใน MetaTrader 5