ทำไม EA ทองคำสองตัวจึงจัดการออเดอร์เดียวกัน? ตรวจสอบหมายเลขเวทมนตร์ MT4
ใช้กรณีบัญชีทดลองอธิบายว่า EA กรองออเดอร์ตามสินค้าและหมายเลขเวทมนตร์อย่างไร และหลังเปลี่ยนหมายเลขจะหลีกเลี่ยงไม่ให้โพซิชันที่ค้างอยู่ขาดการจัดการได้อย่างไร
ผู้เขียน: โทมัส|ปฏิบัติการ MT4|10 พฤศจิกายน 2026
บทคัดย่อ: เมื่อติดตั้ง EA ทองคำสองชุดในบัญชี MT4 เดียวกัน หากใช้เงื่อนไขระบุออเดอร์เหมือนกัน อาจแก้ไข stop loss ของออเดอร์เดียวกันพร้อมกันได้ ในการตรวจสอบให้ดูสินค้าและหมายเลขเวทมนตร์บนออเดอร์ก่อน แล้วจึงดูว่าโค้ดกรองตามเงื่อนไขใดจริง หมายเลขและออเดอร์ด้านล่างเป็นสมมติเพื่อการสอน
หมายเลขเวทมนตร์ถูกบันทึกที่ไหน
OrderSend ของ MQL4 รองรับการส่งพารามิเตอร์ magic หลังจากเลือกออเดอร์สำเร็จ OrderMagicNumber สามารถอ่านหมายเลขระบุของออเดอร์นั้นได้ ซึ่งให้เกณฑ์การจำแนกแก่โปรแกรม ออเดอร์ใดจะถูกแก้ไขหรือปิดยังคงขึ้นอยู่กับตรรกะการกรองและการดำเนินการของ EA เอง หากโปรแกรมวนตรวจออเดอร์ในบัญชีโดยตรวจเพียงสินค้า EA ทองคำสองชุดแม้กรอกหมายเลขเวทมนตร์ต่างกันก็อาจจัดการออเดอร์ชุดเดียวกัน

ในภาพสมมติว่ากลยุทธ์ A และ B ใช้ 101 และ 202 ตามลำดับ A เลือกออเดอร์ในพูลทีละรายการ ตรวจสอบสินค้าจริงก่อน แล้วจึงตรวจหมายเลขระบุ เมื่อทั้งสองตรงกันจึงส่งให้ตรรกะถัดไปตรวจประเภทออเดอร์และการกระทำที่อนุญาต หากเลือกออเดอร์ล้มเหลวควรข้ามและบันทึกข้อผิดพลาด ก่อนการแก้ไขควรเลือกออเดอร์เป้าหมายอีกครั้ง เพื่อหลีกเลี่ยงการใช้ข้อมูลเก่าที่คัดลอกเข้าโปรแกรมไว้ก่อนหน้า
ตรวจสอบด้วยบัญชีทดลองในสามขั้นตอน
ขั้นแรก บันทึกเวอร์ชัน พารามิเตอร์อินพุต รอบเวลาแผนภูมิ และชื่อเต็มของสินค้าจากโบรกเกอร์ของ EA ทั้งสองชุด ชื่อทองคำในบัญชีต่างกันอาจมีคำต่อท้าย เมื่อติดตั้งหลายอินสแตนซ์บนสินค้าเดียวกัน ต้องระบุให้ชัดว่าจัดการแยกกันหรือออกแบบให้ใช้ออเดอร์ร่วมกัน
ขั้นที่สอง ในบัญชีทดลองให้ EA แต่ละชุดสร้างออเดอร์ทดสอบที่ระบุได้หนึ่งรายการ พร้อมเตรียมออเดอร์ทดสอบอีกหนึ่งรายการที่ควรถูกตัดออก บันทึกในล็อกอย่างน้อยหมายเลขออเดอร์ สินค้า หมายเลขเวทมนตร์ และการกระทำที่โปรแกรมเตรียมดำเนินการ จากนั้นกระตุ้นการจัดการที่ควบคุมได้หนึ่งครั้ง เช่นลองแก้ไขออเดอร์ทดสอบของกลยุทธ์ A เอง ดูว่าออเดอร์ของกลยุทธ์ B คงค่าเดิมหรือไม่ ควรตรวจสอบออเดอร์รอและโพซิชันที่จับคู่แล้วแยกกัน เพราะพูลการซื้อขายอาจมีทั้งสองประเภทพร้อมกัน และกฎการจัดการจริงมักต่างกัน
ขั้นที่สาม ตรวจอีกครั้งหลังรีสตาร์ทเทอร์มินัลหรือโหลด EA ใหม่ หากโปรแกรมจำเพียงรายการออเดอร์ที่สร้างขึ้นระหว่างการทำงานครั้งนี้ พฤติกรรมหลังรีสตาร์ทอาจเปลี่ยนไป ตรวจได้ว่ามันระบุออเดอร์ใหม่ตามเงื่อนไขที่กำหนดหรือไม่ และเมื่อไม่มีออเดอร์ที่ตรงกันมีการกระทำที่ไม่คาดคิดหรือไม่ หมายเลขเป็นเพียงการแยกเสริม หากการตรวจความเสี่ยงรวมระดับบัญชีตั้งใจอ่านโพซิชันทั้งหมด ควรบันทึกแยกจากสิทธิ์แก้ไขออเดอร์จริง
จัดการออเดอร์เก่าก่อนเปลี่ยนหมายเลข
สมมติว่ากลยุทธ์ A เคยเปิดโพซิชันด้วย 101 และตอนนี้เปลี่ยนเป็น 303 การเปลี่ยนพารามิเตอร์อินพุตมักมีผลเพียงค่าที่โค้ดใช้ต่อจากนี้ หมายเลขระบุของออเดอร์เก่าจะไม่ย้ายตามการตั้งค่าแผนภูมิโดยอัตโนมัติ หากเงื่อนไขการจัดการตรงเพียง 303 ออเดอร์เดิม 101 อาจถูกข้าม ก่อนเปลี่ยนแปลงควรระบุออเดอร์เก่าและวิธีจัดการที่วางไว้ แล้วตรวจสอบการรีสตาร์ทและการส่งต่อในสภาพแวดล้อมทดลอง หากพบ EA ที่ตรวจสอบเวอร์ชันไม่ได้หรือล็อกไม่อธิบายตรรกะการกรอง ให้หยุดการเปลี่ยนแปลงการจัดการอัตโนมัติก่อน และตรวจแผนการออกจากโพซิชันที่มีอยู่ การผ่านการทดลองบ่งชี้เพียงสถานการณ์ที่ทดสอบเท่านั้น การเปลี่ยนแปลงราคาจริง การปฏิเสธออเดอร์จากเซิร์ฟเวอร์ และ slippage ยังต้องประเมินแยกต่างหาก