왜 지금 이 패턴, 왜 펌프펀인가

이중 바닥은 하락 추세 뒤에 저점을 두 번 확인하고 반전한다고 보는 패턴이다. 첫 번째 저점에서 반등해 어느 높이(넥라인, 또는 마루)까지 올라갔다가 다시 내려와 첫 번째와 비슷한 높이에서 두 번째 저점을 만들고, 그 다음 넥라인을 위로 뚫고 나가면 패턴이 완성됐다고 본다. 알파벳 W를 옆으로 본 모양이라고도 설명한다. 두 번 시도해서 두 번 다 같은 자리에서 막힌 매도 압력이 소진됐다는 서사가 이 패턴의 전제다.

이 시리즈에서 패턴류를 다룬 건 이번이 처음이 아니다. 컵 앤 핸들 계열을 다루면서 “완만하게”, “비슷한 높이”, “짧게” 같은 형용사를 코드로 옮기려면 숫자를 채워 넣어야 한다는 문제를 짚은 적이 있다. 이중 바닥은 그 계열보다 구조가 단순하다. 둥근 바닥이나 손잡이 같은 곡선 판정이 없고, 저점 두 개와 그 사이 마루 하나만 있으면 된다. 그런데 구조가 단순하다고 판정이 쉬워지는 건 아니다. 오히려 판정에 걸리는 변수 개수가 줄어든 만큼, 남은 몇 개 변수(저점 높이차, 마루 높이, 돌파 확인 방식)에 판정 전체가 걸린다. 이번 편의 주제는 그 몇 개 안 되는 변수를 어디에 놓을 것인가다.

펌프펀은 솔라나 위에서 돌아가는 밈코인 발행 플랫폼이다. 누구나 본딩 커브 방식으로 토큰을 만들어 유통시킬 수 있게 해주는 서비스이고, 그 발행·거래 과정에서 발생하는 수수료가 플랫폼의 수익 구조를 이룬다. PUMP는 이 플랫폼 자체의 토큰이다. 개별 밈코인이 아니라 밈코인을 찍어내는 공장의 지분에 가깝다는 점이 다른 밈코인류와 다르다. 이 정도가 확실하게 말할 수 있는 범위다. 이번 편에서 펌프펀은 분석 대상이 아니라 사고 실험의 무대로만 쓴다. 가격을 받지 않으니 펌프펀이 실제로 이중 바닥을 그렸는지, 그려서 어떻게 됐는지는 말할 수 없다. 대신 펌프펀 같은 밈코인 발행 플랫폼 토큰의 성격이 이 패턴의 전제와 어떻게 부딪히는지를 뒤에서 따로 다룬다.

미리 밝혀둘 게 있다. 이번 편은 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 승률이나 검출 건수를 적지 않은 이유도 그래서다. 아래 나오는 그림은 전부 규칙을 설명하기 위한 모식도이고, 실제 PUMP의 캔들이 아니다. 축에 적힌 숫자도 상대값이다. 투자 권유가 아니다.

이중 바닥이 성립하는 조건

문장이 아니라 구조로 정리하면 이렇다. 아래 네 지점이 순서대로 나와야 패턴이 성립한다.

이중 바닥의 기본 구조

  1. 선행 하락 — 패턴이 나오기 전에 뚜렷한 내림세가 있어야 한다. 하락이 없던 자리에서 저점 두 개가 나와도 그건 반전이 아니라 그냥 횡보다.
  2. 첫 번째 저점 — 하락이 멈추고 반등이 시작되는 지점.
  3. 넥라인(마루) — 첫 번째 저점에서 반등해 만든 고점. 이후 두 번째 저점에서 반등할 때 뚫어야 할 저항선이 된다.
  4. 두 번째 저점 — 넥라인에서 다시 내려와 첫 번째 저점과 비슷한 높이에서 멈추는 지점.

이 네 지점이 만들어진 다음, 가격이 넥라인을 위로 넘어서면 돌파로 본다. 목표치를 매기는 방식은 컵 앤 핸들 계열과 같은 논리를 쓴다. 넥라인에서 저점까지의 거리를 패턴의 깊이(D)로 재고, 돌파 지점에서 그 거리를 그대로 위로 투영한다.

측정이동 목표치는 패턴 깊이를 그대로 위로 미러링한 값이다

측정이동 목표치
목표치 = 넥라인 + D
--------------------------------------------------
D = 넥라인 − 저점 높이 (같은 단위, 상대값)
 
주의: 이건 "이렇게 계산한다"는 정의식이지, 이 값에 도달한다는
보장이 아니다. 돌파했다고 해서 목표치까지 반드시 가는 건
아니라는 게 측정이동 계열 전체의 공통 약점이다

계산 자체는 뺄셈과 덧셈뿐이라 어렵지 않다. 문제는 이 네 지점을 어떻게 자동으로 찍을 것인가다. “비슷한 높이"를 얼마까지 인정할지, 넥라인이 저점 대비 얼마나 튀어나와야 의미 있는 마루로 볼지, 돌파를 무엇으로 확정할지. 이 세 가지가 전부 사람의 재량이던 부분이다.

두 저점은 얼마나 같아야 같다고 볼 것인가

원론적으로는 두 저점이 정확히 같은 값이어야 “같은 자리에서 두 번 막혔다"고 말할 수 있다. 그런데 실제 가격은 소수점까지 일치하는 저점을 두 번 찍는 일이 거의 없다. 그래서 둘 사이에 어느 정도 차이까지 “거의 같다"로 봐줄지 허용폭을 정해야 한다.

두 저점의 높이차, 어디까지 같다로 볼 것인가

허용폭을 좁게 잡으면 패턴이 거의 안 걸린다. 반대로 넓게 잡으면 문제가 생긴다. 두 번째 저점이 첫 번째보다 눈에 띄게 낮은데도 허용 범위 안으로 쳐주면, 그건 반전이 아니라 그냥 하락이 계속되는 도중에 우연히 비슷한 높이를 두 번 지나간 것일 수 있다. 계단식으로 저점을 낮춰가는 하락 추세를 이중 바닥으로 오판하는 경우가 여기서 나온다. 허용폭 하나를 정하는 문제가 곧 “이게 반전이냐 하락의 연속이냐"를 가르는 문제가 된다.

이걸 코드로 옮기는 흔한 방법은 두 저점의 높이차를 패턴 깊이(D) 대비 비율로 재는 것이다. 예를 들어 “높이차가 D의 몇 퍼센트를 넘지 않아야 한다” 같은 임계값을 정할 수 있다. 여기서 분명히 해둘 게 있다. 이 퍼센트는 RSI의 14나 볼린저 밴드의 20일처럼 트레이딩뷰나 어느 표준 문서가 못박은 공식 파라미터가 아니다. 기술적 분석 문헌에서 흔히 되풀이해서 인용되는 경험칙은 두 저점의 가격차가 대략 몇 퍼센트 안쪽이어야 한다는 정도이지, 모두가 같은 숫자를 쓰는 기본값이 이 패턴에는 없다. 내가 임계값을 고르면 그게 곧 패턴의 정의가 되고, 임계값을 바꾸면 어제는 패턴이었던 모양이 오늘은 패턴이 아니게 된다. 같은 차트를 두고 서로 다른 자동 검출 스크립트가 다른 결과를 내는 경우가 흔한 이유가 여기 있다. 다들 다른 임계값을 쓰고 있어서다.

두 저점 사이의 시간 간격도 같은 문제를 안고 있다. 간격이 너무 좁으면 그냥 하나의 변동성 튐을 저점 두 개로 잘못 센 것일 수 있고, 너무 넓으면 애초에 같은 하락 국면에서 나온 저점인지 자체가 의심스러워진다. “충분히 떨어져 있어야 한다"는 조건에도 표준 봉 개수가 없다. 봉 3개면 되는지 10개는 돼야 하는지는 자산과 시간 프레임마다 다르게 정해야 하는 값이고, 이 역시 내가 정하는 순간 그게 정의가 된다.

넥라인은 얼마나 튀어나와야 의미가 있나

넥라인의 높이도 재량이 들어가는 지점이다. 두 저점 사이의 마루가 저점 대비 살짝만 튀어나온 정도라면, 그건 뚜렷한 저항선이라기보다 하락 도중의 작은 반등에 가깝다. 마루가 충분히 높아야 “저항선이 다시 확인됐다"는 서사가 성립한다. 여기서도 “충분히"를 숫자로 바꾸는 몫이 나에게 떨어진다. 패턴 깊이(D) 대비 마루 높이 비율로 하한선을 두는 방식을 쓸 수 있지만, 그 하한선 자체가 임의의 선택이라는 점은 저점 높이차 문제와 똑같다.

돌파를 무엇으로 확정할지도 정해야 한다. 캔들의 고가가 넥라인을 스치기만 해도 돌파로 볼지, 종가가 넥라인 위에서 마감해야 돌파로 볼지에 따라 결과가 갈린다.

넥라인 돌파, 무엇을 기준으로 확정할 것인가

고가 기준으로 판정하면 돌파가 더 빨리, 더 자주 잡힌다. 대신 꼬리만 살짝 넘겼다가 곧바로 밀리는 가짜 돌파를 그대로 신호로 잡아내는 대가를 치른다. 종가 기준으로 판정하면 가짜 돌파를 상당수 걸러내지만, 신호가 그만큼 늦게 나오고 놓치는 경우도 늘어난다. 어느 쪽이 “맞다"는 정답은 없다. 다만 어느 쪽을 골랐는지에 따라 같은 차트에서 완전히 다른 판정이 나온다는 점은 분명히 해둬야 한다. 여기에 봉 하나로 판정할지, 종가가 넥라인 위에서 며칠 유지돼야 확정으로 볼지(재확인, 리테스트)까지 넣으면 변수가 하나 더 늘어난다.

24시간 시장이 이중 바닥 판정에 얹는 함정

여기서부터는 코인 시장이라서 생기는 문제다. 두 가지를 짚는다.

첫째, 봉의 경계 자체가 거래소 설정값이다. 주식은 개장·폐장 시각이 시장 규칙으로 정해져 있어서 일봉의 경계가 모두에게 같다. 코인은 그렇지 않다. 업비트는 한국 시간(KST) 자정에 하루를 끊고, 해외 거래소 상당수는 협정 세계시(UTC) 자정에 끊는다. 아홉 시간 차이다. 이중 바닥은 두 저점의 정확한 높이와 그 사이 간격을 재는 패턴이라, 봉의 경계가 거래소마다 다르다는 게 작은 흠이 아니다. 같은 구간을 업비트 일봉으로 재느냐 UTC 기준 일봉으로 재느냐에 따라 첫 번째 저점의 종가가 달라질 수 있고, 두 저점 사이 간격이 하루 차이로 늘거나 줄 수도 있다. 패턴 검출 스크립트를 짤 때 어느 거래소의 어느 기준 시각 일봉을 썼는지부터 밝혀야 하는 이유다.

둘째, 주말·휴장이 없어서 갭이 드물다. 주식시장은 금요일 종가와 월요일 시가 사이에 갭이 뜨는 경우가 흔하고, 돌파가 갭으로 단번에 확정되는 장면을 전제로 만든 판정 기준이 꽤 있다. 코인은 24시간 쉬지 않고 거래되니 이런 갭이 거의 없다. 넥라인 돌파도 갭 없이 연속된 봉으로 서서히, 또는 급하게 진행된다. 갭 유무를 판정 조건에 끼워 넣은 스크립트를 그대로 코인에 옮기면, 애초에 나올 리 없는 조건을 기다리다 신호를 영영 못 받는 일이 생긴다.

셋째, 이건 이 패턴 고유의 문제라기보다 펌프펀 같은 자산에 특히 걸리는 함정인데, 밈코인 발행 플랫폼의 토큰은 개별 밈코인의 흥망과 얽혀 있다. 특정 밈코인 붐이 한 차례 꺼졌다가 다른 밈코인 붐이 새로 뜨는 식으로 플랫폼 전체의 발행·거래 활동이 파도치듯 오르내릴 수 있다. 캔들에 이중 바닥이 찍혔다고 해도, 그게 “매도 압력이 소진됐다"는 뜻인지 “마침 그 시점에 새로운 밈코인 붐이 우연히 겹쳤다"는 뜻인지 캔들만 봐서는 구분이 안 된다. 이중 바닥은 정의상 가격의 기하학만 보는 패턴이라, 그 뒤에 있는 사건은 안 본다. 이건 이중 바닥만의 약점이 아니라 캔들 기반 패턴 전체의 공통 약점이고, 플랫폼형 토큰처럼 활동 사이클이 뚜렷한 자산일수록 이 약점이 더 자주 걸린다.

내 봇 게이트에 넣을 것인가

방향성 자체는 이 패턴이 유리한 편이다. 이중 바닥은 상승 반전 신호라, 현물 봇이 그대로 매수 진입으로 쓸 수 있다. 컵 앤 핸들 계열 중 하락 지속형 패턴을 다뤘을 때 짚었던 “숏 신호인데 현물은 숏을 못 한다"는 구조적 어긋남이 여기는 없다. 이 점만 보면 이중 바닥 쪽이 실행 가능성은 더 높다.

그럼에도 넣지 않기로 했다. 이유를 그대로 남긴다.

첫째, 판정에 필요한 임계값 세 개(저점 높이차 허용폭, 넥라인 돌출 최소 높이, 돌파 확인 방식) 중 표준값이 있는 게 하나도 없다. RSI 14나 볼린저 20일처럼 다들 같은 값을 쓰는 기본값이 있으면 그 값이 틀렸을 때 “표준값이 틀렸다"고 말할 수 있다. 여기는 내가 정한 값이 틀렸을 때 그게 내 재량이 틀린 건지 패턴 자체가 안 맞는 건지 구분이 안 된다. 방향성이 유리하다고 해서 이 문제가 사라지는 건 아니다.

둘째, 세 임계값을 조합하면 경우의 수가 급격히 늘어난다. 저점 허용폭을 좁게, 돌파는 종가 기준으로 엄격하게 잡으면 신호가 거의 안 나온다. 반대로 다 느슨하게 잡으면 계단식 하락도 걸려든다. 이 조합을 시세 없이 이론적으로만 고르는 건 결국 임의의 선택 하나를 더 얹는 것과 같다. 시세를 받아 검증하지 않는 이 시리즈의 원칙상, 여기서 “이 조합이 낫다"고 단정하는 건 근거 없는 주장이 된다.

셋째, 펌프펀처럼 플랫폼 활동 사이클이 가격에 섞이는 자산에서는 판정이 맞아떨어져도 그 이유를 캔들만으로 설명할 수 없다는 문제가 남는다. 신호가 맞았다고 해도 그게 패턴의 힘인지 플랫폼 활동 사이클의 우연한 겹침인지 구분이 안 되면, 다음번에 같은 신호가 떴을 때 신뢰할 근거가 약해진다.

그렇다고 완전히 버리는 것도 아니다. 사람이 차트를 눈으로 훑을 때 참고 모양으로는 여전히 쓸모가 있다고 본다. 자동 매매 게이트에 안 넣는다는 것과 시각적으로 참고하지 않는다는 건 다른 이야기다. 방향성이 맞는 패턴이니, 표준 임계값이 자리 잡히거나 최소한 내가 일관되게 쓸 수 있는 값 하나를 실측으로 정할 수 있게 되면 다시 판단할 여지는 열어둔다.

남길 것

이번 편에서 남긴 것도 결론보다 질문 쪽이다. 이중 바닥은 컵 앤 핸들 계열보다 구조가 단순해서 판정이 쉬울 거라 생각했는데, 막상 뜯어보니 남은 변수 개수가 적을 뿐 그 변수 하나하나에 걸리는 재량의 무게는 줄지 않았다. 저점 높이차, 넥라인 돌출 높이, 돌파 확인 방식. 이 세 개를 어떻게 정하느냐에 따라 같은 차트가 패턴이 되기도 하고 안 되기도 한다는 사실을 다시 확인했다.

방향성이 맞는 패턴이라고 해서 채택 기준이 낮아지는 것도 아니라는 걸 짚어두고 싶다. 실행 가능하다는 것과 판정이 신뢰할 만하다는 것은 다른 층위의 문제다. 앞으로 다른 반전형 패턴(이중 천장, 헤드 앤 숄더 계열)을 다룰 때도, 방향이 현물 봇에 맞는지보다 임계값에 표준이 있는지를 먼저 따지는 순서를 유지할 생각이다.

이 글은 특정 자산의 매매를 권유하지 않는다. 기록은 전부 개인 개발 로그다.

약어 풀이

  • PUMP (Pump.fun) — 솔라나 기반 밈코인 발행 플랫폼 펌프펀의 토큰. 원화 명칭은 펌프펀.
  • RSI (Relative Strength Index) — 상대강도지수. 일정 기간 평균 상승폭과 평균 하락폭의 비율로 과매수·과매도를 재는 모멘텀 오실레이터.
  • KST (Korea Standard Time) — 한국 표준시. 협정 세계시보다 9시간 빠르다.
  • UTC (Coordinated Universal Time) — 협정 세계시. 대다수 해외 거래소가 하루 경계를 끊는 기준 시각.