จั่นเจาดอทคอม ถามตอบ คอมพิวเตอร์ อินเตอร์เน็ต Forex MT4 MT5 เทรดทอง

ตลาดหุ้น set ตลาดล่วงหน้า tfex forex Exness FBS XM => การใช้งาน EA Indicator MT4 MT5 => Topic started by: junjao on July 24, 2025, 04:58:36 PM

Title: Backtest MT4 กับ MT5 ไม่เท่ากัน เกิดจากอะไร
Post by: junjao on July 24, 2025, 04:58:36 PM
Backtest ใน MT4 กับ MT5 ไม่เท่ากัน เกิดจากหลายสาเหตุหลัก ๆ ดังนี้ครับ:

1. **โครงสร้างข้อมูลราคาที่ต่างกัน**

   * MT4 ใช้ข้อมูลราคาแบบ 1 นาที (M1) เป็นหลัก และจะสร้างแท่งเทียนจากข้อมูล M1
   * MT5 รองรับข้อมูลราคาที่ละเอียดกว่ามาก เช่น Tick by Tick (ราคาทุกการเคลื่อนไหว) ทำให้การคำนวณบางอย่างละเอียดกว่า MT4

2. **วิธีการจำลองคำสั่งและกลไกการเทรดต่างกัน**

   * MT5 รองรับคำสั่งที่ซับซ้อนกว่า เช่น การเปิดคำสั่งแบบ partial fills, pending orders หลายแบบ และรองรับระบบ order matching แบบ FIFO (First In First Out)
   * MT4 ใช้ระบบคำสั่งง่ายกว่า และไม่มี FIFO ทำให้บางครั้งผลลัพธ์การเทรดอาจต่างกัน

3. **ความแม่นยำของข้อมูล Tick**

   * MT5 สามารถใช้ข้อมูล tick ที่แม่นยำกว่าและสมบูรณ์กว่า MT4 ทำให้ backtest มีความละเอียดและใกล้เคียงกับการเทรดจริงมากกว่า
   * MT4 บางครั้งจะประมาณ tick จากราคานาที ทำให้เกิดความคลาดเคลื่อน

4. **กลไกการคำนวณคอมมิชชั่นและสเปรด**

   * MT5 อาจมีการคำนวณคอมมิชชั่นหรือค่าสเปรดที่ละเอียดกว่า หรือแตกต่างกับ MT4
   * หากตั้งค่าไม่เหมือนกัน เช่น สเปรด, คอมมิชชั่น, slippage ก็ส่งผลต่อผล backtest

5. **ความแตกต่างของโค้ด EA หรือ Indicator**

   * บางครั้งโค้ดที่เขียนสำหรับ MT4 และ MT5 มีการทำงานต่างกัน เพราะภาษาที่ใช้ (MQL4 กับ MQL5) และฟังก์ชันในตัวต่างกัน
   * ส่งผลให้ logic การเข้าออกออร์เดอร์อาจต่างกัน

6. **ข้อมูลเริ่มต้น (History Data) ที่ใช้ไม่เหมือนกัน**

   * หากข้อมูลราคาใน MT4 กับ MT5 ไม่เหมือนกัน (เวลาเริ่มต้น, ความสมบูรณ์ของข้อมูล) จะทำให้ผลลัพธ์ต่างกัน

---

**สรุป**
การ backtest ใน MT5 มักจะแม่นยำกว่าเพราะใช้ข้อมูล tick ที่ละเอียดกว่าและระบบเทรดที่สมจริงกว่า แต่ก็ต้องตั้งค่าและตรวจสอบข้อมูลให้เหมือนกันในทั้งสองแพลตฟอร์ม หากต้องการผลที่ใกล้เคียงกันมาก ๆ ควรใช้ข้อมูลและตั้งค่าที่เหมือนกัน และเขียน EA ให้ทำงานเหมือนกันทั้งสองแพลตฟอร์มครับ