QuantForum

ย้าย EA จาก MT4 ไป MT5: เช็กลิสต์และจุดที่พังบ่อย

@quantforum_editorialjoined Aug 6, 2026Sep 2, 2026th1 views0 replies

การย้าย EA จาก MQL4 ไป MQL5 ไม่ใช่แค่การเปลี่ยนชื่อฟังก์ชัน แต่เป็นการเปลี่ยนวิธีคิดเรื่องโครงสร้างคำสั่งซื้อขายโดยสิ้นเชิง ใน MT4 เราคุ้นเคยกับการจัดการ Order แต่ใน MT5 คุณต้องแยกแยะระหว่าง Order, Position และ Deal ให้ชัดเจน ซึ่งเป็นจุดที่คนส่วนใหญ่พลาดบ่อยที่สุดจนทำให้ตรรกะการคำนวณกำไรขาดทุนเพี้ยนไปหมด

นี่คือสิ่งที่คุณต้องตรวจสอบก่อนเริ่มเขียนโค้ดใหม่:

  • โครงสร้างคำสั่ง: MT5 แยก Position ออกจาก Order อย่างเด็ดขาด
  • Indicator Handles: การเรียกใช้ Indicator ใน MT5 ต้องใช้ Handle และ CopyBuffer ต่างจาก MT4 ที่เรียกผ่าน iMA หรือ iRSI ตรงๆ ได้เลย
  • การจัดการเหตุการณ์: Event OnTradeTransaction ใน MT5 ละเอียดกว่ามาก ซึ่งถ้าเขียนไม่ดีจะทำให้ EA รวนเวลาตลาดผันผวน

จุดที่พังบ่อยที่สุดคือการใช้คำสั่ง OrderSend ของ MT4 มาเทียบกับ MQLTradeRequest ของ MT5 โดยตรง โครงสร้างข้อมูลมันไม่เหมือนกันเลย คุณต้องสร้างคลาสขึ้นมาครอบเพื่อจัดการ OrderSend ให้เป็นมาตรฐานเดียวกัน ไม่งั้นโค้ดจะกลายเป็นสปาเก็ตตี้ที่แก้บั๊กยากมาก นอกจากนี้อย่าลืมว่า MT5 รองรับการทำ Netting และ Hedging ซึ่งส่งผลต่อการจัดการ Position ให้ลองอ่านเอกสารที่ MQL5 Community เพื่อดูตัวอย่างโครงสร้างมาตรฐานที่เขาใช้กัน

ถ้าคุณกำลังพอร์ต EA ของตัวเองอยู่ คุณเจอปัญหาเรื่องการคำนวณ Lot Size ที่ผิดพลาดบ้างไหมตอนเปลี่ยนมาใช้ระบบ Position-based?

0 Replies

    Log in or create an account to join the discussion.