หน้าหลัก > บล็อก > การออกแบบ MagicNumber|วิธีรันหลาย EA ในบัญชีเดียว

MT5การใช้งาน EAการออกแบบการใช้งาน

การออกแบบ MagicNumber|วิธีรันหลาย EA ในบัญชีเดียว

เผยแพร่: 2026-11-04เวลาอ่าน: ประมาณ 1 นาที
⏱ บทความนี้สะท้อนข้อมูล ณ วันที่เผยแพร่ ตัวเลขผลงาน EA (PF, DD, ผลตอบแทนต่อปี) เปลี่ยนแปลงตามการเทรดจริงและการตรวจสอบซ้ำ — ตรวจสอบล่าสุดได้ที่หน้า EA ดูผลงานล่าสุดของ EA →

สรุป: MagicNumber คือ "ป้ายชื่อ" ของ EA และต้องไม่ซ้ำกันภายในบัญชีเดียว

ถ้าจะรันหลาย EA ในบัญชีเดียว สิ่งแรกที่ต้องตัดสินใจคือการกำหนด MagicNumber MagicNumber คือหมายเลขที่ติดไว้กับออเดอร์และโพสิชัน เพื่อบอกว่า "EA ตัวไหนเป็นผู้ส่ง" EA ส่วนใหญ่ใช้หมายเลขนี้ตัดสินว่าโพสิชันไหนเป็นของตัวเอง

หากหมายเลขซ้ำกัน EA ตัวหนึ่งอาจเข้าใจผิดว่าโพสิชันของ EA อีกตัวเป็นของตน แล้วปิดโพสิชันหรือแก้ไข Stop โดยพลการ ปัญหานี้สังเกตเห็นยากมาก เพราะไม่มีข้อความแจ้งข้อผิดพลาด และบนหน้าจอ EA ทั้งสองตัวก็ดูทำงานปกติ

เปรียบเทียบโบรกเกอร์แนะนำ →

🎁 ดาวน์โหลด EA ฟรี

📧 คอร์สอีเมลฟรี (8 ฉบับ) + แพ็กอินดิเคเตอร์ MT5 13 ตัว เฉพาะสมาชิก

* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา

กลไก: EA แยก "โพสิชันของตัวเอง" ได้อย่างไร

ใน MT5 เมื่อ EA ส่งออเดอร์ สามารถกำหนด MagicNumber เป็นตัวเลขได้ ค่านี้จะถูกบันทึกไว้ในโพสิชัน (POSITION_MAGIC) และประวัติการเทรด (DEAL_MAGIC) ส่วนออเดอร์ที่ส่งด้วยมือโดยปกติจะเป็น 0

EA ทั่วไปจะกรองตามเงื่อนไขต่อไปนี้ เมื่อนับหรือจัดการโพสิชัน

  • สัญลักษณ์ตรงกับกราฟของตัวเองหรือไม่
  • MagicNumber ตรงกับค่าที่ตั้งไว้ของตัวเองหรือไม่

เฉพาะโพสิชันที่ตรงทั้งสองข้อเท่านั้นที่จะถูกถือเป็น "ส่วนของตัวเอง" จุดสำคัญคือ MT5 เองไม่ได้ห้ามไม่ให้ MagicNumber ซ้ำกัน หมายเลขเป็นเพียงข้อตกลง การปฏิบัติตามขึ้นอยู่กับผู้ใช้งานและการออกแบบของ EA

สิ่งที่เกิดขึ้นเมื่อหมายเลขซ้ำ

หาก EA สองตัวทำงานบนสัญลักษณ์เดียวกันและใช้ MagicNumber เดียวกัน อาจเกิดเหตุการณ์ต่อไปนี้

  • การเข้าเทรดถูกยับยั้ง: EA ที่ตั้ง "จำนวนโพสิชันสูงสุด 1" นับโพสิชันของ EA อีกตัวเป็นของตน จึงข้ามการเข้าเทรดใหม่
  • ปิดโพสิชันของผู้อื่น: เมื่อเกิดสัญญาณปิด โพสิชันของ EA อีกตัวก็ถูกปิดไปด้วย
  • เขียนทับ Stop: Trailing Stop เลื่อน SL ของโพสิชันของ EA อีกตัวไปด้วย
  • การคำนวณล็อตเพี้ยน: ใน EA ที่กำหนดล็อตจากจำนวนโพสิชันที่ถืออยู่ จะเกิดปริมาณสถานะใหญ่กว่าที่คาดไว้

ทั้งหมดนี้ไม่เกิดขึ้นในแบ็คเทสต์ เพราะ Tester รัน EA ทีละตัว นี่คือสาเหตุหนึ่งที่ผลการทดสอบกับการใช้งานจริงไม่ตรงกัน

การติดตามการปิดออเดอร์บางส่วน

สำหรับ EA ที่ใช้การปิดบางส่วน ต้องระวังเรื่องวิธีตามรอยบันทึกด้วย ในบัญชีแบบ Hedging แม้จะปิดบางส่วน หมายเลขระบุโพสิชัน (POSITION_IDENTIFIER) ก็ไม่เปลี่ยน และจะถูกบันทึกในดีลปิดของประวัติเป็น DEAL_POSITION_ID หากต้องการรวมผลงานของแต่ละ EA ภายหลัง วิธีที่แน่นอนคือกรองด้วย MagicNumber แล้วจัดกลุ่มด้วย Position ID นี้

อย่างไรก็ตาม MagicNumber ที่บันทึกในดีลปิด อาจเป็นค่าของฝ่ายที่ส่งคำสั่งปิด หากคุณปิดโพสิชันที่ EA เปิดไว้บางส่วนด้วยมือระหว่างทาง ดีลนั้นจะมีหมายเลขเป็น 0 และการรวมผลด้วย MagicNumber อย่างเดียวอาจทำให้ตัวเลขไม่ตรงกัน ช่องคอมเมนต์ก็อาจถูกโบรกเกอร์หรือฝั่งเซิร์ฟเวอร์เขียนทับได้ จึงไม่ควรพึ่งเป็นเบาะแสในการระบุตัว

รายการตรวจสอบก่อนตั้งค่า

รายการตรวจสอบวิธีตรวจสอบความเสี่ยงหากละเลย
MagicNumber ของแต่ละ EA ไม่ซ้ำกันหรือไม่ทำรายการจากหน้าพารามิเตอร์ของแต่ละ EA แล้วจดไว้การปิดและการแก้ SL รบกวนกัน
หากใช้ EA ตัวเดียวกันหลายกราฟ ได้แยกหมายเลขแล้วหรือไม่ใช้หมายเลขต่างกันแม้สัญลักษณ์หรือกรอบเวลาต่างกันสับสนใน EA ที่ไม่ดูสัญลักษณ์
บัญชีเป็นแบบ Hedging หรือไม่ตรวจในข้อมูลบัญชีบัญชีแบบ Netting จะรวมโพสิชันของสัญลักษณ์เดียวกันเป็นหนึ่งเดียว แยกด้วยหมายเลขไม่ได้
ไม่ได้เปลี่ยนหมายเลขระหว่างที่ทำงานอยู่ใช่หรือไม่ก่อนเปลี่ยน ให้ตรวจว่าไม่มีโพสิชันค้างอยู่โพสิชันเดิมถูกทิ้งไว้โดยไม่มี EA ดูแล
ไม่ได้ปะปนกับการเทรดด้วยมือใช่หรือไม่แยกการเทรดด้วยมือไปไว้อีกบัญชีหนึ่งการรวมผลคลาดเคลื่อน และบันทึกขาดหายจากการปิดด้วยมือ

หากกำหนดหมายเลขด้วยกฎง่าย ๆ เช่น "แยกหลักตาม EA" ก็จะไม่สับสนเมื่อกลับมาดูประวัติภายหลัง ตำแหน่งของหน้าตั้งค่าสรุปไว้ในวิธีตั้งค่า EA

ข้อจำกัดและข้อควรระวัง

การแยก MagicNumber ก็ยังป้องกันไม่ได้ทุกกรณี ขอเขียนตามตรงดังนี้

  • ไม่ได้ผลกับ EA ที่ไม่ดู MagicNumber: EA ที่กรองด้วยสัญลักษณ์อย่างเดียว หรือจัดการทุกโพสิชันในบัญชี จะรบกวนกันแม้แยกหมายเลขแล้ว หากนำ EA จากผู้พัฒนารายอื่นมาใช้ร่วมกัน เราไม่อาจทราบโครงสร้างภายในของมันได้
  • ค่าเริ่มต้นชนกัน: EA จำนวนมากถูกแจกจ่ายโดยใช้ค่าเริ่มต้นเดิม EA จากผู้พัฒนาคนละคนอาจบังเอิญมีค่าเริ่มต้นเท่ากันได้ จึงควรตรวจสอบค่าด้วยตัวเองทุกครั้ง
  • EA ที่เทรดหลายสัญลักษณ์: กรณีที่ EA ตัวเดียวเทรดหลายสัญลักษณ์ เช่น ATLAS หรือ TRINITY จะเกิดการแย่งสัญลักษณ์เดียวกับ EA ตัวอื่น แม้แยกหมายเลขแล้ว มาร์จิ้นก็ยังใช้ร่วมกัน จึงยังมีโอกาสที่ drawdown จะเกิดพร้อมกัน
  • การบริหารเงินทุนไม่ได้แยกกัน: สิ่งที่หมายเลขแยกได้คือการจัดการโพสิชันเท่านั้น ระดับมาร์จิ้นและ Stop Out ถูกกำหนดจากทั้งบัญชี หาก EA ตัวหนึ่งขาดทุนหนัก EA ตัวอื่นก็ถูกลากไปด้วย

หากต้องการหลีกเลี่ยงการรบกวนให้แน่นอน วิธีที่ง่ายที่สุดคือแยกบัญชีตาม EA การออกแบบหมายเลขควรถือเป็นการเตรียมการขั้นต่ำเมื่อตัดสินใจรันในบัญชีเดียวกัน

สรุป

  • MagicNumber คือหมายเลขระบุ EA ที่ถูกบันทึกในออเดอร์ โพสิชัน และประวัติ และ MT5 ไม่ห้ามไม่ให้ซ้ำกัน
  • หากซ้ำกัน อาจเกิดการยับยั้งการเข้าเทรด การปิดโพสิชันของ EA อื่น การเขียนทับ SL และการคำนวณล็อตเพี้ยน ซึ่งแบ็คเทสต์ไม่แสดงให้เห็น
  • การติดตามการปิดบางส่วนทำโดยใช้ MagicNumber ร่วมกับ Position ID หากปิดด้วยมือ บันทึกอาจคลาดเคลื่อน
  • บัญชีแบบ Netting แยกโพสิชันด้วยหมายเลขไม่ได้ หากใช้หลาย EA ให้ใช้บัญชีแบบ Hedging
  • แม้แยกหมายเลขแล้ว มาร์จิ้นก็ยังใช้ร่วมกัน หากต้องการหลีกเลี่ยงการรบกวนให้แน่นอน ให้แยกบัญชี

ความรู้ด้านการใช้งานอื่น ๆ รวบรวมไว้ในความรู้เรื่อง EA และ MT5

📧 คอร์สอีเมลฟรี (8 ฉบับ) + แพ็กอินดิเคเตอร์ MT5 13 ตัว เฉพาะสมาชิก

* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา

มีคำถามเกี่ยวกับ EA หรือ Forex ไหม?

คุณสามารถตั้งคำถามได้ที่ฟอรัมเทรดของ Nattzy (สมัครฟรี) ไม่จำเป็นต้องเกี่ยวกับบทความนี้ก็ได้ เช่น การตั้งค่า EA หรือการเลือกโบรกเกอร์

ถามที่ Nattzy ↗

ความคิดเห็นและคำถาม