Claude Code로 EA 백테스트 에러 한방에 해결 - 하향 그래프가 우상향으로
한줄 요약
MetaTrader 4 EA 백테스트에서 발생한 수백 개 에러를 Claude Code와 함께 해결하고, 하향 그래프를 우상향 그래프로 바꾼 경험을 공유합니다.
이런 분들께 도움돼요
알고리즘 트레이딩 EA를 개발 중인데 백테스트 에러로 막힌 개인 투자자
MQL4 코드는 작성했는데 Error 130, 5004 같은 에러 때문에 진행이 안 되는 분들
EA 전략은 좋은데 기술적인 문제로 테스트조차 못 하고 있는 트레이더
문제 상황 (Before)
AI 적응형 트레이딩 시스템(014)을 개발하고 백테스트를 돌렸더니 참담한 결과가 나왔습니다.
백테스트 결과:
그래프: 우하향 곡선 (손실)
로그창: 빨간 에러 메시지 수백 개
실제 거래: 0건
OrderSend error 130
OrderSend error 130
OrderSend error 130
... (수백 번 반복)
Failed to write signal file. Error: 5004
OrderDelete error 4108
에러 코드가 뭔지는 구글링으로 찾았지만, 내 코드 어디가 문제인지 도저히 모르겠더군요. MQL4 공식 문서를 읽어봐도 해결 방법을 찾을 수 없었습니다.
혼자서는 해결할 수 없다는 판단이 들었습니다.
사용한 도구
도구명: Claude Code
모델: Claude Sonnet 4.5
특이사항: 연말까지 Max Limit 제한이 풀려서 사용 (무제한)
AI와 협업한 과정
1. 백테스트 로그 분석 요청
상황: 백테스트 결과가 처참했습니다. 에러가 너무 많아서 어디서부터 손대야 할지 막막했어요.
이렇게 요청했어요:
2025.12.28 15:08:28.045 ETHUSD,H4: 91054950 tick events (1527 bars, 91055508 bar states) processed in 0:33:37.500 2025.12.28 15:08:28.045 014-AI_Adaptive_System_EA ETHUSD,H4: OrderSend error 130 2025.12.28 15:08:28.045 014-AI_Adaptive_System_EA ETHUSD,H4: Failed to write signal file. Error: 5004 2025.12.28 15:08:28.045 014-AI_Adaptive_System_EA ETHUSD,H4: OrderDelete error 4108
문제 분석하고 개선하라
결과: Claude가 로그를 분석해서 4가지 주요 에러를 정확히 찾아냈습니다:
Error 130 (Invalid Stops) - TrapEngine의 StopLevel 위반
Error 5004 (File Write) - 백테스트 모드에서 파일 쓰기 시도
Error 4108 (Invalid Ticket) - 이미 삭제된 주문 재삭제 시도
거래 미실행 - TrendEngine/RangeEngine 진입 로직 미구현
느낀 점: "에러 코드 130이 StopLevel 문제다"라고 딱 집어내는 순간 소름 돋았습니다. 제가 며칠 동안 구글링해도 못 찾은 원인을 몇 초 만에 찾아낸 거죠.
2. 파일별 자동 수정
상황: 문제를 알았으니 이제 고쳐야 하는데, TrapEngine, TrendEngine, RangeEngine, NotificationManager 등 여러 파일을 동시에 수정해야 했습니다.
이렇게 요청했어요:
(추가 요청 없음 - Claude가 알아서 진행)
결과: Claude가 자동으로 각 파일을 읽고 수정했습니다:
TrapEngine.mqh: StopLevel 검증 로직 추가, OrderDelete 전 티켓 유효성 검사
TrendEngine.mqh: ATR 기반 동적 SL/TP, RSI 교차 진입 로직 구현
RangeEngine.mqh: 볼린저 밴드 평균회귀 로직 구현
NotificationManager.mqh: 백테스트 모드 감지 후 파일 작업 스킵
DataManager.mqh: 백테스트 모드 처리 추가
느낀 점: 한 파일씩 수정하는 게 아니라 여러 파일을 동시에 분석하고 수정하더군요. 제가 했으면 하루는 걸렸을 작업을 몇 분 만에 끝냈습니다.
3. 백테스트 재실행
상황: 모든 수정이 끝났습니다. 과연 제대로 작동할까?
결과:
에러: 0개
그래프: 우상향 ✅
실제 거래: 정상 실행
느낀 점: 한방에 우상향 그래프가 나왔을 때의 그 희열... 며칠 동안 하향 그래프만 보다가 처음으로 우상향을 보는 순간이었습니다.
막혔던 순간과 해결
문제: Git 브랜치 전환 과정에서 specs/014-ai-adaptive-system 폴더가 갑자기 사라졌습니다.
"야 왜 specs 폴더 안의 모든 데이터가 로컬에서 사라졌어?"
해결: Claude가 브랜치 개념을 설명해주고, cherry-pick으로 014와 015 브랜치를 병합해줬습니다. git 명령어를 직접 실행해서 문제를 해결했습니다.
git add .
git commit -m "feat(kakao-trading): 015 카카오톡 연동 테스트 완료"
git checkout 015-kakao-trading-integration
git cherry-pick [커밋해시]
Git 명령어를 몰라도 Claude가 알아서 해주니 편했습니다.
결과 (After)
Before vs After
항목
Before
After
백테스트 그래프
하향 곡선 (손실)
우상향 곡선 (수익)
에러 개수
수백 개 (130, 5004, 4108)
0개
실제 거래 실행
0건
정상 작동 (Trap/Trend/Range 엔진)
문제 해결 시간
며칠 (혼자 해결 불가)
몇 시간 (Claude와 협업)
한자가 표시된 컴퓨터 화면의 스크린샷
결과물
✅ AI 적응형 트레이딩 시스템 (014) 정상 작동
마켓 레짐 감지 (TREND, RANGE, VOLATILE)
3개 엔진 시스템 (Trap, Trend, Range)
ATR 기반 동적 SL/TP
백테스트 에러 제로화
⚠️ 중요 공지: 이 결과는 시뮬레이션(백테스트) 단계입니다. 실전 투자는 아니며, 투자는 본인의 책임