가격은 95% 넘게 맞았는데 패턴은 21%만 맞았다: 백테스트 이식에서 가장 헷갈렸던 부분
처음에는 브로커 가격이 달라서 거래가 안 맞는다고 생각하기 쉬웠습니다. 그래서 아예 질문을 둘로 쪼갰습니다. 'TradingView가 사용한 가격이 MT5 데이터 안에 있었나?'와 'MT5가 같은 패턴을 만들어냈나?'입니다. 둘은 전혀 다른 문제였습니다.

2026-08-25 TV→MT5 replay에서 5,906개 중첩 거래와 XAUUSD subset을 대조한 기록을 사용했습니다. 정확한 패턴 정의는 비공개로 두고 재현성 수치만 공개합니다.
먼저 가격이 실제로 있었는지만 봤다
5개 종목에서 겹치는 거래 5,906개를 기준으로 TradingView 진입 가격이 MT5 M1 범위 안에 있었는지 확인했습니다. 95.4%에서 가격이 실제로 존재했습니다. 청산 쪽 가격 경로도 92.5%에서 확인됐습니다.
골드만 따로 보면 1,157개 거래 중 진입 경로는 1,133건, 97.9%가 맞았고 청산 경로도 97.0%였습니다. 적어도 '가격이 아예 없어서 못 들어갔다'는 설명만으로는 큰 차이를 설명하기 어려웠습니다.
그런데 MT5가 패턴을 처음부터 만들게 하니 21.2%만 맞았다
같은 골드 구간에서 MT5가 TradingView 신호를 받아 재생하는 대신, 원시 데이터로 패턴 자체를 독립 생성하게 했습니다. TradingView 기준 청산 경로까지 확인된 1,122건 중 독립 패턴이 매칭된 것은 238건, 21.2%였습니다.
가격은 거의 같은데 패턴은 크게 달랐습니다. 이 지점에서 문제의 초점이 브로커 가격 차이에서 캔들 생성 방식, 세션 앵커, 상위봉 경계와 상태머신으로 이동했습니다.
| 검사 | 일치 |
|---|---|
| TV 진입가격 ∈ MT5 M1 | 95.4% |
| TV 청산 경로 ∈ MT5 M1 | 92.5% |
| XAU 진입 경로 | 97.9% |
| XAU 독립 패턴 재현 | 21.2% |
이 구분을 안 했으면 전략을 잘못 버렸을 수도 있다
독립 EA 성과가 나쁘다고 바로 전략을 폐기했다면 'TradingView 백테스트가 가짜였다'고 결론낼 수도 있었습니다. 반대로 가격만 비슷하다고 EA 구현이 맞다고 생각했으면 실전에서 다른 신호를 계속 낼 수 있었습니다.
그래서 이후에는 signal source, candle construction, price path, execution을 별개의 층으로 로그에 남기고 있습니다. 어느 층에서 어긋났는지 알아야 수정도 한 군데만 할 수 있습니다.
M1도 마지막 답은 아니다
M1 고가와 저가 사이에서 어떤 가격이 먼저 나왔는지는 OHLC만으로 복원할 수 없습니다. 진입과 손절이 같은 1분봉 안에 들어 있는 거래는 틱 순서가 중요합니다.
따라서 M1 replay는 가격 경로가 가능한지 보는 좋은 1차 감사 도구지만, 순서가 성과를 바꾸는 사례는 real tick으로 다시 확인하는 것이 안전합니다.
백테스트와 연구 수치는 과거 데이터의 관찰 결과이며 미래 수익을 보장하지 않습니다. 실제 거래 결과는 체결 비용, 슬리피지, 포지션 크기, 시장 환경에 따라 달라질 수 있습니다.
