Magic Number คืออะไร? ทำไม EA แต่ละตัวต้องใช้เลขไม่ซ้ำกัน

เมื่อบัญชีเดียวมีทั้งไม้ที่เปิดเองและไม้จาก EA หลายตัว EA แต่ละตัวต้องรู้ว่าไม้ไหนเป็นของตัวเอง ไม่อย่างนั้นจะนับจำนวนไม้ผิด คำนวณกำไรผิด หรือปิดไม้ที่ไม่ใช่ของตัวเอง Magic Number คือเครื่องมือที่ทำหน้าที่นี้ บทความนี้อธิบายว่ามันทำงานอย่างไร และเกิดอะไรขึ้นเมื่อ EA สองตัวใช้เลขเดียวกัน
ตัวเลขเป็นตัวอย่างเพื่อประกอบบทความ · ตรวจเงื่อนไขของโบรกเกอร์ก่อนเทรดจริง
สรุปสาระสำคัญ
- Magic Number คือเลขที่ EA ติดไว้กับทุกไม้ที่เปิด และใช้กรองหาไม้ของตัวเอง
- ไม้ที่เปิดเองจากโปรแกรมหรือแอปมือถือมี Magic Number เป็น 0
- EA สองตัวที่ใช้เลขซ้ำกันจะเห็นไม้ของกันและกันเป็นของตัวเอง
- ผลคือนับจำนวนไม้ผิด คำนวณกำไรรวมผิด และอาจปิดหรือแก้ไม้ของอีกตัว
- บัญชีแบบ Netting รวมไม้ต่อสัญลักษณ์เป็นสถานะเดียว Magic Number แยกให้ไม่ได้
Magic Number คืออะไร
Magic Number เป็นตัวเลขจำนวนเต็มที่ EA ใส่ไว้ในคำสั่งทุกครั้งที่ส่ง ไม้ที่เปิดขึ้นจึงมีเลขนี้ติดอยู่ตลอดจนปิด เมื่อ EA ต้องการรู้ว่าตัวเองถืออะไรอยู่ มันจะไล่ดูไม้ทั้งหมดในบัญชีแล้วเลือกเฉพาะไม้ที่มีเลขตรงกับค่าที่ตั้งไว้ EA ส่วนใหญ่กรองสัญลักษณ์ด้วย คือดูเฉพาะไม้ของสัญลักษณ์บนกราฟที่มันทำงานอยู่
ค่านี้มักอยู่ในแท็บ Inputs ตามที่อธิบายใน ค่า Input ของ EA ข้อความ Comment ของไม้ไม่ควรใช้แทน เพราะบางกรณีเซิร์ฟเวอร์เติมหรือเปลี่ยนข้อความได้ ส่วน Magic Number ไม่เปลี่ยนตลอดอายุของไม้
ไม้ที่เปิดเองมี Magic 0
ไม้ที่เปิดจากปุ่มในโปรแกรม จากแอปมือถือ หรือจากหน้าต่างคำสั่งซื้อขาย มี Magic Number เป็น 0 EA ทั่วไปจึงไม่ยุ่งกับไม้ที่เปิดเอง EA บางประเภท เช่นตัวช่วยจัดการไม้ที่ออกแบบมาดูแลไม้ที่เปิดเอง ให้ตั้ง Magic เป็น 0 โดยตั้งใจ ถ้าใช้แบบนี้ต้องรู้ว่ามันจะดูแลไม้ที่เปิดเองทุกไม้ในสัญลักษณ์นั้น
ตัวอย่าง: EA สองตัวใน EURUSD
บัญชีตัวอย่างมี 6 ไม้ใน EURUSD เป็นของ EA A สามไม้ EA B สองไม้ และไม้ที่เปิดเองหนึ่งไม้ EA A มีกฎปิดทั้งชุดเมื่อกำไรรวมของไม้ตัวเองถึง 30 ดอลลาร์ และถือได้ไม่เกิน 4 ไม้

กรณีที่ 1 EA A ใช้ 1001 และ EA B ใช้ 2002 EA A เห็นไม้ของตัวเอง 3 ไม้ กำไรรวม +12 − 8 + 5 = +9 ดอลลาร์ ยังไม่ถึงเป้า จึงถือต่อตามปกติ กรณีที่ 2 ทั้งสองตัวใช้ 1001 ไม้ของ EA B อีก 2 ไม้ผ่านตัวกรองของ EA A ไปด้วย EA A นับเป็น 5 ไม้ กำไรรวม +34 ดอลลาร์ ถึงเป้า 30 ดอลลาร์ จึงปิดทั้ง 5 ไม้ รวมไม้ของ EA B ที่ยังไม่ถึงจุดออกของตัวเอง ส่วนไม้ที่เปิดเองมี Magic 0 จึงไม่ถูกนับทั้งสองกรณี ตัวเลขเป็นตัวอย่าง
ปัญหาอื่นเมื่อ Magic Number ซ้ำกัน
- นับจำนวนไม้ผิด — ในตัวอย่าง EA A เห็น 5 ไม้ เกินเพดาน 4 ไม้ จึงหยุดเปิดไม้ใหม่ทั้งที่ไม้ของตัวเองมีแค่ 3
- Trailing Stop ไปแก้ไม้ของอีกตัว — Stop ของ EA B ถูกเลื่อนตามกฎของ EA A
- คำนวณจุดคุ้มทุนของทั้งชุดผิด — ระบบที่ดูแลหลายไม้เป็นชุดจะได้ราคาเฉลี่ยที่ปนไม้ของตัวอื่น
- ระยะห่างของไม้ในระบบ Grid ผิด — ไม้ล่าสุดที่ใช้อ้างอิงอาจเป็นของอีกตัว
ระบบที่ถือหลายไม้เป็นชุดได้รับผลกระทบมากที่สุด เพราะทุกการตัดสินใจอ้างอิงไม้ทั้งชุด ตามที่อธิบายใน การบริหารทั้งตะกร้า และ Grid Trading
ใช้เลขเดียวกันคนละสัญลักษณ์ได้ไหม
ถ้า EA กรองทั้ง Magic Number และสัญลักษณ์ การใช้เลขเดียวกันบน EURUSD กับ GBPUSD มักไม่ชนกัน แต่ผู้ใช้ไม่มีทางรู้แน่ว่า EA ตัวนั้นกรองสัญลักษณ์หรือไม่ ถ้าคู่มือไม่ได้บอก EA บางตัวดูแลหลายสัญลักษณ์จากกราฟเดียวและตั้งใจใช้เลขเดียวทั้งชุด วิธีที่ปลอดภัยที่สุดคือให้ EA แต่ละตัวบนแต่ละกราฟมีเลขไม่ซ้ำกันเสมอ
บัญชี Netting: Magic Number แยกไม่ได้
บัญชีแบบ Netting รวมทุกการซื้อขายในสัญลักษณ์เดียวกันเป็นสถานะเดียว ถ้า EA A ซื้อ 0.30 lot และ EA B ขาย 0.10 lot ใน EURUSD บัญชีจะเหลือ Buy 0.20 lot รายการเดียว ไม่ว่าจะตั้ง Magic Number ต่างกันแค่ไหน การรัน EA หลายตัวบนสัญลักษณ์เดียวกันจึงต้องใช้บัญชี Hedging ความต่างของสองแบบอยู่ใน MT4 กับ MT5
ตั้ง Magic Number อย่างเป็นระบบ
- กำหนดรูปแบบของเลข — เช่น หลักแรกแทน EA หลักที่เหลือแทนสัญลักษณ์และลำดับ อย่าง 1101 และ 1102
- จดไว้ในบันทึกการเทรด — เลข EA สัญลักษณ์ Timeframe และไฟล์ .set ที่ใช้
- ไม่เปลี่ยนเลขขณะมีไม้ค้าง — EA จะไม่รู้จักไม้เดิมของตัวเอง
- ตรวจทุกครั้งที่ใส่ EA ตัวเดิมซ้ำบนกราฟใหม่ — ค่าเริ่มต้นจะเป็นเลขเดิมเสมอ
ความผิดพลาดที่พบบ่อย
- ใช้ค่าเริ่มต้นทุกตัว — EA ตัวเดียวกันสองกราฟจึงได้เลขเดียวกันโดยไม่รู้ตัว
- ตั้ง Magic เป็น 0 โดยไม่ตั้งใจ — EA ไปดูแลไม้ที่เปิดเองด้วย
- รันหลาย EA บนบัญชี Netting — สถานะรวมกัน Magic Number ช่วยไม่ได้
- เปลี่ยนเลขกลางทาง — ไม้เดิมไม่มีใครดูแล
สรุป
Magic Number เป็นเลขเล็ก ๆ ที่ตัดสินว่า EA จะนับ คำนวณ และปิดไม้ถูกต้องหรือไม่ ให้ EA แต่ละตัวบนแต่ละกราฟมีเลขไม่ซ้ำ ใช้บัญชี Hedging เมื่อรันหลายตัวบนสัญลักษณ์เดียว และจดเลขไว้เสมอ เรื่องที่ต้องคิดต่อเมื่อมี EA หลายตัวในบัญชีเดียวอยู่ใน รันหลาย EA พร้อมกัน


