터틀 백테스트가 -40%였다 — 필터 하나로 +82%가 되기까지

빨강 하나에 파랑 둘. 0선을 기준으로 갈립니다. 손실 시스템이 수익 시스템으로 넘어간 지점이 한눈에 보입니다.

검증 조건

시장ETH/USDT 무기한 선물
기간V9.0은 3개월, V9.1·V9.2는 1년
대상ETH 단일 종목
규칙터틀 N봉 돌파 진입, 2N(ATR×2) 손절, 10봉 반대 신호 청산. 버전별로 추세 필터를 더해가며 비교
비용트레이딩뷰 백테스트 기본 설정, 슬리피지 미반영

코딩을 배운 적이 없다. 파인 스크립트가 뭔지도 몰랐다. 그런데 야간 근무를 하다 보니 새벽 차트를 손으로 보는 게 한계라, AI를 붙잡고 봇을 만들기 시작했다.

한 달 넘게 아홉 번을 갈아엎었다. 그 과정에서 배운 건 기법이 아니라 방향이었다.

지표를 더할수록 나빠졌고, 빼니까 좋아졌다.

지표를 계속 더하던 시기

V1부터 V7까지는 한 방향이었다. 신호가 부정확하면 지표를 하나 더 넣는다.

버전 넣은 것 그때 생각 실제
V1 EMA 120 추세추종 “터틀 정신을 이식하자” 신호가 너무 적어 답답했다
V2 스토캐스틱 → Stoch RSI(1-1-100-100) “잔파도에 안 흔들리는 묵직한 추세” 횡보장에선 별 차이 없었다
V3 WAE(거래량 폭발) “승률이 비약적으로 오를 것” 백테스트를 안 돌리고 ’느낌상 좋다’고 만족했다
V4~V5.4 다중 시간대 + 5캔들 메모리 “확률 높은 자리에서만 진입” 조건이 빡세져 신호가 거의 안 났다
V5.5~V5.7 봉마감 확인 진입 “꼬리 진입 버그 잡았다” 일부는 잡혔지만 왜 신호가 안 뜨는지 이해 못 하는 날이 많았다
V5.8~V5.9 알람에 진입·손절·익절가 전송 “차트 안 봐도 된다” 알람 따라 들어가면 손절나는 경우가 많았다
V6.0 직전 마감봉 참조(리페인팅 대응) “고질병 100% 박멸” 줄긴 했지만 차트와 신호가 여전히 어긋났다
V6.1 스마트 잠금 “기관총 난사 해결” 좋은 자리도 같이 놓쳤다
V7.0~V7.1.8 망원경·현미경 하이브리드 엔진 “마스터피스 완성”

V7에서 만든 하이브리드 엔진은 꽤 자랑스러웠다. 장기 추세를 보는 망원경 SRSI(1-1-100-100)와 진입 시점을 잡는 현미경 SRSI(14-14-3-3)를 동시에 돌리는 구조였다. 그때 “최종 마스터피스”라고 글까지 썼다.

지금 보면 부끄럽다.

실전에서 터진 사고

문제는 백테스트가 아니라 실전에서 터졌다.

봇 내부의 가상 포지션과 거래소의 실제 포지션이 어긋났다. 의도하지 않은 포지션이 만들어졌고 손실이 났다. 액수는 작았다. 그런데 액수가 문제가 아니었다. 시스템 자체를 못 믿게 됐다.

그때 돌아봤다. 변수가 몇 개인가. 스토캐스틱, Stoch RSI, MACD, EMA, WAE… 코드를 열어도 내가 무슨 조건으로 진입하는지 설명할 수 없었다.

설명할 수 없는 시스템은 고칠 수도 없다.

방향을 반대로 돌렸다

복잡한 걸 버리고 터틀 트레이딩으로 갔다. 1980년대 리처드 데니스가 가르친 추세추종 규칙이고, 조건이 세 줄이다.

  • 진입 — N봉 최고가 돌파하면 롱, 최저가 이탈하면 숏
  • 손절 — 2N (ATR × 2)
  • 청산 — 10봉 반대 신호

보조지표가 하나도 없다. “가격이 N봉 안에서 신고가를 만들면 그게 추세다”가 전부다.

V9.0 — 순수 터틀, 3개월

지표
순이익 -40% (-$20.11)
승률 22.86%
수익지수 0.41
최대 자본 인하 -47%

충격이었다. 그 유명한 터틀이 -40%라니.

차트를 다시 봤더니 이유가 보였다. 그 3개월(2~5월) ETH는 횡보장이었다. 추세추종 시스템에 횡보장은 최악의 환경이다. 55봉 돌파로 진입 → 추세가 안 옴 → 2N 손절. 이걸 반복한 것이다.

봇이 잘못 작동한 게 아니라 시장이 안 맞았다. 이 둘을 구분하는 게 이번 검증의 핵심이었다.

V9.1 — 추세 필터, 1년

그렇다면 추세장에서만 진입하면 된다. 두 줄을 넣었다.

  • ADX > 25 (추세 강도가 충분할 때만)
  • 4시간봉 종가 > 4시간봉 EMA 50 (상위 시간대가 같은 방향일 때)
지표 V9.0 V9.1
순이익 -40% +65.75%
승률 22.86% 31.71%
수익지수 0.41 1.285
평균 손익비 1.39 2.77

필터 두 줄로 손실 시스템이 수익 시스템이 됐다.

다만 안을 들여다보니 롱은 +$38인데 숏이 -$5였다. 방향에 따라 성적이 갈렸다.

V9.2 — 숏 조건 강화, 1년

숏에만 조건을 더 걸었다.

  • 숏 ADX > 30 (롱보다 강한 추세를 요구)
  • 4시간봉 EMA50 < EMA200 (장기 약세 확정)
지표 V9.1 V9.2
순이익 +65.75% +82.43%
숏 거래 수 45건 19건
숏 손익 -$5.27 +$3.08
소티노 비율 1.05 1.76

거래를 절반 이하로 줄였는데 결과가 더 좋아졌다. 안 해도 되는 거래를 안 한 것이다.

이 검증의 한계

먼저 붙여야 할 단서들이다. 위 숫자를 그대로 믿으면 안 되는 이유다.

  • ETH 한 종목이다. 다른 종목에서 같은 결과가 나온다는 근거가 없다.
  • V9.0은 3개월, V9.1·V9.2는 1년이다. 기간이 달라서 -40% → +65%를 직접 비교하면 안 된다. 필터의 효과와 기간의 효과가 섞여 있다.
  • 슬리피지가 반영되지 않았다. 실계좌 성적은 이보다 낮다.
  • 1년은 짧다. 특히 추세추종은 몇 년에 한 번 오는 큰 추세로 먹는 전략이라, 1년 성적으로 판단하기 어렵다.
  • 필터를 더할수록 과최적화 위험이 커진다. V9.2에서 숏 거래가 45건 → 19건으로 줄었다. 표본이 작아졌다는 뜻이기도 하다.

그리고 V1~V3 구간에는 더 큰 문제가 있었다. 백테스트를 안 돌리고 “느낌상 좋다”고 넘어갔다. 그 시기의 판단은 근거가 없었고, 지금 와서 검증할 수도 없다.

정리

얻은 것

  • 지표를 더하는 방향은 자신감을 주지만 성과를 주지 않았다. V1~V7이 그 증거다.
  • 진입 조건을 하나로 줄이고, 대신 진입할 시장 국면을 거르는 쪽이 통했다.
  • 거래 횟수를 줄이는 게 성적을 올릴 때가 있다. V9.2가 그랬다.

아직 모르는 것

  • 이 필터가 다른 종목·다른 기간에서도 통하는지
  • 실계좌에서 비용을 물고도 남는지
  • 1년 표본이 우연인지 아닌지

남긴 이유

-40%가 나온 V9.0을 지우지 않았다. 실패한 버전의 숫자가 남아 있어야 다음 버전이 왜 그렇게 바뀌었는지 설명이 된다. 되는 것만 적으면 그건 기록이 아니라 광고다.

댓글

이 블로그의 인기 게시물

눌림목 신호 921건 — 상승장 롱 59%, 하락장 숏 79%

눌림목 신호 260건 실기록 — 닿았다와 먹었다는 다르다

눌림목 신호 403건 채점 — 59% 도달, 35%만 플러스 마감