
เทมเพลตนี้ทำงานอย่างไร?
Indicator ตัวนี้จะช่วยให้คุณสร้างเทมเพลตสำหรับการวิเคราะห์ Divergence โดยอิงจาก oscillator ที่คุณเลือกใช้งาน
ไม่ว่าจะเป็น CCI, RSI หรือ Indicator ที่คุณสร้างเอง คุณสามารถปรับเปลี่ยนโค้ดในส่วนนี้ได้:
///////////////////////////////////////////// //โหลดข้อมูล indicator ลงใน buffer //คุณสามารถเปลี่ยน RSI เป็น indicator ตัวอื่นที่คุณต้องการได้ int BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,1); for(int i=BARS;i>=0;i--) { indicatorBuffer[i]=iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE, i); } //จบการโหลดข้อมูล indicator /////////////////////////////////////////////
สัญญาณที่สร้างขึ้น
SetIndexBuffer(3,bull_reg_divBuffer); SetIndexBuffer(4,bear_reg_divBuffer); SetIndexBuffer(5,bull_hid_divBuffer); SetIndexBuffer(6,bear_hid_divBuffer);
ส่วนการตั้งค่า
input int pivots_period=5; //ระยะเวลาที่ใช้ในการหาจุด pivot input int alert_confirm_candles=1; //#แท่งเทียนสำหรับการยืนยัน (0=ปิดการแจ้งเตือน)
การหาจุด pivot highs และ pivot lows ใน indicatorBuffer ขึ้นอยู่กับการตั้งค่า pivots_period ที่คุณเลือก ถ้าคุณเลือกค่าที่ใหญ่ขึ้น มันจะค้นหาสวิงที่ใหญ่ขึ้นสำหรับ Divergence ที่เป็นไปได้
อีกหนึ่งค่าคือ alert_confirm_candles ที่กำหนดจำนวนแท่งเทียนที่ต้องรอเพื่อยืนยันสัญญาณ โดยทั่วไปแล้ว Indicator Divergence มักจะมีความล่าช้าและอาจสร้างสัญญาณเท็จมากมาย การเลือกค่าที่ใหญ่ขึ้นจะทำให้คุณรอนานขึ้นและลดจำนวนสัญญาณเท็จ แต่ก็เป็นการแลกเปลี่ยนระหว่างการได้รับสัญญาณทันทีหรือการได้รับสัญญาณที่ยืนยันแล้ว
โดยทั่วไปแล้วคุณจะไม่สามารถใช้ pivots_period ที่น้อยกว่า 2 ได้
ปัญหา Repaint
Indicators ที่อิงจากการคำนวณ pivot จะต้องรอจนกว่า pivots_period จะได้การยืนยันจาก high/low ล่าสุด ดังนั้น Indicator นี้จึงต้องมีการรีเพนต์สัญญาณย้อนหลังตาม pivots_period
BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,pivots_period); for(int i=BARS;i>=0;i--) { PHBuffer[i]=pivothigh(indicatorBuffer, pivots_period, pivots_period, i); PLBuffer[i]=pivotlow(indicatorBuffer, pivots_period, pivots_period, i); bull_reg_divBuffer[i]=BullRegDiv(i); bear_reg_divBuffer[i]=BearRegDiv(i); bull_hid_divBuffer[i]=BullHidDiv(i); bear_hid_divBuffer[i]=BearHidDiv(i); }