한 봉 안에서 익절과 손절이 둘 다 닿았을 때 — 백테스트가 조용히 부풀려지는 지점
과거 데이터로 전략을 검증할 때 대부분은 봉 데이터(OHLC)를 씁니다. 그런데 봉 하나에는 숫자가 네 개밖에 없고, 그 네 숫자가 어떤 순서로 나왔는지는 어디에도 적혀 있지 않습니다. 익절선과 손절선이 같은 봉에서 둘 다 닿는 순간, 검증 프로그램은 답을 모르는 채로 한쪽을 골라야 합니다. 그 선택이 성적표를 바꿉니다.
봉 하나에는 네 숫자밖에 없다
1시간봉 하나가 담고 있는 정보는 시가·고가·저가·종가 네 개입니다. 그 한 시간 동안 가격이 먼저 위로 갔다가 내려왔는지, 아니면 먼저 아래로 찍고 올라왔는지는 봉 데이터에 남지 않습니다. 평소에는 문제가 되지 않습니다. 문제가 되는 건 내 익절선과 손절선이 그 봉의 고가와 저가 사이에 둘 다 들어가 있을 때입니다.
봉 시가 $100 · 고가 $104 · 저가 $97 · 종가 $101
내 포지션 롱 진입 $100
익절 $103 (+3%)
손절 $98 (−2%)
고가 $104 ≥ 익절 $103 → 닿았다
저가 $97 ≤ 손절 $98 → 닿았다
─────────────
둘 다 닿았는데
어느 쪽이 먼저인지는 기록에 없다
이 봉에서 실제로 벌어진 일은 둘 중 하나입니다. $103을 먼저 찍고 익절돼서 +3%로 끝났거나, $98을 먼저 찍고 손절돼서 −2%로 끝났거나. 한 거래에서 결과가 5%포인트나 갈리는데, 봉 데이터만으로는 어느 쪽인지 알 방법이 없습니다.
가정 하나가 성적표를 바꾼다
검증 프로그램은 이 상황에서 규칙을 하나 정해 놓고 일괄 적용합니다. 익절을 먼저 처리하면 낙관 가정, 손절을 먼저 처리하면 비관 가정입니다. 100거래를 돌렸을 때 이 선택이 만드는 차이를 계산해 봅니다.
순서가 분명한 88건
익절 40건 × +3% = +120%
손절 48건 × −2% = −96%
소계 +24%
─ 낙관 가정 (익절 먼저) ─
모호 12건 × +3% = +36%
총합 +60% · 승률 52%
총이익 156 ÷ 총손실 96 = PF 1.63
─ 비관 가정 (손절 먼저) ─
모호 12건 × −2% = −24%
총합 0% · 승률 40%
총이익 120 ÷ 총손실 120 = PF 1.00
─────────────
같은 전략 · 같은 데이터 · 같은 기간
가정 한 줄 차이로
+60% 와 0%
전체 거래의 12%만 모호했는데도 결론이 "쓸 만한 전략"과 "본전 전략"으로 갈립니다. 그리고 이 차이는 성적표 어디에도 표시되지 않습니다. 코드 안쪽의 처리 순서 한 줄이라 보고서만 봐서는 어느 가정이 쓰였는지 알 수 없습니다. 검증 절차 전반의 함정은 백테스트 가이드에 정리돼 있습니다.
익절·손절이 좁을수록 모호가 기본값이 된다
모호한 봉이 몇 %나 되는지는 전략에 따라 크게 달라집니다. 기준은 단순합니다. 익절폭 + 손절폭이 봉 범위(고가−저가)보다 작으면 그 봉 안에서 양쪽이 다 닿을 수 있습니다.
스윙형 익절 +3% · 손절 −2%
합 = 5.0% > 봉 범위 3.0%
→ 대부분의 봉에서 한쪽만 닿는다
단타형 익절 +0.8% · 손절 −0.5%
합 = 1.3% < 봉 범위 3.0%
→ 방향만 왔다갔다 하면 거의 매번 모호
─────────────
손절을 타이트하게 조일수록
백테스트가 덜 믿을 만해진다
(가정에 걸리는 거래 비율이 늘어나므로)
여기서 흔한 착각이 하나 생깁니다. 손절을 좁히면 손실이 줄어드니까 백테스트 성적이 좋아지는데, 그 개선분의 상당 부분이 실제 개선이 아니라 낙관 가정이 처리해 준 몫일 수 있습니다. 손절폭을 줄여 가며 최적값을 찾는 작업이 특히 위험한 이유입니다. 이 계열의 문제는 다중검정의 함정에서 더 다룹니다. 손절폭을 변동성에 맞춰 잡는 방식은 ATR과 손절에 있습니다.
타임프레임을 내려도 문제는 되풀이된다
가장 흔한 해결책은 더 작은 봉으로 순서를 확인하는 것입니다. 1시간봉 하나를 1분봉 60개로 쪼개면 $103과 $98 중 무엇이 먼저였는지 대부분 드러납니다. 다만 이 방법은 문제를 없애는 게 아니라 더 작은 단위로 밀어 넣는 것입니다.
1시간봉 1개 → 1분봉 60개
각 1분봉의 고가·저가를 순서대로 확인
→ 대부분의 모호가 해소된다
그러나 1분봉 안에서도
평균 범위 0.15%
급변 구간 1.2% 이상
스캘핑 익절 +0.3% · 손절 −0.2%
합 = 0.5% < 급변 1분봉 1.2%
→ 같은 모호가 다시 발생
─────────────
완전히 없애려면 틱 단위 체결 기록이 필요하다
봉 데이터로는 줄일 수만 있다
그래서 현실적인 기준은 이렇습니다. 익절·손절 폭의 합이 사용하는 봉의 평균 범위보다 넉넉히 크면 봉 데이터로도 쓸 만하고, 비슷하거나 작으면 한 단계 아래 봉으로 내려가 순서를 확인해야 합니다. 그리고 어느 쪽이든 남은 모호가 몇 %였는지는 결과와 함께 적어야 읽는 사람이 성적표를 해석할 수 있습니다.
모호한 봉은 슬리피지도 큰 봉이다
더 나쁜 점은 두 문제가 같은 봉에서 겹친다는 것입니다. 익절선과 손절선을 한 봉 안에서 다 건드렸다는 건 그 구간에 가격이 크게 흔들렸다는 뜻이고, 그런 구간은 주문이 원하는 가격에서 밀리는 구간이기도 합니다.
익절 지정가 $103
가격이 $104까지 갔지만
호가 대기열에서 밀려 미체결
가격 반전 → $97 로 하락
손절 시장가 체결 $96.8
(설정 $98 대비 −1.2 밀림)
백테스트 기록 +3.0%
실제 결과 −3.2%
차이 6.2%포인트
10배 레버리지였다면
증거금 기준 −32%
지정가 익절은 가격이 닿아도 체결이 보장되지 않습니다. 앞에 걸린 물량이 먼저 소화돼야 내 차례가 오기 때문입니다. 반대로 손절은 대개 시장가라 닿으면 무조건 체결되지만 가격은 밀립니다. 이 비대칭이 낙관 가정 위에 한 번 더 얹힙니다. 체결 대기열의 원리는 주문 체결 우선순위에, 밀림 자체는 슬리피지에, 급변 구간의 연쇄 청산은 청산 연쇄에 있습니다.
결과를 읽을 때 확인할 것
남의 백테스트를 보든 내 것을 보든, 이 문제와 관련해 확인할 항목은 정해져 있습니다. 없으면 물어보고, 답이 없으면 낙관 가정이 쓰였다고 보는 편이 안전합니다.
□ 같은 봉에서 익절·손절이 둘 다 닿은 거래가 몇 건인가
□ 전체 거래 대비 몇 % 인가
□ 그때 어느 쪽을 먼저 처리했나
□ 비관 가정으로 바꾸면 성적이 얼마나 달라지나
□ 더 작은 봉으로 순서를 확인했나
□ 확인했다면 남은 모호는 몇 건인가
□ 체결 슬리피지를 얼마로 가정했나
□ 지정가 익절을 무조건 체결로 처리하지 않았나
─────────────
가장 정직한 보고 방식
낙관·비관 두 결과를 나란히 적는 것
그 사이가 실제 성적이 놓일 범위다
낙관 결과만 적힌 보고서는 성적이 아니라 상한선입니다. 두 결과를 같이 적으면 폭이 얼마나 넓은지가 바로 보이고, 폭이 지나치게 넓으면 그 검증 자체가 아직 결론을 낼 단계가 아니라는 신호가 됩니다. 표본이 몇 건이어야 판단할 수 있는지는 표본 크기에, 구간을 옮겨 가며 재검증하는 절차는 워크포워드 분석에, 봉이 닫힌 뒤에 판단하는 원칙은 종가 확정에 정리돼 있습니다. 익절·손절 폭의 비율 자체는 손익비가 다룹니다.
정리
② 익절·손절이 한 봉에 다 닿으면 답을 모른다
③ 프로그램은 규칙 한 줄로 한쪽을 고른다
④ 익절 먼저 = 낙관 · 손절 먼저 = 비관
⑤ 모호 12%만 있어도 +60% vs 0%
⑥ PF 로는 1.63 vs 1.00
⑦ 익절폭+손절폭 < 봉 범위 → 모호가 기본값
⑧ 손절을 조일수록 가정에 걸리는 비율이 는다
⑨ 1분봉으로 내리면 줄지만 없어지지 않는다
⑩ 완전 해소는 틱 체결 기록으로만
⑪ 모호한 봉 = 슬리피지도 큰 봉
⑫ 지정가 익절은 닿아도 체결 보장이 아니다
⑬ 보고는 낙관·비관 둘 다 적는다
한 줄로 줄이면 이렇습니다. 봉 데이터로 만든 성적표에는 프로그램이 대신 내린 판정이 섞여 있습니다. 그 판정이 몇 건에 적용됐고 어느 쪽이었는지를 확인하기 전까지는, 그 숫자를 전략의 실력으로 읽으면 안 됩니다.
주의
본문의 봉 시가 $100·고가 $104·저가 $97·종가 $101, 익절 $103과 손절 $98, 100거래 중 모호 12건, 명확한 88건의 익절 40건·손절 48건 구성, 총합 +60%와 0%, PF 1.63과 1.00, 봉 범위 3.0%, 1분봉 평균 범위 0.15%와 급변 1.2%, 체결 밀림 $96.8과 −3.2%, 레버리지 10배 환산 −32% 같은 숫자는 모두 같은 봉 안의 순서 문제가 결과를 얼마나 바꾸는지 보여주기 위한 가정 예시이며 특정 전략이나 특정 계좌의 실제 측정값이 아닙니다. 모호한 거래의 비율은 종목·타임프레임·익절손절 폭에 따라 크게 달라지므로 본인 데이터에서 직접 세어야 합니다. 봉 범위와 슬리피지 역시 거래소·유동성·시간대에 따라 다릅니다. 과거 데이터에서 나온 결과가 앞으로도 유지된다는 보장은 없으며, 레버리지 거래는 원금 전액을 잃을 수 있습니다. 투자 판단과 그 결과는 본인 책임입니다.
NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.
봇에서 시작하기📈 OKX 신규 가입 시 거래 수수료 할인
OKX 수수료 할인 가입 →