AutoTrading ปิดใช้งาน ทำให้ EA ไม่ทำงาน
สารบัญ
- ความแตกต่างระหว่าง 10027 กับ 10026 (Client ปิด vs Server ปิด)
- ① TRADE_RETCODE_CLIENT_DISABLES_AT = 10027 (ปิดที่ฝั่งเครื่องของคุณ)
- ② TRADE_RETCODE_SERVER_DISABLES_AT = 10026 (ปิดที่ฝั่งโบรกเกอร์)
- การอนุญาตให้เทรดใน MT5 เป็นโครงสร้าง 4 ชั้น — ต้องเปิดครบทุกชั้นถึงจะทำงาน
- ชั้นที่ 1: ปุ่ม "Algo Trading" บน Toolbar (ระดับทั้งเครื่อง)
- ชั้นที่ 2: การตั้งค่า "อนุญาต Algorithmic Trading" ใน Options
- ชั้นที่ 3: การตั้งค่า EA รายชาร์ต "อนุญาต Algo Trading"
- ชั้นที่ 4: สถานะไอคอน EA มุมขวาบนของชาร์ต
- Triage 30 วินาที (ตรวจสอบตามลำดับนี้)
- 5 สาเหตุที่มักถูกมองข้าม
- ① ล็อกอินด้วยรหัสผ่าน Investor (สำหรับดูอย่างเดียว)
- ② โบรกเกอร์ห้ามใช้ EA สำหรับประเภทบัญชีนั้น (10026)
- ③ ปุ่มกลับไปเป็น OFF หลังรีสตาร์ทเครื่อง อัปเดต หรือสลับบัญชี
- ④ Auto Trading ยังคง OFF อยู่หลังเปิดเครื่องอัตโนมัติบน VPS
- ⑤ สับสนระหว่างบัญชีทดลอง (Demo) กับบัญชีจริง
- ตรวจจับสถานะนี้ด้วย MQL5 (สำหรับผู้พัฒนา EA)
- จุดสำคัญในการใช้งานจริง
- Checklist ตามลำดับความสำคัญ
- สรุป
- คำถามที่พบบ่อย (FAQ)
- Q: เปิดปุ่ม Algo Trading แล้วแต่ EA ยังไม่เข้าออเดอร์
- Q: 10027 กับ 10026 ต่างกันอย่างไร
- Q: เมื่อวานยังใช้งานได้อยู่เลย แต่จู่ๆ Auto Trading ก็กลายเป็น OFF ไปเอง
- Q: สั่งซื้อขายแบบ manual ทำได้ปกติ แต่ EA สั่งซื้อขายไม่ได้
"Auto Trading ปิดใช้งาน" ทำให้ EA ไม่ทำงาน (MT5)
ตั้งค่า EA บนชาร์ตแล้วแต่รอกี่ชั่วโมงก็ไม่มีการเข้าออเดอร์แม้แต่ครั้งเดียว — กรณีแบบนี้สิ่งแรกที่ควรสงสัยคือ "Auto Trading (Algo Trading) ถูกปิดใช้งาน" ลักษณะเด่นคือไม่มี error ที่ชัดเจน แต่จะเงียบสนิท ซึ่งเป็นสาเหตุอันดับ 1 ที่ทำให้ EA ไม่ทำงาน ยิ่งไปกว่านั้น การอนุญาตให้เทรดใน MT5 มีโครงสร้างแบบ 4 ชั้น หากแม้แต่ชั้นเดียวถูกปิด (OFF) คำสั่งซื้อขายก็จะไม่ถูกส่งออกไป
บทความนี้เขียนขึ้นสำหรับทั้งผู้ใช้ EA บน MT5 และผู้ที่เขียน EA ด้วย MQL5 โดยจะสรุปความหมายของ return code ที่เกี่ยวข้องสองตัวคือ 10027 (TRADE_RETCODE_CLIENT_DISABLES_AT) และ 10026 (TRADE_RETCODE_SERVER_DISABLES_AT) โครงสร้างการอนุญาต 4 ชั้น สาเหตุที่มักถูกมองข้าม ไปจนถึงวิธีตรวจสอบในโค้ด สำหรับรายการ error code ทั้งหมดสามารถดูได้ที่ คู่มือรวมวิธีแก้ error code ของ MQL5 / MT5
บทความนี้อ้างอิงจาก MT5 (build 4xxx) ณ เดือนกรกฎาคม 2026 ชื่อเมนูและไอคอนอาจแตกต่างกันเล็กน้อยตาม build
ความแตกต่างระหว่าง 10027 กับ 10026 (Client ปิด vs Server ปิด)
Return code ที่แสดงว่า "Auto Trading ถูกปิดใช้งาน" มีอยู่ 2 ตัว ซึ่งต่างกันตรงที่ฝั่งไหนเป็นคนสั่งปิด เพียงแค่แยกให้ออกก็จะรู้แนวทางแก้ไขไปแล้วครึ่งหนึ่ง
① TRADE_RETCODE_CLIENT_DISABLES_AT = 10027 (ปิดที่ฝั่งเครื่องของคุณ)
สถานะที่ Auto Trading ถูกปิดใช้งานจากการตั้งค่าฝั่ง Client (คือเครื่อง MT5 ของคุณเอง) สาเหตุมักมาจากปุ่ม "Algo Trading" บน toolbar ที่เป็น OFF หรือการอนุญาตในหน้า Options ถูกปิดอยู่ ในกรณีนี้คำขอส่งคำสั่งจะถูกปฏิเสธภายในเครื่องก่อนที่จะถูกส่งไปยังเซิร์ฟเวอร์ของโบรกเกอร์
ความหมาย: Auto Trading ถูกปิดใช้งานที่ client terminal (AutoTrading disabled by client)
ค่าคงที่: TRADE_RETCODE_CLIENT_DISABLES_AT
ค่า : 10027
ในแท็บ Experts จะแสดง log ประมาณนี้
2026.07.07 09:15:32.441 EA_NAME (XAUUSD,H1) OrderSend failed 10027
2026.07.07 09:15:32.441 EA_NAME (XAUUSD,H1) CTrade::OrderSend: ... [autotrading disabled by client]
วิธีแก้คือแค่ปรับการตั้งค่า MT5 ของตัวเอง เพียงเปิด (ON) ทั้ง 4 ชั้นตามที่จะอธิบายในหัวข้อถัดไปก็จะแก้ปัญหาได้
② TRADE_RETCODE_SERVER_DISABLES_AT = 10026 (ปิดที่ฝั่งโบรกเกอร์)
สถานะที่ เซิร์ฟเวอร์ (คือโบรกเกอร์) ปิดกั้นการใช้ Auto Trading สำหรับบัญชีนี้ ต่อให้ตรวจสอบการตั้งค่าในเครื่องกี่ครั้งก็ไม่มีทางแก้ได้ กรณีนี้มักเกิดกับบัญชีโบนัส บัญชีเซนต์ หรือบัญชีสำหรับแข่งขันบางประเภทที่มีเงื่อนไข "ห้ามใช้ EA" หรือกรณีที่โบรกเกอร์ระงับการใช้ Algo Trading ของบัญชีนั้นเนื่องจากผิดเงื่อนไขการใช้งาน
ความหมาย: Auto Trading ถูกปิดใช้งานที่ฝั่งเซิร์ฟเวอร์ (AutoTrading disabled by server)
ค่าคงที่: TRADE_RETCODE_SERVER_DISABLES_AT
ค่า : 10026
วิธีแก้มีทางเดียวคือติดต่อสอบถามโบรกเกอร์ ว่าประเภทบัญชีของคุณรองรับการใช้ EA หรือไม่ (จำเป็นต้องเปลี่ยนหรือเปิดบัญชีใหม่ที่รองรับหรือเปล่า)
| Code | ค่าคงที่ | ฝั่งที่ปิดกั้น | วิธีแก้ |
|---|---|---|---|
| 10027 | TRADE_RETCODE_CLIENT_DISABLES_AT | เครื่อง MT5 ของคุณ | เปิด (ON) การอนุญาตทั้ง 4 ชั้นในเครื่อง (แก้ได้ตามบทความนี้) |
| 10026 | TRADE_RETCODE_SERVER_DISABLES_AT | เซิร์ฟเวอร์ของโบรกเกอร์ | สอบถามโบรกเกอร์ว่าบัญชีนี้ใช้ EA ได้หรือไม่ |
การอนุญาตให้เทรดใน MT5 เป็นโครงสร้าง 4 ชั้น — ต้องเปิดครบทุกชั้นถึงจะทำงาน
ใน MT5 ก่อนที่ EA จะสามารถส่งคำสั่งซื้อขายได้ จะมีสวิตช์อิสระ 4 จุด หากแม้แต่จุดเดียวเป็น OFF คำสั่งก็จะไม่ถูกส่งออกไป กรณี "เมื่อวานยังใช้งานได้อยู่เลย" ก็มักเกิดจากชั้นใดชั้นหนึ่งใน 4 ชั้นนี้หลุดไป
ชั้นที่ 1: ปุ่ม "Algo Trading" บน Toolbar (ระดับทั้งเครื่อง)
ปุ่ม "Algo Trading" บน toolbar ด้านบนของ MT5 หากเป็น ON จะแสดงเครื่องหมายเล่นสีเขียว (▶) หากเป็น OFF จะแสดงเครื่องหมายหยุดสีแดง ปุ่มลัดคือ Ctrl+E (บางครั้งกดโดยไม่ทันสังเกตแล้วกลายเป็นปิดไปโดยไม่รู้ตัว) หากจุดนี้เป็น OFF การส่งคำสั่งของทุกชาร์ตทุก EA จะหยุดพร้อมกันทั้งหมด และจะเกิด 10027
ชั้นที่ 2: การตั้งค่า "อนุญาต Algorithmic Trading" ใน Options
เช็คบ็อกซ์ "อนุญาต Algorithmic Trading" ในแท็บ Tools → Options → Expert Advisors เป็นการตั้งค่าพื้นฐานของปุ่มในชั้นที่ 1 หากจุดนี้ถูกปิดอยู่ จะไม่สามารถเปิดปุ่มได้ หรือแม้เปิดปุ่มแล้วก็จะยังส่งคำสั่งไม่ได้
ในแท็บเดียวกันนี้ยังมีเช็คบ็อกซ์ประเภท "ปิดการใช้งาน Algorithmic Trading เมื่อ~" (เมื่อสลับบัญชี / เมื่อสลับโปรไฟล์ / เมื่อเปลี่ยนสัญลักษณ์หรือ timeframe ของชาร์ต) หากเช็คบ็อกซ์เหล่านี้ถูกติ๊กไว้ ปุ่มในชั้นที่ 1 จะกลับไปเป็น OFF โดยอัตโนมัติทันทีที่มีการสลับบัญชี เป็นต้น อาการ "บางครั้งหยุดทำงานไปเอง" ส่วนใหญ่มักมีสาเหตุมาจากจุดนี้
ชั้นที่ 3: การตั้งค่า EA รายชาร์ต "อนุญาต Algo Trading"
เช็คบ็อกซ์ "อนุญาต Algo Trading" ในแท็บ "General (ทั่วไป)" ของหน้าต่างตอนแทรก EA ลงชาร์ต (หรือคลิกขวาที่ชื่อ EA บนชาร์ต → Properties) สวิตช์นี้มีผลเฉพาะ EA ตัวนั้นบนชาร์ตนั้นเท่านั้น หากจุดนี้ถูกปิดอยู่ จะเกิดอาการ EA ตัวอื่นทำงานได้ปกติ แต่ EA ตัวนี้ไม่ทำงาน (กรณีนี้ MQLInfoInteger(MQL_TRADE_ALLOWED) จะได้ค่า false)
ชั้นที่ 4: สถานะไอคอน EA มุมขวาบนของชาร์ต
เมื่อ EA ถูกโหลดเรียบร้อยแล้ว จะมี ชื่อ EA และไอคอนขนาดเล็ก (รูปหมวก) แสดงที่มุมขวาบนของชาร์ต
- หมวกสี (โทนน้ำเงิน) = EA กำลังทำงานและสามารถเทรดได้
- หมวกสีเทา / มีเครื่องหมายกากบาท = EA ถูกโหลดแล้ว แต่ไม่สามารถเทรดได้ (ชั้นที่ 1-3 ข้างต้นชั้นใดชั้นหนึ่งเป็น OFF)
- ไม่มีชื่อ EA แสดงเลย = EA ยังไม่ได้ถูกใส่ลงในชาร์ตตั้งแต่แรก (แทรกไม่สำเร็จ หรือถูกลบไปแล้ว)
ไอคอนนี้เป็น "การแสดงผลลัพธ์" ไม่ใช่สวิตช์ที่ควบคุมได้โดยตรง แต่เป็นจุดตรวจสอบที่เร็วที่สุดในการดูสถานะได้ในพริบตา การแสดงผลอาจแตกต่างกันไปตาม build
| ชั้น | ตำแหน่ง | ขอบเขตผลกระทบ | วิธีตรวจสอบด้วย MQL5 |
|---|---|---|---|
| ① ปุ่ม Algo Trading | Toolbar (Ctrl+E) | ทั้งเครื่อง | TERMINAL_TRADE_ALLOWED |
| ② การอนุญาตใน Options | Tools→Options→Expert Advisors | ทั้งเครื่อง | TERMINAL_TRADE_ALLOWED |
| ③ การอนุญาตรายชาร์ต | การตั้งค่า EA→แท็บ General | เฉพาะ EA บนชาร์ตนั้น | MQL_TRADE_ALLOWED |
| ④ ไอคอน EA | มุมขวาบนของชาร์ต | การแสดงสถานะ | — (ผลลัพธ์ของ ①-③) |
Triage 30 วินาที (ตรวจสอบตามลำดับนี้)
- ปุ่ม "Algo Trading" บน toolbar เป็นสีเขียว (▶) หรือไม่? → ถ้าแดง ให้คลิกเพื่อเปิด (Ctrl+E)
- มุมขวาบนของชาร์ตมีชื่อ EA + ไอคอนหมวกสีแสดงอยู่หรือไม่? → ถ้าเป็นสีเทา ให้ไปข้อถัดไป ถ้าไม่มีชื่อเลย ให้แทรก EA ใหม่
- การตั้งค่า EA → แท็บ General → "อนุญาต Algo Trading" ถูกติ๊กหรือไม่? → ถ้าไม่ถูกติ๊ก ให้ติ๊กแล้วนำไปใช้ใหม่
- Tools → Options → Expert Advisors → "อนุญาต Algorithmic Trading" เปิดใช้งานอยู่หรือไม่? → ตรวจสอบเช็คบ็อกซ์ประเภท "ปิดใช้งานเมื่อสลับบัญชี" ด้วย
- ตรวจสอบข้อมูลบัญชี — กำลังล็อกอินด้วยรหัสผ่าน Investor (สำหรับดูอย่างเดียว) อยู่หรือไม่? → ล็อกอินใหม่ด้วยรหัสผ่านสำหรับเทรด
- ทำครบข้อ 1-5 แล้วแต่ยังขึ้น 10026 → สอบถามโบรกเกอร์ว่าบัญชีนี้ใช้ EA ได้หรือไม่
ส่วนใหญ่แล้วปัญหาจะแก้ได้ด้วยขั้นตอนที่ 1-3
5 สาเหตุที่มักถูกมองข้าม
① ล็อกอินด้วยรหัสผ่าน Investor (สำหรับดูอย่างเดียว)
บัญชี MT5 มีรหัสผ่าน 2 ประเภทคือ รหัสผ่านสำหรับเทรด และ รหัสผ่าน Investor (สำหรับดูอย่างเดียว) หากล็อกอินด้วยรหัสผ่าน Investor จะไม่สามารถส่งคำสั่งซื้อขายได้เลย ไม่ว่าจะเป็นแบบ manual หรือ auto แม้จะกดปุ่ม Algo Trading ก็ยังเทรดไม่ได้ กรณีนี้มักเกิดหลังจากให้คนอื่นดูบัญชี หรือกรณีที่ password manager จำรหัสผ่านรุ่นเก่าไว้ ในฝั่ง MQL5 สามารถตรวจสอบได้จาก AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) ที่จะได้ค่า false กรุณาล็อกอินใหม่ด้วยรหัสผ่านสำหรับเทรด
② โบรกเกอร์ห้ามใช้ EA สำหรับประเภทบัญชีนั้น (10026)
บัญชีเซนต์ บัญชีโบนัส หรือบัญชีสำหรับแข่งขันบางประเภทมีเงื่อนไขห้ามใช้ EA กรณีนี้ฝั่งเซิร์ฟเวอร์จะปฏิเสธคำสั่ง ทำให้เกิด 10026 และไม่สามารถแก้ไขได้จากฝั่งเครื่อง ควรตรวจสอบเงื่อนไขตอนเปิดบัญชี และเปลี่ยนไปใช้ประเภทบัญชีที่รองรับ EA หากจำเป็น
③ ปุ่มกลับไปเป็น OFF หลังรีสตาร์ทเครื่อง อัปเดต หรือสลับบัญชี
หลังจากอัปเดต MT5 หรือในสภาพแวดล้อมที่เปิดใช้ตัวเลือก "ปิดใช้งาน Algorithmic Trading เมื่อสลับบัญชี" ใน Options ปุ่ม Algo Trading อาจกลับไปเป็น OFF ได้ นี่คือรูปแบบทั่วไปของอาการ "สัปดาห์ที่แล้วยังใช้งานได้ แต่ไม่รู้ตัวว่าหยุดทำงานไปตั้งแต่เมื่อไหร่" ควรสร้างนิสัยตรวจสอบสีของปุ่มทุกครั้งที่รีสตาร์ทหรือสลับบัญชี หรือไม่ก็ยกเลิกการติ๊กเช็คบ็อกซ์ปิดใช้งานอัตโนมัติใน Options
④ Auto Trading ยังคง OFF อยู่หลังเปิดเครื่องอัตโนมัติบน VPS
ในการใช้งานบน VPS แม้จะตั้งค่าให้ "รีสตาร์ท Windows → เปิด MT5 อัตโนมัติ" ไว้แล้ว ก็อาจเกิดกรณีที่ Algo Trading ของ MT5 ที่เปิดขึ้นมายังคงเป็น OFF อยู่ได้ MT5 มีกลไกที่สามารถส่งไฟล์ตั้งค่า (ไฟล์ ini) ผ่าน /config ตอนเปิดโปรแกรม ซึ่งในส่วน [Experts] สามารถกำหนดการอนุญาต Auto Trading (AllowLiveTrading) และการแนบ EA อัตโนมัติได้ หากตั้งค่าให้เปิดเครื่องอัตโนมัติ ควรกำหนดค่าตอนเปิดโปรแกรมเหล่านี้ไว้ด้วย และตรวจสอบจากระยะไกลทุกครั้งหลังรีสตาร์ทว่าไอคอนที่มุมขวาบนของชาร์ตแสดงเป็นสีหรือไม่ เนื่องจาก VPS คือสภาพแวดล้อมสำหรับ "รันโดยไม่มีคนเฝ้า" การละเลยการตรวจสอบนี้อาจทำให้เสียโอกาสไปหลายวันถึงหลายสัปดาห์
⑤ สับสนระหว่างบัญชีทดลอง (Demo) กับบัญชีจริง
หาก EA ทำงานปกติในบัญชีทดลองแต่ไม่ทำงานในบัญชีจริง (หรือในทางกลับกัน) ให้ตรวจสอบว่า ขณะนี้ MT5 กำลังล็อกอินอยู่ในบัญชีไหน กรณีทั่วไปคือปุ่มถูกปิดเนื่องจากตัวเลือก "ปิดใช้งาน Algo Trading เมื่อสลับบัญชี" ทำงาน หรือกรณีที่ล็อกอินด้วยรหัสผ่าน Investor เฉพาะฝั่งบัญชีจริงเท่านั้น สามารถตรวจสอบได้ภายใน 10 วินาทีจากหมายเลขบัญชีใน Navigator และสถานะการเชื่อมต่อที่มุมขวาล่างของ Terminal
ตรวจจับสถานะนี้ด้วย MQL5 (สำหรับผู้พัฒนา EA)
จุดที่น่ารำคาญของ 10027/10026 คือ "การหยุดทำงานแบบเงียบๆ" การให้ฝั่ง EA รายงานตัวเองผ่าน log และ alert ว่าชั้นไหนเป็นตัวบล็อก จะช่วยลดภาระด้าน support ได้อย่างมาก ฟังก์ชันที่ใช้มีทั้งหมด 4 ตัวดังนี้
| ฟังก์ชัน | ตรวจสอบอะไร |
|---|---|
TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) | การอนุญาต Algo Trading ของทั้งเครื่อง (ปุ่ม + Options) |
MQLInfoInteger(MQL_TRADE_ALLOWED) | การอนุญาตเทรดของ EA (ชาร์ต) นี้ |
AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) | บัญชีนี้เทรดได้หรือไม่ (จะได้ false หากล็อกอินด้วย Investor) |
AccountInfoInteger(ACCOUNT_TRADE_EXPERT) | บัญชีนี้ได้รับอนุญาตให้เทรดด้วย EA หรือไม่ (การตั้งค่าฝั่งเซิร์ฟเวอร์) |
// ระบุว่าชั้นไหนเป็นตัวบล็อก Auto Trading แล้วแสดงผลออกมา
bool CheckAlgoTradingAllowed()
{
bool ok = true;
if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
{
Print("BLOCKED [Terminal]: AutoTrading button is OFF (toolbar / Ctrl+E) or disabled in Options");
ok = false;
}
if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
{
Print("BLOCKED [Chart/EA]: 'Allow Algo Trading' is unchecked in this EA's Common tab");
ok = false;
}
if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
{
Print("BLOCKED [Account]: trading not allowed - investor (read-only) login?");
ok = false;
}
if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
{
Print("BLOCKED [Server]: broker disabled EA trading for this account (retcode 10026)");
ok = false;
}
return ok;
}
จุดสำคัญในการใช้งานจริง
หลักการมาตรฐานคือ ตรวจสอบครั้งเดียวใน OnInit เพื่อแจ้งเตือน และไม่หยุดการทำงานใน OnTick
int OnInit()
{
if(!CheckAlgoTradingAllowed())
Alert("EA loaded, but algo trading is blocked. See Experts log for the reason.");
return INIT_SUCCEEDED; // ไม่ใช้ INIT_FAILED
}
หากใช้ INIT_FAILED ที่จุดนี้ จะทำให้ผู้ใช้ต้องแทรก EA ใหม่หลังจากเปิดปุ่ม Algo Trading แล้ว หากปล่อยให้การโหลดสำเร็จไว้ก่อน ทันทีที่ผู้ใช้เปิดปุ่ม Algo Trading การเทรดก็จะเริ่มทำงานทันที ในฝั่ง OnTick ควรออกแบบให้แสดง log เพียงครั้งเดียวเมื่อสถานะเปลี่ยนแปลง (ไม่ Print ทุก tick) เพื่อไม่ให้แท็บ Experts ไหลเร็วเกินไป
นอกจากนี้ การแสดง log พร้อมชื่อค่าคงที่เมื่อได้รับ retcode 10027 / 10026 จาก OrderSend() จะช่วยให้การตรวจสอบภายหลังทำได้ง่ายขึ้น
if(res.retcode == TRADE_RETCODE_CLIENT_DISABLES_AT) // 10027
Print("Order rejected: AutoTrading disabled on YOUR terminal. Turn ON the Algo Trading button.");
else if(res.retcode == TRADE_RETCODE_SERVER_DISABLES_AT) // 10026
Print("Order rejected: broker disabled autotrading for this account. Contact your broker.");
EA ที่แจกจ่ายโดย FXEA365 ออกแบบให้มีการแสดงสถานะ Auto Trading ON/OFF อยู่ตลอดเวลาบน dashboard ของชาร์ต จึงสามารถสังเกตเห็นสถานะ "หยุดทำงานแบบเงียบๆ" นี้ได้ทันทีที่มองหน้าจอ
Checklist ตามลำดับความสำคัญ
| ความสำคัญ | ตรวจสอบ | วิธีแก้ |
|---|---|---|
| 🚨 อันดับแรก | ปุ่ม Algo Trading เป็นสีแดง (OFF) | คลิกเพื่อเปิด (Ctrl+E) |
| 🚨 อันดับแรก | ไอคอน EA มุมขวาบนของชาร์ตเป็นสีเทา | ตรวจสอบทั้ง 4 ชั้นตามลำดับ |
| ⚠️ ถัดไป | "อนุญาต Algo Trading" ในแท็บ General ของการตั้งค่า EA | ติ๊กเช็คบ็อกซ์แล้วนำไปใช้ใหม่ |
| ⚠️ ถัดไป | การอนุญาตใน Options + เช็คบ็อกซ์ปิดใช้งานอัตโนมัติ | เปิดการอนุญาต และทบทวนการปิดใช้งานอัตโนมัติ |
| ✅ ตรวจสอบ | ล็อกอินด้วยรหัสผ่าน Investor | ล็อกอินใหม่ด้วยรหัสผ่านสำหรับเทรด |
| ✅ ตรวจสอบ | 10026 (ถูกปฏิเสธจากฝั่งเซิร์ฟเวอร์) | สอบถามโบรกเกอร์ว่าบัญชีนี้ใช้ EA ได้หรือไม่ |
| 🛠 สำหรับผู้พัฒนา | EA หยุดทำงานแบบเงียบๆ | เขียนโค้ดตรวจสอบแยกตามชั้นดังที่กล่าวไว้ข้างต้น |
สรุป
- สาเหตุอันดับ 1 ที่ทำให้ "EA ไม่ทำงาน" คือ Auto Trading (Algo Trading) ถูกปิดใช้งาน ลักษณะเด่นคือเงียบสนิทโดยไม่มี error แจ้งเตือน
- 10027 = ปิดที่ฝั่งเครื่องของตัวเอง (แก้ได้เอง), 10026 = ปิดที่ฝั่งโบรกเกอร์ (ต้องสอบถาม support)
- การอนุญาตให้เทรดใน MT5 มี 4 ชั้นคือ ①ปุ่มบน toolbar ②Options ③การตั้งค่า EA รายชาร์ต ④การแสดงผลไอคอน ต้องเปิดครบทุกชั้นถึงจะส่งคำสั่งได้
- รหัสผ่าน Investor, การปิดอัตโนมัติเมื่อสลับบัญชี, และการกลับไปเป็น OFF หลังรีสตาร์ท VPS คือ 3 สาเหตุหลักที่มักถูกมองข้าม
- ผู้พัฒนา EA ควรใช้
TERMINAL_TRADE_ALLOWED/MQL_TRADE_ALLOWED/ACCOUNT_TRADE_ALLOWED/ACCOUNT_TRADE_EXPERTเพื่อให้รายงานตัวเองว่าชั้นไหนเป็นตัวบล็อก
สำหรับ error code ทั้งหมดสามารถดูได้ที่ คู่มือรวมวิธีแก้ error code ของ MQL5 / MT5 และสำหรับ EA ฟรีที่มี dashboard แสดงสถานะตลอดเวลา สามารถดูได้ที่ รายชื่อ EA
คำถามที่พบบ่อย (FAQ)
Q: เปิดปุ่ม Algo Trading แล้วแต่ EA ยังไม่เข้าออเดอร์
กรุณาตรวจสอบชั้นอื่นนอกเหนือจากปุ่ม (ชั้นที่ 1) ที่พบบ่อยที่สุดคือการตั้งค่า EA รายชาร์ต (แท็บ General) ที่ "อนุญาต Algo Trading" ไม่ได้ถูกติ๊กไว้ สามารถตรวจสอบขั้นสุดท้ายได้จากไอคอน EA มุมขวาบนของชาร์ตว่าแสดงเป็นสีหรือไม่ หากไอคอนแสดงเป็นสีแล้วแต่ยังไม่เข้าออเดอร์ มีความเป็นไปได้สูงว่าไม่ใช่ปัญหาเรื่อง Auto Trading แต่เป็นเพราะเงื่อนไขการเข้าออเดอร์ของ EA ยังไม่ตรงตามที่กำหนด (ตรวจสอบ log ในแท็บ Experts)
Q: 10027 กับ 10026 ต่างกันอย่างไร
10027 (TRADE_RETCODE_CLIENT_DISABLES_AT) คือสถานะที่ เครื่อง MT5 ของคุณ เป็นตัวปิด Auto Trading ซึ่งแก้ไขได้ด้วยการเปลี่ยนการตั้งค่าในเครื่อง ส่วน 10026 (TRADE_RETCODE_SERVER_DISABLES_AT) คือสถานะที่ เซิร์ฟเวอร์ของโบรกเกอร์ ปิดกั้น Auto Trading ในระดับบัญชี ซึ่งไม่สามารถแก้ไขได้จากฝั่งเครื่อง ต้องสอบถามโบรกเกอร์ว่าประเภทบัญชีของคุณใช้ EA ได้หรือไม่
Q: เมื่อวานยังใช้งานได้อยู่เลย แต่จู่ๆ Auto Trading ก็กลายเป็น OFF ไปเอง
มีความเป็นไปได้สูงว่าสาเหตุมาจากเช็คบ็อกซ์ประเภท "ปิดใช้งาน Algorithmic Trading เมื่อสลับบัญชี / เมื่อสลับโปรไฟล์" ใน Options (Tools → Options → Expert Advisors) นอกจากนี้ยังมีกรณีที่ปุ่มเปิดขึ้นมาเป็น OFF หลังจากอัปเดต MT5 ด้วย หากใช้งานบน VPS ควรใส่การตรวจสอบหลังรีสตาร์ทไว้เป็นขั้นตอนประจำเสมอ
Q: สั่งซื้อขายแบบ manual ทำได้ปกติ แต่ EA สั่งซื้อขายไม่ได้
หากสั่งแบบ manual ได้ปกติ แสดงว่าบัญชียังใช้งานได้อยู่ ปัญหาน่าจะอยู่ที่การตั้งค่า EA รายชาร์ต (แท็บ General) หรือปุ่ม Algo Trading บน toolbar เป็น OFF เนื่องจากการสั่งซื้อขายแบบ manual ไม่เกี่ยวข้องกับการอนุญาต "Algo Trading" อาการนี้จึงบ่งชี้อย่างชัดเจนว่าเป็นการปิดใช้งานในเลเยอร์ของ Auto Trading หากตรวจสอบแล้วยังไม่หายและขึ้น 10026 แสดงว่าโบรกเกอร์จำกัดการใช้ EA ของบัญชีนี้อยู่
บทความที่เกี่ยวข้อง
📧 แจ้งเตือนก่อนขึ้นราคา + คอร์สอีเมลฟรี 5 วัน
EA ทั้งหมดจำหน่ายในราคาเปิดตัวและจะปรับขึ้นเป็นขั้นตามยอดขาย รับการแจ้งเตือนก่อนการขึ้นราคาแต่ละครั้ง พร้อมอีเมลรายวันเกี่ยวกับการเทรดอัตโนมัติ การอ่านแบ็กเทสต์ และการเลือกโบรกเกอร์
* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา