หน้าหลัก > บล็อก > คู่มือรหัสข้อผิดพลาด MQL5 / MT5 — รายการ ERR_NO_MONEY และ ERR_TRADE_DISABLED

MT5MQL5รหัสข้อผิดพลาดแก้ปัญหาEAล็อก

คู่มือรหัสข้อผิดพลาด MQL5 / MT5 — รายการ ERR_NO_MONEY และ ERR_TRADE_DISABLED

เผยแพร่: 2026-05-18เวลาอ่าน: ประมาณ 2 นาที
This article reflects information as of its publish date. EA performance figures (PF, DD, annual return) change with live trading and re-validation — check the latest on the EA pages. See the latest EA results

คู่มือรหัสข้อผิดพลาด MQL5 / MT5 — รายการ ERR_NO_MONEY และ ERR_TRADE_DISABLED

เมื่อแท็บ Expert ของ MT5 แสดงรหัสข้อผิดพลาด MQL5 อย่าง ERR_NO_MONEY หรือ ERR_TRADE_DISABLED อาจทำให้กังวลใจ แต่ส่วนใหญ่แล้วสาเหตุและวิธีแก้ไขนั้นชัดเจนมาก บทความนี้รวบรวมรหัสข้อผิดพลาดหลักที่เกิดขึ้นจริงระหว่างใช้งาน EA และวิธีแก้ปัญหาสำหรับแต่ละรหัส

วิธีตรวจสอบแท็บ Expert

คลิกแท็บ "Expert" ที่ด้านล่างของ MT5 เพื่อดูล็อกของ EA ทั้งหมดเรียงตามเวลา

รูปแบบการแสดงผล:
2026.05.18 10:00:01.234  GOLD EMA ATR EA XAUUSD,H1: [ERROR] 130

วันที่/เวลา   ชื่อ EA        คู่สกุลเงิน  ไทม์เฟรม  ข้อความ

หากมีข้อผิดพลาดปรากฏขึ้น ให้ระบุสาเหตุจากหมายเลขรหัสข้อผิดพลาดนั้น


รหัสข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

ERR_NO_MONEY (รหัสข้อผิดพลาด 134)

ตัวอย่างข้อความ: "Order failed: not enough money"
                 "ERR_NO_MONEY"

สาเหตุ: มาร์จิ้นไม่เพียงพอจึงไม่สามารถเปิดโพซิชันได้

วิธีแก้ไข:

  1. ตรวจสอบอัตรามาร์จิ้นปัจจุบันในแท็บ "Trade" ของ MT5
  2. หากอัตรามาร์จิ้นใกล้ 100% ให้พิจารณาเติมเงินเพิ่ม
  3. ลด RiskPercent ใน EA เพื่อลดขนาดล็อต
  4. ปิดโพซิชันที่ถือไว้บางส่วนด้วยตนเองเพื่อคืนมาร์จิ้น

ERR_TRADE_DISABLED (รหัสข้อผิดพลาด 4109)

ตัวอย่างข้อความ: "Trade is not allowed"
                 "AutoTrading disabled"

สาเหตุ: การเทรดอัตโนมัติของ MT5 ถูกปิดอยู่

วิธีแก้ไข:

  1. คลิกปุ่ม "AutoTrading" บนแถบเครื่องมือด้านบนของ MT5 ให้เป็น ON (สีเขียว)
  2. ไปที่ Tools → Options → Expert Advisors → เปิดใช้งาน "Allow automated trading" แล้วรีสตาร์ท

ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อ MT5 เริ่มต้นอัตโนมัติหลังจาก VPS รีสตาร์ท


ERR_MARKET_CLOSED (รหัสข้อผิดพลาด 132)

ตัวอย่างข้อความ: "Market is closed"

สาเหตุ: EA พยายามเปิดออเดอร์นอกเวลาทำการ (วันหยุดสุดสัปดาห์หรือวันหยุดนักขัตฤกษ์)

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


ERR_INVALID_STOPS (รหัสข้อผิดพลาด 130)

ตัวอย่างข้อความ: "Invalid stops"
                 "Stop level violation"

สาเหตุ: ค่า SL (Stop Loss) หรือ TP (Take Profit) ที่ตั้งไว้ขัดกับข้อกำหนดระดับสต็อปของโบรกเกอร์

วิธีแก้ไข:

  1. ตรวจสอบ Stop Level (ระยะ SL ขั้นต่ำ) ของโบรกเกอร์ (คลิกขวาที่สัญลักษณ์ใน MT5 → Specification → ช่อง "Stop Level")
  2. ตรวจสอบว่าระยะ SL ของ EA กว้างกว่า Stop Level หรือไม่
  3. ปัญหานี้มักเกิดขึ้นในช่วงที่ค่า ATR ต่ำมาก (ความผันผวนต่ำ)

ERR_OFF_QUOTES (รหัสข้อผิดพลาด 136)

ตัวอย่างข้อความ: "Off quotes"

สาเหตุ: ไม่ได้รับราคาจากเซิร์ฟเวอร์โบรกเกอร์ มีปัญหาการเชื่อมต่อ

วิธีแก้ไข:

  1. ตรวจสอบสถานะการเชื่อมต่อในแถบสถานะด้านล่างของ MT5
  2. หากหลุดการเชื่อมต่อ ให้รีสตาร์ท MT5
  3. ตรวจสอบข้อมูลเซิร์ฟเวอร์ขัดข้องจากโบรกเกอร์
  4. ตรวจสอบการเชื่อมต่อเครือข่ายของ VPS

ERR_TRADE_TIMEOUT (รหัสข้อผิดพลาด 128)

ตัวอย่างข้อความ: "Trade timeout"

สาเหตุ: ออเดอร์หมดเวลา เกิดจากเซิร์ฟเวอร์โหลดสูงหรือความล่าช้าของเครือข่าย

วิธีแก้ไข:

  1. มักเกิดขึ้นในช่วงเวลาโหลดสูง เช่น ทันทีหลังประกาศตัวเลขเศรษฐกิจสำคัญ
  2. โดยพื้นฐานแล้ว EA จะลองใหม่อีกครั้งในติ๊กถัดไป จึงสามารถปล่อยทิ้งไว้ได้
  3. หากเกิดขึ้นบ่อยครั้ง ให้ตรวจสอบสภาพแวดล้อมเครือข่ายของ VPS หรือเปลี่ยนโบรกเกอร์

TRADE_RETCODE_REJECT (รหัสส่งคืน 10006)

ตัวอย่างข้อความ: "Request rejected"

สาเหตุ: ออเดอร์ถูกโบรกเกอร์ปฏิเสธ เนื่องจากสเปรดเกินกำหนดหรือราคาเคลื่อนไหวมากเกินไป

วิธีแก้ไข:

  1. ตรวจสอบค่า MaxSpreadPoints ที่ตั้งไว้ ปัญหานี้มักเกิดขึ้นเมื่อสเปรดกว้างขึ้น
  2. หลังประกาศตัวเลขเศรษฐกิจ ถือว่าเป็นการทำงานปกติและสามารถเพิกเฉยได้
  3. หากเกิดขึ้นบ่อยครั้ง ให้เพิ่มค่า MaxSpreadPoints ขึ้นเล็กน้อย

"Margin level too low"

ตัวอย่างข้อความ: "Margin level too low. Skip signal."

สาเหตุ: ด้วยการตั้งค่า UseMarginCheck = true ใน EA เมื่ออัตรามาร์จิ้นต่ำกว่า MinMarginLevel (เช่น 200%) EA จะหยุดเปิดออเดอร์อัตโนมัติ

วิธีแก้ไข:

  1. นี่คือการทำงานป้องกันปกติ (ไม่ใช่ข้อผิดพลาด)
  2. เมื่ออัตรามาร์จิ้นฟื้นตัว EA จะกลับมาเปิดออเดอร์อีกครั้ง
  3. วิธีแก้ที่ต้นเหตุ: เติมเงินเพิ่มหรือลด RiskPercent

"No signal on this bar" หรือ "Wait for next bar"

นี่ไม่ใช่ข้อผิดพลาด แต่เป็นข้อมูลดีบักปกติ

"No signal. ATR=1245, EMA(50)=1998.23"

EA ประเมินแผนภูมิทุกครั้งและแสดงล็อกปกติว่า "ครั้งนี้ไม่ตรงเงื่อนไขการเข้าออเดอร์"


การจัดลำดับความสำคัญของข้อผิดพลาด

ความสำคัญข้อผิดพลาดการดำเนินการ
🚨 เร่งด่วนERR_NO_MONEY (134)เติมมาร์จิ้นทันที
🚨 เร่งด่วนERR_TRADE_DISABLED (4109)เปิด AutoTrading
⚠️ ระวังERR_INVALID_STOPS (130)ตรวจสอบการตั้งค่า SL
⚠️ ระวังERR_OFF_QUOTES (136) เกิดบ่อยตรวจสอบสภาพแวดล้อมการเชื่อมต่อ
✅ ปกติERR_MARKET_CLOSED (132) เฉพาะวันหยุดสุดสัปดาห์ปล่อยทิ้งไว้
✅ ปกติERR_TRADE_TIMEOUT (128) เป็นครั้งคราวปล่อยทิ้งไว้
✅ ปกติMargin level too lowการทำงานปกติเมื่อมาร์จิ้นต่ำ

วิธีตรวจสอบล็อกในแท็บ Expert อย่างมีประสิทธิภาพ

การกรองล็อก

คลิกขวาในแท็บ Expert → "Filter" เพื่อแสดงเฉพาะ EA หรือข้อผิดพลาดที่ต้องการ

ตำแหน่งไฟล์ล็อก

ไฟล์ล็อกของ MT5 ถูกบันทึกที่:

C:\Users\[ชื่อผู้ใช้]\AppData\Roaming\MetaQuotes\Terminal\[ID]\MQL5\Logs\

ไฟล์จะถูกสร้างอัตโนมัติตามวันที่ เมื่อต้องการตรวจสอบข้อผิดพลาด ให้เปิดโฟลเดอร์นี้


สรุป

ข้อผิดพลาดส่วนใหญ่ของ EA แบ่งออกเป็น 4 หมวดหมู่:

  1. มาร์จิ้นไม่เพียงพอ: แก้ได้โดยเติมเงินหรือลดขนาดล็อต
  2. AutoTrading ปิดอยู่: แค่คลิกปุ่มก็แก้ได้
  3. ปัญหาการเชื่อมต่อ: รีสตาร์ท MT5 หรือตรวจสอบเครือข่าย VPS
  4. การทำงานปกติ: ปล่อยทิ้งไว้ได้ (ตลาดปิดวันหยุดสุดสัปดาห์, หลีกเลี่ยงสเปรดกว้าง เป็นต้น)

ตรวจสอบแท็บ Expert ทุกวันและสร้างนิสัยในการตรวจจับข้อผิดพลาดที่เร่งด่วน (134 และ 4109) อย่างรวดเร็ว


คำถามที่พบบ่อย

Q: ค้นหารหัสข้อผิดพลาดได้ที่ไหน?

สามารถดูรายการรหัสข้อผิดพลาดทั้งหมดได้ที่เอกสารทางการของ MQL5 (mql5.com) นอกจากนี้ยังสามารถค้นหาได้จากความช่วยเหลือของ MT5 (กดปุ่ม F1)

Q: เมื่อมีข้อผิดพลาดจำนวนมาก ควรหยุด EA หรือไม่?

หาก ERR_MARKET_CLOSED (132) หรือ ERR_TRADE_TIMEOUT (128) เกิดขึ้นเป็นครั้งคราว ไม่จำเป็นต้องหยุด EA อย่างไรก็ตาม หาก ERR_NO_MONEY (134) เกิดขึ้นซ้ำๆ ให้หยุด EA ชั่วคราวแล้วตรวจสอบสถานะมาร์จิ้นก่อนเริ่มใหม่

Q: มีข้อผิดพลาด "Invalid account" ขึ้นมา

ข้อมูลล็อกอิน MT5 (ชื่อเซิร์ฟเวอร์, Login ID, รหัสผ่าน) อาจไม่ถูกต้อง ลองล็อกอินใหม่ผ่าน File → Open an Account

Q: ไม่มีข้อผิดพลาด แต่ EA ไม่เปิดออเดอร์เลย

หากไม่มีข้อผิดพลาดและ EA ไม่เปิดออเดอร์ นั่นคือ "ไม่มีสัญญาณ ซึ่งเป็นสถานะปกติ" EA ไม่ได้เปิดออเดอร์ทุกแท่งเทียน แต่จะเปิดเฉพาะเมื่อเงื่อนไขครบถ้วนเท่านั้น ให้รอดูไปก่อน สำหรับ EA บนไทม์เฟรม H1 การเปิดออเดอร์ 1-3 ครั้งต่อวันถือว่าปกติ

คอร์สอีเมล 5 วัน (ฟรี)

รับอีเมลวันละหนึ่งฉบับครอบคลุมพื้นฐานการเทรด FX อัตโนมัติ วิธีอ่านแบ็คเทสต์อย่างถูกต้อง และเคล็ดลับเลือกโบรกเกอร์

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