MT5 백테스트를 화면 없이 자동으로 돌리는 법
MT5 Headless Backtest
압축 안에 든 것
mt5-headless-backtest/SKILL.mdmt5-headless-backtest/files/run_mt5_backtest.pymt5-headless-backtest/files/tester_template.ini
압축을 풀어 내 프로젝트의 .claude/skills/ 폴더에 넣으면 돼요. 무료이고, 고쳐 쓰셔도 됩니다.
한 줄 소개
실제 매매 중인 MT5는 그대로 두고, 따로 만든 복사본에서 명령어만으로 EA 컴파일 → 백테스트 → 결과 요약까지 자동으로 돌리는 클로드 코드 스킬입니다. 오류 없이 조용히 실패하는 함정 표도 함께 드립니다.
이런 분께 맞아요
- MT5로 EA(자동매매 프로그램)를 만들고, 설정을 조금씩 바꿔 가며 여러 번 시험해야 하는 분
- 전략 테스터 창을 열고 닫고 기다리는 데 시간을 너무 많이 쓰는 분
- 클로드 코드 같은 AI에게 백테스트를 맡겼는데 결과가 비어 있거나 전부 0으로 나와 막힌 분
- 실제 매매용 MT5를 켜 둔 채로 시험을 돌리고 싶은 분
쓰면 이렇게 달라져요
전에는 테스터 창에서 EA·종목·기간을 고르고, 시작을 누르고, 끝날 때까지 지켜보다가, 리포트를 열어 숫자를 옮겨 적었습니다. 변형이 다섯 개면 이걸 다섯 번 했습니다. AI에게 맡겨도 "실행했습니다"라는 답만 오고 리포트는 없는 날이 많았습니다.
이제는 클로드 코드에 한 줄로 부탁하면 이렇게 끝납니다.
python run_mt5_backtest.py --mt5-dir "<내 포터블 폴더>" --source "MQL5\Experts\<내 EA 이름>.mq5" ^
--symbol EURUSD --period H1 --from 2024.01.01 --to 2024.12.31 --variants variants.json
tag trades net PF maxDD% win% status
risk05 ... ... ... ... ... ok
risk10 ... ... ... ... ... ok
Not investment advice. Check that real broker commission is included.
결과가 0으로 나오면 스크립트가 터미널 로그를 대신 훑어서 "전략 문제가 아니라 테스터가 못 돌았다" 같은 힌트를 같이 보여 줍니다.
쓰는 법
- 이 페이지에서 스킬 파일을 내려받습니다. (
SKILL.md와files/폴더: 설정 파일 템플릿, 실행 스크립트) - 내 프로젝트의
.claude/skills/mt5-headless-backtest/폴더에 넣습니다. - 클로드 코드에 이렇게 말합니다. "mt5-headless-backtest 스킬대로 포터블 MT5 복사본을 만들고, 내 EA를 컴파일해서 InpRiskPercent를 0.5와 1.0으로 바꿔 가며 2024년 한 해 백테스트를 돌려 줘. 먼저 1개월짜리로 걸리는 시간부터 재 줘."
우리가 실제로 써 본 이야기
처음 AI에게 백테스트를 맡겼을 때는 결과가 계속 안 나왔습니다. 알고 보니 실제 매매용 MT5가 켜진 상태에서 같은 폴더로 명령을 보내서, MT5가 아무 말 없이 무시하고 있었습니다. 포터블 복사본을 따로 만든 뒤에는 정상으로 돌았지만, 열두 가지 조합을 한 번에 돌린 날에는 그중 일곱 개가 리포트 없이 끝났습니다. 터미널이 시작하면서 자기 자신을 다시 띄우는 몇 초의 틈을 "끝났다"고 오판해 다음 테스트를 겹쳐 띄운 탓이었고, "프로세스 없음"을 여러 번 연속으로 확인하도록 고치자 해결됐습니다. 한번은 결과가 전부 0으로 나와 전략을 의심했는데, 실제 원인은 같은 PC에서 돌던 웹 개발 서버가 테스터가 쓰는 포트를 먼저 차지한 것이었습니다. 세 시간째 멈춰 있던 테스트를 강제로 끄고 한 번만 다시 돌렸더니 같은 조건이 18초 만에 끝난 일도 있어서, 지금은 "자동으로 겹쳐 재시도하지 않기"를 철칙으로 둡니다.
자주 묻는 질문
- Q. 실제 매매 중인 MT5에 영향이 가지 않나요?
- 포터블 복사본(/portable 옵션)은 계좌·히스토리·설정을 자기 폴더 안에만 저장합니다. 스크립트도 그 폴더 안의 프로세스만 확인하고, 실제 매매용 터미널은 건드리지 않습니다. 다만 같은 폴더를 두 테스트가 동시에 쓰면 안 되니 실행은 하나씩 합니다.
- Q. 결과가 전부 0이에요. 전략이 신호를 못 낸 건가요?
- 꼭 그렇지는 않습니다. 히스토리 파일이 없거나, 테스터 보조 프로그램이 포트 충돌로 시작을 못 했거나, 설정 파일 경로를 잘못 넘긴 경우에도 오류 없이 0이 나옵니다. 스킬의 함정 표 순서대로 터미널 로그부터 확인해 보세요.
- Q. 이 스킬에 좋은 전략이나 추천 설정도 들어 있나요?
- 아니요. 백테스트를 돌리는 방법만 담았고 매매 규칙이나 설정값은 넣지 않았습니다. 투자 조언이 아니며, 백테스트 결과가 좋아도 실제 수수료와 시장 상황에 따라 결과는 크게 달라질 수 있습니다.
※ 이 스킬은 도구를 돌리는 방법만 담았어요. 매매 규칙이나 추천 설정은 들어 있지 않으며, 투자 조언이 아닙니다. 투자 판단과 그 결과의 책임은 본인에게 있어요.