이번 회차는 30번째다. 배정된 코인은 WLFI(월드 리버티 파이낸셜), 다룰 스크립트는 이중 천장(Double Top) 차트 패턴이다. slug는 wlfi-double-top.
먼저 밝히고 시작한다. 이번 편은 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 승률을 적지 않은 이유도 그래서다. 가격도, 거래대금도, 며칠 만에 몇 퍼센트가 움직였는지도 이 글엔 없다. 대신 “이중 천장이 성립한다"는 문장을 내 봇이 이해할 수 있는 조건문으로 바꾸는 과정을 뜯는다.
지금까지 다룬 지표(RSI, MACD 같은 것)나 전략(바입다운 같은 것)은 숫자를 넣으면 답이 나오는 함수였다. 패턴은 다르다. 이중 천장은 애초에 사람이 차트를 보고 “이거 M자로 생겼네"라고 눈으로 판정하던 개념이다. 그걸 코드로 옮기려는 순간 “비슷하다"는 감각을 숫자로 못박아야 하는 문제가 생긴다. 이번 편의 축은 그 지점이다.
이중 천장의 정의
이중 천장은 봉 하나가 아니라 스윙 구간 전체의 모양으로 정의된다. 상승이 첫 번째 고점(고점 A)에서 멈추고, 어느 정도 되돌림이 나온 뒤, 다시 상승해 두 번째 고점(고점 B)을 찍는다. 이때 고점 A와 고점 B의 높이가 비슷해야 한다. 그 사이 되돌림의 저점을 이은 수평선을 넥라인이라 부른다. 가격이 넥라인 아래로 내려가는 순간 패턴이 “확정"된다.
아래 모식도가 이 형태다. 실제 시세가 아니라 규칙을 설명하기 위한 손으로 만든 값이다.

이 패턴이 가정하는 심리는 이렇다. 첫 번째 고점에서 매수세가 한 번 소진됐다가, 되돌림을 거쳐 다시 매수세가 붙어 두 번째 시도를 한다. 그런데 두 번째 시도에서도 이전 고점을 넘지 못하고 밀린다는 것은, 그 가격대에서 파는 쪽의 힘이 사는 쪽보다 세다는 뜻으로 읽는다. 넥라인이 뚫리면 그 되돌림 저점을 지지하던 수요마저 무너졌다는 뜻이니 패턴이 확정된다.
조건문으로 옮기려면 숫자가 필요하다
사람은 “고점 A와 고점 B가 비슷한 높이"라고 말할 때 정확히 몇 퍼센트까지를 비슷하다고 보는지 굳이 정하지 않는다. 눈으로 보고 판단하기 때문이다. 그런데 봇은 그럴 수 없다. 조건문을 쓰려면 최소한 다음 파라미터를 숫자로 박아야 한다.
- 고점 높이 허용오차 — 고점 A와 고점 B의 차이가 몇 퍼센트 이내면 “같은 높이"로 볼 것인가. 보통 2~3% 안팎을 쓰는 경우가 많은데, 이건 시세로 측정한 값이 아니라 패턴 정의 문헌에서 관행적으로 쓰는 여유폭이다. 왜 3%인지는 사실 근거가 약하다 — 너무 좁히면 거의 모든 후보가 탈락하고, 너무 넓히면 아무 두 고점이나 다 이중 천장이 된다.
- 최소 되돌림 폭 — 두 고점 사이 저점이 얼마나 깊어야 “독립된 되돌림"으로 인정할지. 피보나치 되돌림 눈금인 38.2%나 61.8% 같은 값을 기준선으로 쓰는 경우가 흔하다. 이 숫자들도 시세 측정치가 아니라 패턴 이론이 관습적으로 채택한 정의값이다.
- 고점 판정용 lookback — 어떤 봉을 “국지적 고점"으로 인정할지 정하려면 앞뒤로 몇 개의 봉을 비교할지(lookback window)를 정해야 한다. 이 값이 작으면 잔가지 같은 노이즈도 고점으로 잡히고, 크면 진짜 고점을 놓친다.
- 넥라인 기울기 허용 — 두 저점을 이은 선이 완전한 수평일 필요는 없다고 보는 게 보통인데, 그럼 얼마나 기울어도 되는지를 정해야 한다.
이 네 가지를 다 정해야 비로소 “이중 천장이다/아니다"를 리턴하는 함수가 만들어진다. 그런데 정의하는 사람마다 이 숫자가 다르다. 즉 같은 차트를 보고도 규칙을 어떻게 짰느냐에 따라 패턴이 있다고도, 없다고도 나올 수 있다는 뜻이다. 이게 패턴류 전체가 안고 있는 근본적인 약점이다. 파라미터가 없으면 정의가 안 되고, 파라미터를 넣는 순간 그 파라미터 자체가 과최적화의 여지가 된다.
확정 이후: 측정 목표라는 개념
이중 천장이 넥라인을 붕괴하고 나면, 고전적인 차트 이론은 “측정 목표"라는 개념을 쓴다. 고점에서 넥라인까지의 수직 거리(h)를 재서, 붕괴 지점에서 그 거리만큼 아래로 투영한 지점을 잠재적 하락 목표로 본다는 것이다. 이것도 시세로 검증한 승률이 아니라 패턴 정의 자체에 포함된 기하학적 규칙이라는 점을 분명히 해둔다. “이만큼 내려간다"는 예측이 아니라 “이 패턴을 쓰는 사람들이 관습적으로 참고하는 기준선"에 가깝다.

봇에 넣는다면 이 측정 목표는 청산 기준(익절 목표)으로 쓸 수 있는 후보다. 다만 이 값 자체가 시세로 검증된 적이 없다는 걸 알고 써야 한다.
자동 검출이 어려운 진짜 이유
사람이 차트를 눈으로 보고 “이중 천장이네"라고 판단하는 것과, 코드가 같은 판단을 내리는 것 사이에는 꽤 큰 간격이 있다. 앞서 정리한 파라미터들이 왜 문제가 되는지 좀 더 구체적으로 짚어보자.
첫째, 넥라인 기울기 허용 문제다. 두 저점이 완벽하게 수평인 경우는 실제로는 드물다. 기울기를 어느 정도까지 허용할지에 따라 같은 차트에서 넥라인이 잡히기도, 안 잡히기도 한다. 기울기 허용을 넓히면 상승 추세 중간의 흔한 눌림목도 이중 천장으로 오판할 위험이 커진다.
둘째, 되돌림 허용폭 문제다. 두 고점 사이 되돌림이 얕으면(예: 고점 대비 5% 이내) 사람 눈에는 “거의 붙어 있는 두 봉우리"로 보여서 이중 천장이라 부르기 애매하다. 그런데 얕은 되돌림도 인정하는 규칙을 짜면, 그냥 톱니 모양으로 오르내리는 구간 전체가 후보로 걸려버린다.
셋째, 노이즈로 인한 가짜 신호다. lookback window를 좁게 잡을수록 작은 파동도 “고점"으로 인식되고, 그 결과 진짜 추세 반전이 아닌 잔파동에서도 이중 천장 후보가 무더기로 검출된다. 반대로 넓게 잡으면 검출 자체가 느려져서 패턴이 이미 크게 진행된 뒤에야 뒤늦게 잡힌다.
넷째, 프랙탈성이다. 이중 천장은 5분봉에서도, 일봉에서도, 주봉에서도 똑같은 모양으로 나타날 수 있다. 그런데 어느 시간프레임의 신호를 봇의 매매 기준으로 쓸지는 패턴 자체가 답을 주지 않는다. 시간프레임을 사람이 임의로 고르는 순간, 그 선택 자체가 또 하나의 숨은 파라미터가 된다.
아래 모식도는 같은 “이중 천장처럼 보이는 모양” 두 개를 나란히 놓은 것이다. 왼쪽은 허용오차 안쪽이라 규칙이 패턴으로 인정하고, 오른쪽은 높이 차이가 크고 되돌림도 얕아서 같은 규칙이 기각한다. 사람 눈에는 둘 다 비슷하게 보일 수 있다는 게 핵심이다.

코인 시장 특유의 함정: 일봉 경계가 거래소 설정값이다
전통 주식 차트 이론을 그대로 코인에 옮길 때 놓치기 쉬운 함정이 있다. 주식은 거래소가 열고 닫는 시각이 고정돼 있어서 “하루 봉"의 경계가 명확하다. 코인은 24시간 쉬지 않고 거래되기 때문에, 하루 봉의 경계는 시장이 정한 게 아니라 거래소가 임의로 설정한 값이다. 업비트는 KST(한국표준시) 자정을 기준으로 일봉을 끊고, 해외 거래소 다수는 UTC 자정을 기준으로 끊는다. 이 둘 사이엔 9시간의 시차가 있다.
이게 이중 천장 검출에 왜 문제가 되냐면, 두 번째 고점이 정확히 어느 봉에 찍히는지가 어느 거래소의 일봉 데이터를 쓰느냐에 따라 달라질 수 있기 때문이다. 같은 24시간 동안의 가격 흐름이라도, KST 자정 기준으로 끊은 봉과 UTC 자정 기준으로 끊은 봉은 고점이 속하는 날짜 자체가 달라진다. 봇이 “전일 고점"이나 “N봉 전 고점” 같은 lookback 기준으로 패턴을 찾는다면, 어느 거래소 데이터를 기준으로 삼았는지에 따라 같은 순간의 가격이 다른 봉으로 잡혀 판정이 갈릴 수 있다.

여기에 두 가지가 더 겹친다. 하나는 주말·휴장이 없다는 점이다. 주식 차트 패턴 이론에는 “주말 갭"을 이용한 변형 패턴이 따로 있는데, 코인은 휴장이 없어 그런 갭 자체가 거의 나오지 않는다. 다른 하나는 현물 시장에 공매도가 없다는 점이다. 이중 천장은 원래 하락 반전을 노리는 신호인데, 현물 봇에서는 이 신호로 숏 진입을 걸 수 없다. 할 수 있는 건 보유 물량의 매도 청산이나 신규 매수의 보류뿐이다. 하락 신호를 그대로 진입 신호로 못 쓴다는 뜻이다.
무대: WLFI라는 코인의 성격
WLFI는 월드 리버티 파이낸셜이라는 디파이 프로젝트와 연결된 토큰으로 알려져 있다. 이 프로젝트는 정치적으로 잘 알려진 인물·브랜드와 연관돼 있다는 점에서 다른 레이어1이나 거래소 토큰과는 성격이 다르다. 네트워크 사용량이나 프로토콜 실적보다, 특정 인물·정치 이슈를 다루는 뉴스 사이클이 가격 심리를 흔드는 비중이 상대적으로 클 수 있는 자산이라는 뜻이다.
이게 이중 천장 같은 패턴과 만나면 문제가 하나 생긴다. 패턴이 가정하는 전제는 “매수세가 두 번째 시도에서 소진된다"는, 시장 참여자들의 누적된 수급 심리다. 그런데 뉴스 한 줄로 가격이 크게 뒤집히는 자산에서는 그 소진 과정이 차트에 온전히 반영되기 전에 외부 이슈가 먼저 개입해버릴 수 있다. 두 번째 고점이 “매수세 소진"이 아니라 특정 뉴스에 대한 일회성 반응일 수도 있다는 얘기다.
또 하나는 이력의 짧음이다. WLFI처럼 상장 이력이 길지 않은 토큰은 이중 천장 같은 패턴이 과거에 반복적으로 어떤 식으로 마무리됐는지를 돌아볼 축적된 사례 자체가 부족하다. 이건 시세를 측정해서 하는 말이 아니라, 신생 토큰이라는 사실 하나에서 따라 나오는 구조적인 한계다.
내 봇에 넣을 것인가
결론부터 쓴다. 이중 천장을 지금 봇의 자동 진입·청산 규칙에는 넣지 않기로 했다. 버린 이유는 명확하다. 넥라인 허용오차, 되돌림 허용폭, lookback window, 기울기 허용 — 이 네 파라미터를 어떻게 잡느냐에 따라 같은 차트에서 신호가 있다고도 없다고도 나온다. 이 파라미터들을 시세로 튜닝하는 순간 그게 바로 과최적화이고, 튜닝하지 않으면 애초에 봇이 돌아가지 않는다. 이 딜레마를 지금 해소할 방법이 없다.
다만 완전히 버리는 것도 아니다. 넥라인 붕괴만은 비교적 명확한 규칙(가격이 특정 저점선 아래로 마감)으로 걸 수 있다. 고점 두 개를 찾아 패턴을 “인정"하는 판단은 사람이 하고, 넥라인 붕괴 이후의 청산·목표가 계산만 봇에 맡기는 반자동 방식이 현실적인 절충안이라고 본다. 언젠가 패턴 인식에 쓸 만한 더 나은 기준이 생기면 이 판단을 다시 볼 것이다. 버린 이유를 여기 남겨두는 것도 그래서다.
이 글은 매매를 권유하는 글이 아니다. 여기 나온 파라미터나 임계값도 투자 조언이 아니라 패턴 정의를 설명하기 위한 예시일 뿐이다.
약어 풀이
- WLFI (World Liberty Financial) — 월드 리버티 파이낸셜. 이번 회차에 배정된 코인.
- RSI (Relative Strength Index) — 상대강도지수. 이전 회차에서 다룬 모멘텀 지표.
- MACD (Moving Average Convergence Divergence) — 이동평균수렴확산지수. 이전 회차에서 다룬 추세 지표.
- KST (Korea Standard Time) — 한국표준시(UTC+9). 업비트 등 국내 거래소의 일봉 기준 시각.
- UTC (Coordinated Universal Time) — 협정세계시. 다수 해외 거래소의 일봉 기준 시각.