หน้าหลัก > บล็อก > MT5 ปฏิเสธคำสั่ง: ความหมาย Return Code และลำดับตรวจสอบ

MT5แก้ไขปัญหาการใช้งาน EA

MT5 ปฏิเสธคำสั่ง: ความหมาย Return Code และลำดับตรวจสอบ

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

สรุป: ดูก่อนว่า "ล้มเหลวทุกครั้ง หรือล้มเหลวเป็นบางครั้ง"

เมื่อคำสั่งของ EA ถูก MT5 ปฏิเสธ ในล็อกจะมีตัวเลขขึ้นมา เช่น "retcode=10030" เรามักได้รับคำถามเกี่ยวกับ return code เหล่านี้อยู่เสมอ

ขอสรุปไว้ก่อนเลย สิ่งแรกที่ควรดูคือ การปฏิเสธเกิดขึ้นทุกครั้ง หรือเกิดเป็นบางครั้ง

  • ล้มเหลวทุกครั้ง → สงสัย 10030, 10013, 10018 สาเหตุมักอยู่ที่การตั้งค่าหรือช่วงเวลา ถ้าไม่แก้หรือไม่เลิกส่งคำสั่งแบบนั้น ต่อให้ลองกี่ครั้งก็ไม่ผ่าน
  • ล้มเหลวเป็นบางครั้ง → สงสัย 10004, 10006 เกิดจากสภาวะตลาดหรือการตัดสินใจของโบรกเกอร์ บางครั้งรอสักพักก็ผ่าน

ว่าเข้ากรณีไหน จะกำหนดทั้งจุดที่ต้องตรวจและความเร่งด่วน

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

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

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

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

หลักการ: return code คือ "คำตอบจากเซิร์ฟเวอร์"

เมื่อ EA ส่งคำสั่ง เซิร์ฟเวอร์ของโบรกเกอร์จะตัดสินว่ารับหรือไม่ แล้วตอบกลับเป็นตัวเลข ถ้าสำเร็จจะได้ 10009 (จับคู่คำสั่งแล้ว) เป็นต้น ถ้าล้มเหลวจะได้หมายเลขที่บอกเหตุผลของการปฏิเสธ

สิ่งที่ควรระวังคือ ตัวเลขนี้เป็นเพียงการจัดหมวดหมู่ที่เซิร์ฟเวอร์ตอบมา บางครั้งไม่ได้บอกเหตุผลที่แท้จริงของการปฏิเสธ โดยเฉพาะ 10006 เป็นรหัสที่ดูจากล็อกแล้วมักไม่รู้ว่าโบรกเกอร์ตัดสินจากอะไร

รหัสความหมายใน MT5รูปแบบที่เกิดที่ที่ต้องตรวจรอแล้วจะผ่านไหม
10018ตลาดปิดอยู่ทุกครั้ง (ขึ้นกับช่วงเวลา)เวลาซื้อขาย・วันหยุดผ่านเมื่อตลาดเปิด
10030ไม่รองรับโหมดการส่งคำสั่ง (filling) ที่ระบุทุกครั้งการตั้งค่า EA・สเปคของสัญลักษณ์ไม่ผ่าน
10013คำขอไม่ถูกต้องมักเป็นทุกครั้งล็อต・ราคา・ชื่อสัญลักษณ์ไม่ผ่าน
10004Requote (ราคาเปลี่ยน)เป็นบางครั้งslippage ที่ยอมรับได้・ช่วงเวลามักผ่าน
10006คำขอถูกปฏิเสธเป็นบางครั้งถึงทุกครั้งสอบถามโบรกเกอร์บอกไม่ได้

ขั้นตอนการตรวจสอบ: ไล่ตามลำดับนี้

1. 10018: ดูนาฬิกาก่อน

ตรวจง่ายที่สุดจึงดูเป็นอันดับแรก ตรวจว่าตรงกับสุดสัปดาห์ วันหยุด ช่วงปีใหม่ หรือช่วงพักของแต่ละสัญลักษณ์หรือไม่ (ทองคำและดัชนีหุ้นในหลายโบรกเกอร์มีช่วงพักระหว่างวัน) คลิกขวาที่สัญลักษณ์ใน Market Watch แล้วเปิด "Specification" ก็จะเห็นเวลาซื้อขาย และอย่าลืมว่าเวลาเซิร์ฟเวอร์กับเวลาญี่ปุ่นต่างกัน ถ้าสาเหตุคือช่วงเวลา ไม่ต้องทำอะไร เมื่อตลาดเปิดก็จะผ่านเอง

2. 10030: ปรับโหมดการส่งคำสั่งให้ตรงกัน

โหมดการส่งคำสั่งที่รับได้ (FOK・IOC・Return) แตกต่างกันตามโบรกเกอร์และประเภทบัญชี ถ้า EA ส่งคำสั่งด้วยโหมดที่ไม่รองรับ จะถูกปฏิเสธทุกครั้ง หากใน input ของ EA มีช่อง "Filling" ให้ตั้งให้ตรงกับโหมดที่ระบุไว้ในช่อง "Execution" ของสเปคสัญลักษณ์ ถ้าไม่มีช่องนี้ ต้องให้ฝั่ง EA แก้ไข กรุณาสอบถามผู้เผยแพร่ EA เรื่องนี้มักเกิดทันทีหลังย้ายไปโบรกเกอร์ใหม่หรือเปลี่ยนประเภทบัญชี

3. 10013: สงสัยเนื้อหาของคำสั่ง

มักขึ้นเมื่อเนื้อหาคำสั่งผิดพลาด เช่น ล็อตน้อยกว่าล็อตขั้นต่ำ ล็อตไม่ตรงกับขั้นของล็อต หรือส่วนท้ายของชื่อสัญลักษณ์ (เช่น ".m" หรือ "#") ไม่ตรง บางครั้งล็อกก็ไม่แสดงเหตุผลโดยละเอียด และบางกรณีต้องลองปรับล็อตหรือชื่อสัญลักษณ์ทีละน้อยเพื่อหาสาเหตุ การทบทวนรายการตั้งค่าสรุปไว้ใน วิธีตั้งค่า EA

4. 10004: slippage ที่ยอมรับได้และช่วงเวลา

เป็นรหัสที่ขึ้นง่ายในช่วงที่ราคาเคลื่อนไหวเร็ว เช่น หลังประกาศตัวเลขเศรษฐกิจหรือช่วงเช้ามืด หาก EA มีช่อง "Slippage" หรือ "Deviation" การขยายค่าเล็กน้อยอาจช่วยให้เกิดน้อยลง แต่ถ้าขยายมากเกินไป ก็เท่ากับยอมรับการจับคู่ที่ราคาไม่เป็นผลดี ถ้าเน็ตช้าซ้ำเติมอยู่ด้วย การใช้ VPS อาจช่วยปรับปรุงได้

5. 10006: บางครั้งต้องถามโบรกเกอร์

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

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

  • บัญชีทดลองอาจไม่เกิดซ้ำ วิธีการจับคู่คำสั่งในบัญชีทดลองกับบัญชีจริงไม่จำเป็นต้องเหมือนกัน ความถี่ที่เกิด requote หรือการปฏิเสธอาจต่างกัน แม้ใช้งานได้ปกติในบัญชีทดลอง ก็ยืนยันไม่ได้ว่าบัญชีจริงจะผ่านเหมือนกัน
  • การลองส่งซ้ำหลายครั้งอาจส่งผลเสีย 10030 และ 10013 ต่อให้ส่งคำสั่งเดิมซ้ำก็ไม่ผ่าน ถ้า EA ส่งซ้ำทุกครั้งที่ถูกปฏิเสธ คำสั่งจะกระจุกตัวในเวลาสั้น ๆ ซึ่งอาจทำให้ติดข้อจำกัดของโบรกเกอร์ได้ EA ของเรามีแนวทางส่งซ้ำเฉพาะรหัสชั่วคราวอย่าง 10004 และกำหนดจำนวนครั้งไว้
  • เทรดที่ถูกปฏิเสธจะไม่ถูกบันทึก ในการทดสอบย้อนหลัง การปฏิเสธแบบนี้แทบไม่เกิด ผลงานจริงจึงคลาดเคลื่อนไปตามส่วนนี้ นี่เป็นเหตุผลหนึ่งที่ผลไม่เหมือนกับผลของ tester
  • return code ยังมีหมายเลขอื่นนอกเหนือจาก 5 ตัวที่กล่าวถึงนี้ เช่น ล็อตไม่ถูกต้อง ราคาไม่ถูกต้อง และมาร์จิ้นไม่พอ บทความนี้สรุปเฉพาะ 5 ตัวที่มีคนสอบถามบ่อย

สรุป

  • ดูก่อนว่า "ล้มเหลวทุกครั้ง หรือล้มเหลวเป็นบางครั้ง"
  • ถ้าล้มเหลวทุกครั้ง ให้ตรวจตามลำดับ 10018 (เวลา) → 10030 (โหมดการส่งคำสั่ง) → 10013 (เนื้อหาคำสั่ง)
  • ถ้าล้มเหลวเป็นบางครั้ง ให้ดู 10004 (slippage・ช่วงเวลา) ส่วน 10006 ให้สอบถามโบรกเกอร์
  • 10030 และ 10013 ส่งซ้ำกี่ครั้งก็ไม่ผ่าน ต้องแก้การตั้งค่า
  • สาเหตุแท้จริงของ 10006 บางครั้งผู้ใช้มองไม่เห็น และเราเองก็ฟันธงไม่ได้
  • แม้ผ่านในบัญชีทดลอง ก็ไม่ได้แปลว่าบัญชีจริงจะผ่านเหมือนกัน

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

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

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

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

ถามที่ Nattzy ↗

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