สาเหตุและวิธีแก้เมื่อ EA บน MT5 ไม่ทำงานหรือไม่เข้าออเดอร์
สารบัญ
- ① EA ไม่เริ่มทำงาน (ไม่มีสัญลักษณ์หน้ายิ้มขึ้น)
- 1-1. ปุ่มเทรดอัตโนมัติ (AutoTrading) ปิดอยู่
- 1-2. EA ไม่ได้ถูกติดตั้งลงบนกราฟอย่างถูกต้อง
- 1-3. ยังไม่ได้ตั้งค่า URL ที่อนุญาตสำหรับ WebRequest (สำหรับ EA ที่มีระบบยืนยันไลเซนส์)
- 1-4. INIT_FAILED เนื่องจากบัญชีหรือสัญลักษณ์ที่ไม่รองรับ
- ② EA เริ่มทำงานแล้วแต่ไม่เข้าออเดอร์ (มีสัญลักษณ์หน้ายิ้มแต่ไม่เทรด)
- 2-1. ยังไม่มีสัญญาณเข้าออเดอร์ (ปกติ)
- 2-2. ถูกฟิลเตอร์บล็อกไม่ให้เข้าออเดอร์ใหม่
- 2-3. คำสั่งถูกปฏิเสธเนื่องจากมาร์จิ้นไม่พอ
- 2-4. ตลาดปิดอยู่ / ไม่มีราคาเข้ามา
- 2-5. ค่าล็อตที่คำนวณได้เท่ากับ 0 หรือต่ำกว่าค่าต่ำสุด
- เช็คลิสต์สำหรับแยกสาเหตุ
- สรุป
- คำถามที่พบบ่อย
- ถาม: มีสัญลักษณ์หน้ายิ้มขึ้นแล้ว แต่ไม่เคยเข้าออเดอร์เลยสักครั้ง แสดงว่าเสียหรือเปล่า?
- ถาม: ขึ้นข้อความ "WebRequest is not allowed"
- ถาม: ใช้งานบน VPS แล้วหยุดทำงานหลังรีสตาร์ท
- ถาม: ตอน backtest มีการเทรด แต่พอใช้งานจริงกลับไม่เทรด
สาเหตุและวิธีแก้เมื่อ EA บน MT5 ไม่ทำงานหรือไม่เข้าออเดอร์
ใส่ EA เข้าไปในกราฟแล้วแต่ไม่มีอะไรเกิดขึ้น—อาการแบบนี้ ให้เริ่มจากการแยกก่อนว่าเป็นกรณี "① EA ไม่เริ่มทำงานตั้งแต่แรก" หรือ "② EA เริ่มทำงานแล้วแต่ไม่เข้าออเดอร์" วิธีสังเกตนั้นง่ายมาก
ดูที่ข้าง ๆ ชื่อ EA มุมขวาบนของกราฟ
- 😐 สัญลักษณ์หน้ายิ้ม = EA ทำงานเป็นปกติ → ไปที่ข้อ ②
- ✖ หรือ 🚫 หรือไม่มีสัญลักษณ์ใด ๆ = EA ยังไม่เริ่มทำงาน → ไปที่ข้อ ①
บทความนี้จะเรียงสาเหตุของทั้งข้อ ① และ ② ตามลำดับที่พบบ่อยที่สุด หากมี error code ขึ้นมา ให้อ่านเพิ่มเติมที่ คู่มือรวมวิธีแก้ error code ของ MQL5 / MT5 และหากเป็น ERR_NO_MONEY ให้ดู วิธีแก้ ERR_NO_MONEY (MT5/MQL5) แบบครบถ้วน
① EA ไม่เริ่มทำงาน (ไม่มีสัญลักษณ์หน้ายิ้มขึ้น)
1-1. ปุ่มเทรดอัตโนมัติ (AutoTrading) ปิดอยู่
สาเหตุที่พบบ่อยที่สุด แม้ว่าจะมีสัญลักษณ์หน้ายิ้มขึ้นบนกราฟแล้ว แต่ถ้าปุ่ม "AutoTrading" บน toolbar เป็นสีแดง (OFF) EA จะไม่ทำการเทรด
วิธีแก้:
- คลิกปุ่ม "AutoTrading" บน toolbar ด้านบนของ MT5 ให้เปลี่ยนเป็นสีเขียว (ON)
- ไปที่ Tools → Options → Expert Advisors → ติ๊กเลือก "Allow algorithmic trading"
- ตรวจสอบว่ามุมขวาบนของกราฟขึ้นสัญลักษณ์ 😐 (หน้ายิ้ม)
หลังจากรีสตาร์ท VPS หรือเมื่อ MT5 เปิดขึ้นมาอัตโนมัติ มักจะพบว่าปุ่มนี้กลับไปเป็น OFF อยู่บ่อยครั้ง
1-2. EA ไม่ได้ถูกติดตั้งลงบนกราฟอย่างถูกต้อง
ลองเปิด Navigator (Ctrl+N) ไปที่ "Expert Advisors" แล้วดับเบิลคลิกหรือลากวาง EA ลงบนกราฟ จากนั้นกดปุ่ม "OK" ในไดอะล็อกที่ขึ้นมา ได้ทำครบขั้นตอนนี้แล้วหรือยัง หาก EA มี compile error จะไม่สามารถติดตั้งลงกราฟได้ ให้เปิดใน MetaEditor แล้วคอมไพล์ (F7) เพื่อยืนยันว่ามี error เท่ากับ 0
1-3. ยังไม่ได้ตั้งค่า URL ที่อนุญาตสำหรับ WebRequest (สำหรับ EA ที่มีระบบยืนยันไลเซนส์)
เป็นปัญหาที่พบบ่อยเป็นพิเศษกับ EA ที่ต้องยืนยันตัวตนกับเซิร์ฟเวอร์ รวมถึง EA ของ fxea365 ด้วย EA ที่ต้องยืนยันไลเซนส์หรือสื่อสารกับภายนอก หากไม่ได้อยู่ใน URL ที่อนุญาตไว้ WebRequest() จะถูกบล็อกและ EA จะหยุดทำงานตั้งแต่ขั้นตอน OnInit
วิธีแก้:
- ไปที่ Tools → Options → แท็บ Expert Advisors
- ติ๊กเลือก "Allow WebRequest for listed URL:"
- เพิ่ม URL ที่ EA ต้องการเข้าไปในรายการ (สำหรับ EA ของ fxea365 คือ
https://fxea365.com) แล้วรีสตาร์ท EA
หากในแท็บ Experts มีข้อความ "WebRequest is not allowed" หรือ error เกี่ยวกับการยืนยันตัวตน นี่คือสาเหตุ หลังจากอนุญาตแล้ว หากมี log [License ✅ Authentication OK] ขึ้นมา ถือว่าสำเร็จ
1-4. INIT_FAILED เนื่องจากบัญชีหรือสัญลักษณ์ที่ไม่รองรับ
- EA ที่มีระบบยืนยันไลเซนส์ จะหยุดทำงานด้วย
INIT_FAILEDหากไม่ใช่บัญชีที่ลงทะเบียนไว้ (สำหรับ EA ของ fxea365 ต้องลงทะเบียนหมายเลขบัญชีบนเว็บไซต์ก่อนเริ่มใช้งาน) - EA บางตัวจะแสดงคำเตือนหากนำไปใช้กับสัญลักษณ์ที่ไม่รองรับ (เช่น นำ EA สำหรับ GOLD ไปใช้กับ EURUSD)
② EA เริ่มทำงานแล้วแต่ไม่เข้าออเดอร์ (มีสัญลักษณ์หน้ายิ้มแต่ไม่เทรด)
หากมีสัญลักษณ์หน้ายิ้มขึ้นแล้ว แต่ไม่มีการเปิดโพซิชันใหม่ ส่วนใหญ่แล้วเป็นการทำงานปกติที่ "ไม่ใช่ error แต่ EA กำลังพิจารณาว่ายังไม่เข้าเงื่อนไขการเข้าออเดอร์ในขณะนี้" มาตรวจสอบทีละข้อกัน
2-1. ยังไม่มีสัญญาณเข้าออเดอร์ (ปกติ)
EA จะประเมิน "เงื่อนไขครบหรือยัง" ในทุก ๆ tick และจะเข้าออเดอร์เฉพาะเมื่อเงื่อนไขครบเท่านั้น สำหรับ EA ที่ใช้ timeframe H1 ความถี่ประมาณ 1-3 ครั้งต่อวันถือเป็นเรื่องปกติ หากในแท็บ Experts มี log ทำนองนี้ขึ้นมา แสดงว่ากำลังอยู่ในสถานะรอที่ปกติ
No signal on this bar. ATR=12.4, EMA(50)=1998.23
⏳ Wait for next bar
แม้จะไม่มีการเข้าออเดอร์เป็นเวลาหลายชั่วโมงหรือทั้งวัน ก็ไม่ถือว่าผิดปกติ ให้ลองทำ backtest (Strategy Tester) ในช่วงเวลาเดียวกันเพื่อตรวจสอบว่า EA มีการเทรดหรือไม่ วิธีนี้จะช่วยแยกได้ว่า EA "เสีย" หรือแค่ "สภาพตลาดยังไม่เข้าเงื่อนไข"
2-2. ถูกฟิลเตอร์บล็อกไม่ให้เข้าออเดอร์ใหม่
EA หลายตัวมีระบบป้องกันที่จะข้ามการเข้าออเดอร์ใหม่ ซึ่งควรมีเหตุผลของการข้ามแสดงอยู่ใน log ของแท็บ Experts
| ตัวอย่าง log | สาเหตุ | วิธีแก้ |
|---|---|---|
⏸News stop / News filter | หลีกเลี่ยงช่วงก่อน-หลังข่าวสำคัญ | จะกลับมาทำงานอัตโนมัติหลังข่าวผ่านไป (ปกติ) |
Spread too high | สเปรดเกินค่าที่กำหนด | ปรับค่า MaxSpread / ช่วงข่าวถือเป็นปกติ |
Margin level too low | Margin Level ต่ำกว่าเกณฑ์ | ฝากเงินเพิ่ม หรือลดล็อต (ดู ERR_NO_MONEY) |
Outside trading hours | ฟิลเตอร์เวลาเทรด | ตรวจสอบ TradeStartHour/EndHour |
Max positions reached | ถึงจำนวนโพซิชันสูงสุดแล้ว | ปิดโพซิชันที่ถืออยู่ หรือปรับค่าสูงสุดใหม่ |
เหล่านี้คือการทำงานป้องกันตามที่ออกแบบไว้ ไม่ใช่ความเสียหาย
2-3. คำสั่งถูกปฏิเสธเนื่องจากมาร์จิ้นไม่พอ
กรณีที่พยายามเข้าออเดอร์แต่ถูกเซิร์ฟเวอร์ปฏิเสธด้วย ERR_NO_MONEY (134/10019) สาเหตุอาจมาจากล็อตใหญ่เกินไปเมื่อเทียบกับยอดคงเหลือ, เลเวอเรจต่ำ, หรือมาร์จิ้นถูกกันไว้จากโพซิชันที่มีอยู่แล้ว ดูรายละเอียดเพิ่มเติมที่ วิธีแก้ ERR_NO_MONEY แบบครบถ้วน
2-4. ตลาดปิดอยู่ / ไม่มีราคาเข้ามา
ในช่วงวันหยุดสุดสัปดาห์ วันหยุดนักขัตฤกษ์ หรือนอกเวลาเทรดของสัญลักษณ์นั้น ๆ จะไม่สามารถเข้าออเดอร์ได้ (Market closed) ให้ตรวจสอบว่าราคา (Bid/Ask) มีการอัปเดตอยู่หรือไม่ และสถานะการเชื่อมต่อที่มุมล่างของ MT5 เป็นสีเขียวหรือไม่
2-5. ค่าล็อตที่คำนวณได้เท่ากับ 0 หรือต่ำกว่าค่าต่ำสุด
ในกรณีที่คำนวณล็อตอัตโนมัติจาก % ความเสี่ยง หากยอดคงเหลือน้อยเกินไปจนล็อตต่ำกว่าค่าต่ำสุด (0.01) จะไม่มีการส่งคำสั่ง ให้ลองเปลี่ยนไปใช้ล็อตคงที่ หรือพิจารณาเปลี่ยนประเภทบัญชี (เช่น บัญชีเซนต์)
เช็คลิสต์สำหรับแยกสาเหตุ
| จุดตรวจสอบ | สถานะที่ถูกต้อง |
|---|---|
| การแสดงผล EA มุมขวาบนของกราฟ | 😐 หน้ายิ้ม (=เริ่มทำงานปกติ) |
| ปุ่ม "AutoTrading" บน toolbar | สีเขียว (ON) |
| Options → Expert Advisors → Allow algorithmic trading | ติ๊กแล้ว |
| URL ที่อนุญาตสำหรับ WebRequest (EA ที่มีระบบยืนยันไลเซนส์) | เพิ่ม URL ที่ EA ต้องการแล้ว |
| การคอมไพล์ใน MetaEditor | error เท่ากับ 0 |
| แท็บ Experts | ไม่มี error มีแต่เหตุผลของการข้าม หรือ License ✅ |
| บัญชี / สัญลักษณ์ | บัญชีที่ลงทะเบียนแล้ว / สัญลักษณ์ที่รองรับ |
| มาร์จิ้น | มาร์จิ้นคงเหลือ > มาร์จิ้นที่ต้องใช้ |
หากไล่ตรวจตามลำดับด้านบน แทบทุกกรณีของ "ไม่ทำงาน / ไม่เข้าออเดอร์" จะสามารถแก้ไขได้
สรุป
- ก่อนอื่นให้แยกด้วย การมีหรือไม่มีสัญลักษณ์หน้ายิ้ม 😐 ว่าเป็นกรณี "ไม่เริ่มทำงาน" หรือ "เริ่มทำงานแล้ว"
- ไม่เริ่มทำงาน = หนึ่งในสาเหตุต่อไปนี้ AutoTrading ปิดอยู่, มี compile error, ยังไม่ได้อนุญาต WebRequest, หรือบัญชีไม่ได้ลงทะเบียน
- ไม่เข้าออเดอร์ = ส่วนใหญ่เป็นการรอสัญญาณ หรือการข้ามที่เกิดจากฟิลเตอร์ตามปกติ หากมี error เกิดขึ้นจริง ให้แก้ไขตาม คู่มือ error code หรือ ERR_NO_MONEY
สำหรับขั้นตอนการติดตั้งโดยตรง ดูได้ที่ คู่มือติดตั้ง EA บน MT5 แบบครบถ้วน และสำหรับ EA ฟรีที่ใช้เงินทุนไม่มากก็ทำงานได้ ดูได้ที่ รายชื่อ EA หากตรวจสอบการตั้งค่าแล้วยังไม่หาย กรุณาแนบภาพหน้าจอ log จากแท็บ Experts แล้วติดต่อฝ่ายซัพพอร์ต
คำถามที่พบบ่อย
ถาม: มีสัญลักษณ์หน้ายิ้มขึ้นแล้ว แต่ไม่เคยเข้าออเดอร์เลยสักครั้ง แสดงว่าเสียหรือเปล่า?
ส่วนใหญ่แล้วเป็นเรื่องปกติ EA จะเข้าออเดอร์เฉพาะเมื่อเงื่อนไขครบเท่านั้น ให้ลองตรวจสอบด้วย backtest ว่ามีการเทรดในช่วงเวลาเดียวกันหรือไม่ และดูว่าในแท็บ Experts มีเหตุผลของการข้าม (เช่น หยุดเพราะข่าว, สเปรดเกินกำหนด) หรือไม่ หากไม่มี error และมีเหตุผลของการข้ามปรากฏอยู่ แสดงว่าเป็นไปตามการออกแบบ
ถาม: ขึ้นข้อความ "WebRequest is not allowed"
ให้ไปที่ Options → Expert Advisors แล้วเพิ่ม URL ที่ EA ต้องการ (สำหรับ EA ของ fxea365 คือ https://fxea365.com) เข้าไปใน "Allow WebRequest for listed URL:" จากนั้นรีสตาร์ท EA การตั้งค่านี้จำเป็นสำหรับ EA ที่ใช้ระบบยืนยันตัวตนหรือดึงข้อมูลจากภายนอก
ถาม: ใช้งานบน VPS แล้วหยุดทำงานหลังรีสตาร์ท
เมื่อ MT5 เปิดขึ้นมาอัตโนมัติ ปุ่ม "AutoTrading" อาจกลับไปเป็น OFF ได้ ให้ตรวจสอบหลังรีสตาร์ทว่าปุ่มเป็นสีเขียวหรือไม่ และการอนุญาต algorithmic trading ใน Options เปิดใช้งานอยู่หรือไม่
ถาม: ตอน backtest มีการเทรด แต่พอใช้งานจริงกลับไม่เทรด
เกิดจากสเปรด, เลเวอเรจ, ประเภทบัญชี, หรือเวลาเทรดของบัญชีจริงที่แตกต่างจากค่าที่ตั้งไว้ตอนทดสอบ ให้ตรวจสอบฟิลเตอร์ (สเปรดสูงสุด, เวลาเทรด), มาร์จิ้น และตรวจสอบว่าตลาดเปิดอยู่หรือไม่ ตามลำดับ
บทความที่เกี่ยวข้อง
📧 แจ้งเตือนก่อนขึ้นราคา + คอร์สอีเมลฟรี 5 วัน
EA ทั้งหมดจำหน่ายในราคาเปิดตัวและจะปรับขึ้นเป็นขั้นตามยอดขาย รับการแจ้งเตือนก่อนการขึ้นราคาแต่ละครั้ง พร้อมอีเมลรายวันเกี่ยวกับการเทรดอัตโนมัติ การอ่านแบ็กเทสต์ และการเลือกโบรกเกอร์
* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา