MQL5 / MT5 오류 코드 대처법 — ERR_NO_MONEY·ERR_TRADE_DISABLED 목록
목차
- Expert 탭 확인 방법
- 자주 발생하는 오류 코드와 대처법
- ERR_NO_MONEY (오류 코드 134)
- ERR_TRADE_DISABLED (오류 코드 4109)
- ERR_MARKET_CLOSED (오류 코드 132)
- ERR_INVALID_STOPS (오류 코드 130)
- ERR_OFF_QUOTES (오류 코드 136)
- ERR_TRADE_TIMEOUT (오류 코드 128)
- TRADE_RETCODE_REJECT (리턴 코드 10006)
- "Margin level too low"
- "No signal on this bar" 또는 "Wait for next bar"
- 오류 우선순위 분류
- Expert 탭 로그를 효율적으로 확인하는 방법
- 로그 필터링
- 로그 파일 저장 위치
- 정리
- FAQ
- Q: 오류 코드는 어디서 찾을 수 있나요?
- Q: 오류가 대량으로 발생할 때 EA를 중지해야 하나요?
- Q: "Invalid account" 오류가 발생합니다.
- Q: 오류가 없는데도 EA가 진입하지 않습니다.
MQL5 / MT5 오류 코드 대처법 — ERR_NO_MONEY·ERR_TRADE_DISABLED 목록
MT5의 Expert 탭에 ERR_NO_MONEY·ERR_TRADE_DISABLED 같은 MQL5 오류가 표시되면 당황스럽지만, 대부분의 경우 원인과 해결책이 명확합니다. 이 글에서는 EA 운용 중 실제로 자주 발생하는 주요 오류 코드와 그 해결 방법을 정리합니다.
Expert 탭 확인 방법
MT5 하단의 "Expert" 탭을 클릭하면 모든 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"
원인: 증거금이 부족하여 포지션을 열 수 없는 상태입니다.
대처법:
- MT5의 "거래" 탭에서 현재 증거금 유지율을 확인합니다
- 유지율이 100%에 근접하거나 이하인 경우 추가 입금을 검토합니다
- EA의 RiskPercent를 낮춰 거래 로트를 줄입니다
- 보유 중인 포지션 일부를 수동으로 청산하여 증거금을 회수합니다
ERR_TRADE_DISABLED (오류 코드 4109)
메시지 예시: "Trade is not allowed"
"AutoTrading disabled"
원인: MT5의 자동 매매가 OFF 상태입니다.
대처법:
- MT5 상단 툴바의 "자동 매매" 버튼을 클릭하여 ON(녹색)으로 전환합니다
- 도구 → 옵션 → 전문가 어드바이저 → "자동 매매 허용"을 ON으로 설정한 뒤 재시작합니다
VPS 재시작 후 MT5가 자동으로 실행될 때 이 오류가 자주 발생합니다.
ERR_MARKET_CLOSED (오류 코드 132)
메시지 예시: "Market is closed"
원인: 거래 시간 외(주말·공휴일)에 EA가 진입을 시도했습니다.
대처법: 대개는 문제가 없습니다. 주말 토요일 00:00 ~ 일요일 17:00경(서버 시간)은 시장이 닫혀 있습니다. 이 시간대에 진입을 시도하면 이 오류가 발생하지만, 월요일에 자동으로 재개됩니다.
ERR_INVALID_STOPS (오류 코드 130)
메시지 예시: "Invalid stops"
"Stop level violation"
원인: SL(스탑로스) 또는 TP(테이크프로핏) 설정값이 브로커의 스탑 레벨 제한에 걸렸습니다.
대처법:
- 브로커의 스탑 레벨(최소 SL 거리)을 확인합니다 (MT5에서 심볼 우클릭 → 사양 → "스탑 레벨" 항목)
- EA의 SL 폭이 스탑 레벨보다 크게 설정되어 있는지 확인합니다
- ATR 값이 극도로 작은 시간대(낮은 변동성 시)에 발생하기 쉽습니다
ERR_OFF_QUOTES (오류 코드 136)
메시지 예시: "Off quotes"
원인: 브로커 서버에서 호가가 수신되지 않는 상태입니다. 연결 문제입니다.
대처법:
- MT5 하단 상태 표시줄에서 연결 상태를 확인합니다
- 연결이 끊어진 경우 MT5를 재시작합니다
- 브로커의 서버 장애 정보를 확인합니다
- VPS의 네트워크 연결을 확인합니다
ERR_TRADE_TIMEOUT (오류 코드 128)
메시지 예시: "Trade timeout"
원인: 주문이 타임아웃됐습니다. 서버 과부하 또는 네트워크 지연이 원인입니다.
대처법:
- 주요 경제 지표 발표 직후 등 고부하 시간대에 발생하기 쉽습니다
- 기본적으로 다음 틱에서 EA가 재시도하므로 그냥 두어도 됩니다
- 빈번하게 발생하는 경우 VPS의 네트워크 환경 또는 브로커를 재검토하세요
TRADE_RETCODE_REJECT (리턴 코드 10006)
메시지 예시: "Request rejected"
원인: 주문이 브로커에 의해 거부됐습니다. 스프레드 초과·가격 급변 등이 원인입니다.
대처법:
- MaxSpreadPoints 설정값을 확인합니다. 스프레드가 확대될 때 발생하기 쉽습니다
- 경제 지표 발표 직후에는 정상적인 동작으로 무시해도 됩니다
- 빈번하게 발생하는 경우 MaxSpreadPoints를 약간 높여 보세요
"Margin level too low"
메시지 예시: "Margin level too low. Skip signal."
원인: EA의 UseMarginCheck = true 설정에서 증거금 유지율이 MinMarginLevel(예: 200%)을 밑돌아 자동으로 신규 진입을 정지한 상태입니다.
대처법:
- 이것은 정상적인 보호 동작입니다 (오류가 아닙니다)
- 증거금 유지율이 회복되면 진입이 재개됩니다
- 근본적인 해결책: 추가 입금 또는 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) | 자동 매매를 ON으로 전환 |
| 주의 | ERR_INVALID_STOPS (130) | SL 설정을 재검토 |
| 주의 | ERR_OFF_QUOTES (136)가 빈번히 발생 | 연결 환경 확인 |
| 정상 | ERR_MARKET_CLOSED (132) 주말만 | 그대로 두어도 OK |
| 정상 | ERR_TRADE_TIMEOUT (128) 간헐적 | 그대로 두어도 OK |
| 정상 | Margin level too low | 증거금이 낮을 때 정상 동작 |
Expert 탭 로그를 효율적으로 확인하는 방법
로그 필터링
Expert 탭 내에서 우클릭 → "필터"를 통해 특정 EA 또는 오류만 표시할 수 있습니다.
로그 파일 저장 위치
MT5 로그 파일은 다음 경로에 저장됩니다:
C:\Users\[사용자명]\AppData\Roaming\MetaQuotes\Terminal\[ID]\MQL5\Logs\
날짜별 파일이 자동으로 생성됩니다. 오류 조사 시 이 폴더를 열어 확인하세요.
정리
EA 오류의 대부분은 다음 4가지 카테고리로 분류됩니다:
- 증거금 부족: 추가 입금 또는 로트 축소로 해결
- 자동 매매 OFF: 버튼 클릭만으로 해결
- 연결 문제: MT5 재시작 또는 VPS 네트워크 확인
- 정상적인 동작: 그대로 두어도 OK (주말 시장 폐쇄, 스프레드 확대 시 회피 등)
Expert 탭을 매일 확인하여 긴급 오류(134·4109)를 신속하게 감지하는 습관을 들이세요.
FAQ
Q: 오류 코드는 어디서 찾을 수 있나요?
MQL5 공식 문서(mql5.com)에서 오류 코드 목록을 확인할 수 있습니다. 또한 MT5의 도움말(F1 키)에서도 검색할 수 있습니다.
Q: 오류가 대량으로 발생할 때 EA를 중지해야 하나요?
ERR_MARKET_CLOSED(132)나 ERR_TRADE_TIMEOUT(128)이 간헐적으로 발생하는 정도라면 중지할 필요는 없습니다. 단, ERR_NO_MONEY(134)가 반복적으로 발생하는 경우에는 EA를 일시 정지하고 증거금 상태를 확인한 뒤 재개하세요.
Q: "Invalid account" 오류가 발생합니다.
MT5의 로그인 정보(서버명·로그인 ID·비밀번호)가 잘못되었을 가능성이 있습니다. 파일 → 거래 계좌 열기에서 재로그인을 시도해 보세요.
Q: 오류가 없는데도 EA가 진입하지 않습니다.
오류 없이 진입이 없는 경우는 "신호가 발생하지 않은 정상 상태"입니다. EA는 모든 캔들에서 진입하는 것이 아닙니다. 조건이 충족될 때만 진입하므로 잠시 기다려보세요. H1 타임프레임의 EA라면 하루 1~3회 진입이 정상입니다.
관련 기사
5일간 이메일 강좌 (무료)
FX 자동매매의 본질, 백테스트의 올바른 해석, 브로커 선택 요령을 매일 1통 전해드립니다.
※ 개인정보는 엄격히 보호. 언제든 구독 해지 가능.