Claude Code로 EA 백테스트 에러 한방에 해결 - 하향 그래프가 우상향으로 / 2025 연말맞이 바이브코딩 모각AI

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가지 주요 에러를 정확히 찾아냈습니다:

  1. Error 130 (Invalid Stops) - TrapEngine의 StopLevel 위반

  2. Error 5004 (File Write) - 백테스트 모드에서 파일 쓰기 시도

  3. Error 4108 (Invalid Ticket) - 이미 삭제된 주문 재삭제 시도

  4. 거래 미실행 - 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

  • 백테스트 에러 제로화

⚠️ 중요 공지: 이 결과는 시뮬레이션(백테스트) 단계입니다. 실전 투자는 아니며, 투자는 본인의 책임입니다.

이 과정에서 배운 AI 활용 팁

효과적이었던 것

  1. 명확하게 요청하기

    • ❌ "에러 좀 봐줘"

    • ✅ "문제 분석하고 개선하라"

    • 구체적으로 뭘 원하는지 말하면 Claude가 더 정확하게 작업합니다.

  2. 에러 로그는 전체를 복사해서 붙여넣기

    • 일부만 주지 말고 백테스트 로그 전체를 복사해서 붙여넣으세요.

    • Claude가 전체 맥락을 보고 문제를 찾아냅니다.

  3. 모르는 건 바로 물어보기

    • "StopLevel이 뭐야?", "ATR이 뭐야?" 같은 질문도 OK

    • MQL4 공식 문서 읽는 것보다 빠릅니다.

이렇게 하면 안 돼요

  1. 에러 코드만 던지지 말 것

    • "Error 130이 뭐야?"보다는 "Error 130이 발생한 전체 로그"를 보여주세요.

  2. 코드 일부만 보여주지 말 것

    • Claude는 파일 전체를 읽고 분석할 수 있습니다. 관련 파일 경로를 알려주세요.

다른 업무에 적용한다면?

이 경험은 알고리즘 트레이딩 외에도 적용할 수 있습니다:

  • 백엔드 API 에러 디버깅: 로그를 Claude에게 주고 "문제 분석하고 개선하라"

  • 데이터 분석 스크립트 오류: Python/R 스크립트 에러를 Claude가 찾아서 수정

  • 자동화 스크립트 개발: Git, 파일 처리 같은 반복 작업을 Claude가 스크립트로 만들어줌

핵심은 "명확한 요청 + 전체 맥락 제공"입니다.

앞으로의 계획

백테스트는 성공했지만 아직 실전 투자 단계는 아닙니다. 앞으로 이렇게 발전시킬 계획입니다:

  1. 다른 시간대 테스트: H4 외에 H1, D1 등 다양한 타임프레임 실험

  2. 우상향 극대화 로직 개선: 백테스트 결과를 보면서 수익률 높이는 파라미터 튜닝

  3. 다른 통화쌍 적용: ETHUSD 외에 EURUSD, GBPUSD 등으로 확장

  4. 실시간 데모 계좌 테스트: 백테스트 다음 단계로 데모 계좌에서 실시간 검증

Claude Code와 함께라면 각 단계의 문제도 빠르게 해결할 수 있을 거라 확신합니다.

재사용 가능한 프롬프트

프롬프트 1: 백테스트 에러 분석

MetaTrader 4 백테스트 로그입니다. 문제 분석하고 개선하라.

[백테스트 로그 전체 복사-붙여넣기]

  • [백테스트 로그 전체] 부분에 MT4 Strategy Tester의 Journal 탭 내용을 모두 복사해서 붙여넣으세요.

프롬프트 2: MQL4 에러 해결

MQL4 EA에서 [에러 코드] 에러가 발생합니다. 관련 파일: [파일 경로] 에러 발생 위치: [함수명 또는 라인]

원인을 찾고 코드를 수정해주세요.

  • [에러 코드]: 130, 5004, 4108 등

  • [파일 경로]: src/Lib/Engines/TrapEngine.mqh

  • [함수명 또는 라인]: PlaceBracketOrders() 함수

프롬프트 3: Git 브랜치 문제 해결

Git에서 브랜치를 전환했더니 [폴더명] 폴더가 사라졌습니다. 현재 브랜치: [브랜치명]

파일을 복구하고 두 브랜치의 내용을 합쳐주세요.

  • [폴더명]: specs/014-ai-adaptive-system

  • [브랜치명]: git branch 명령어로 확인


이 글이 도움되셨다면 트레이딩 커뮤니티에 공유해주세요! 같은 문제로 고민하는 분들에게 도움이 될 것입니다. 💡

다시 한번 강조: 이 글의 백테스트 결과는 시뮬레이션이며, 실전 투자 결과를 보장하지 않습니다. 투자는 본인의 책임입니다.

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요