การใช้ MACD และ SAR ใน EA สำหรับ MetaTrader 5

Mike 2018.06.18 19:52 21 0 0
ไฟล์แนบ

ไอเดียจาก: Gatis.

โค้ด MQL5 โดย: Vladimir Karputov.

EA นี้จะทำการวิเคราะห์ สี่พารามิเตอร์ ดังนี้:

  • ค่าเส้นหลักของ MACD บนแท่งที่ 1 (macd_main_1)
  • ค่าเส้นสัญญาณของ MACD บนแท่งที่ 1 (macd_signal_1)
  • ค่าอินดิเคเตอร์ SAR บนแท่งที่ 1 (sar_1) เทียบกับราคา Bid (m_symbol.Bid())

พารามิเตอร์เหล่านี้จะถูกรวมกันในสูตรพื้นฐานของสัญญาณสำหรับการซื้อและขาย:

bool open_buy        = (macd_main_1>macd_signal_1 && macd_signal_1<0 && sar_1<m_symbol.Bid());
   bool open_sell       = (macd_main_1<macd_signal_1 && macd_signal_1>0 && sar_1>m_symbol.Bid());

อย่างไรก็ตาม คุณสามารถปรับค่าเครื่องหมาย < และ > ในสูตรได้ตามต้องการ โดยแต่ละเครื่องหมายจะมี ตัวแปรเฉพาะ (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, และ InpMoreLessSell_3) เพื่อทำให้สูตรพื้นฐานมีการปรับเปลี่ยนดังนี้:

bool open_buy=    (InpMoreLessBuy_1   ? macd_main_1>macd_signal_1      : macd_main_1<macd_signal_1) && 
                  (!InpMoreLessBuy_2  ? macd_signal_1 < 0              : macd_signal_1 > 0 ) &&
                  (!InpMoreLessBuy_3  ? sar_1         < m_symbol.Bid() : sar_1         > m_symbol.Bid() );
   bool open_sell=(!InpMoreLessSell_1 ? macd_main_1<macd_signal_1      : macd_main_1>macd_signal_1) && 
                  (InpMoreLessSell_2  ? macd_signal_1 > 0              : macd_signal_1 < 0 ) &&
                  (InpMoreLessSell_3  ? sar_1         > m_symbol.Bid() : sar_1         < m_symbol.Bid() );

EA จะทำงานเมื่อมีแท่งใหม่เกิดขึ้นเท่านั้น และเมื่อได้รับสัญญาณ ระบบจะปิดตำแหน่งที่ตรงข้ามกับสัญญาณที่ได้รับ

นอกจากนี้ การปรับแต่งสูตรก็ควรจะพิจารณาในการปรับจำนวนตำแหน่งด้วย:

การปรับแต่ง MACD และ SAR

รายการ
ความคิดเห็น 0