서론: 눈으로는 쉬운데 코드로는 어려운 모양

삼각형은 차트 패턴 중에서도 가장 먼저 배우는 모양이다. 고점은 점점 낮아지고 저점은 점점 높아져서 봉의 움직임이 꼭짓점을 향해 좁혀든다. 에너지가 압축되었다가 어느 쪽으로든 터진다는 설명이 붙는다. 그림책에서 보면 너무나 명확하다.

문제는 이걸 봇에 넣으려고 하면 시작된다. 사람은 차트를 훑다가 “아, 삼각형이네” 하고 선을 긋는다. 코드는 어디서부터 어디까지가 삼각형인지, 선이 몇 번 닿아야 하는지, 꼬리로 닿는지 종가로 닿는지를 전부 숫자로 정해야 한다. 그 숫자를 정하는 순간 패턴은 더 이상 그림책의 그 패턴이 아니다.

이번 편은 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 승률을 적지 않은 이유도 그래서다. 이 시리즈는 가격을 조회하지 않는다. 그림도 전부 실제 시세가 아니라 규칙을 설명하기 위한 모식도이고, 손으로 만든 값으로 그렸다. 축에 가격 숫자가 없는 것도 같은 이유다.

무대로는 에테나(ENA)를 세웠다. 에테나는 합성 달러 성격의 USDe를 발행하는 프로토콜의 거버넌스 토큰으로 알려져 있다. 이 코인이 삼각형 규칙에 어떤 성격을 보일지는 뒤에서 사고 실험으로만 다룬다. 가격을 보지 않았으니 이 코인에서 삼각형이 잘 맞았는지 아닌지는 말할 수 없다.

본론 1: 삼각형은 무엇을 재는가

삼각형이 재려는 것은 변동 폭의 수축이다. 정의는 단순하다.

  • 일정 구간 안에서 고점들을 이은 선(상단선)이 있다.
  • 같은 구간에서 저점들을 이은 선(하단선)이 있다.
  • 두 선이 오른쪽으로 갈수록 서로 가까워진다.

그림 1이 가장 기본인 대칭 삼각형이다. 상단선은 내려오고 하단선은 올라간다. 위아래 어느 쪽도 우세하지 않다는 뜻이라서 방향을 미리 말해주지 않는다. 이 점이 중요하다. 대칭 삼각형은 “곧 크게 움직인다"까지만 말하고 “어느 쪽으로"는 말하지 않는다.

대칭 삼각형의 기본 모양 모식도

세 종류로 나누는 기준은 어느 선이 평평하냐다. 그림 2를 보자.

세 가지 삼각형 모식도

  • 대칭: 상단선이 내려오고 하단선이 올라온다.
  • 상승: 상단선이 수평이고 하단선이 올라온다. 같은 높이에서 계속 막히지만 저점이 높아진다는 해석이 붙는다.
  • 하락: 하단선이 수평이고 상단선이 내려온다. 같은 바닥을 계속 두드리지만 고점이 낮아진다는 해석이 붙는다.

여기서 “해석이 붙는다"고 쓴 데 이유가 있다. 상승 삼각형은 위로 터지기 쉽다는 말이 전해지지만, 나는 그 문장을 검증하지 않았다. 규칙을 설명하는 글이라서 정의까지만 쓴다.

본론 2: 어떻게 계산하나

패턴은 지표처럼 하나의 수식이 없다. 그래서 검출 규칙을 조건문으로 풀어 써야 한다. 내가 생각하는 최소한의 구성은 이렇다.

  1. 일정 길이의 구간에서 스윙 고점과 스윙 저점을 찾는다. 스윙은 좌우 몇 봉보다 높은(낮은) 봉이라는 식으로 정의한다.
  2. 스윙 고점이 2개 이상, 스윙 저점이 2개 이상 있어야 한다. 점 두 개면 선은 항상 그어지기 때문에 사실상 최소 조건이다.
  3. 상단선과 하단선의 기울기를 계산한다.
  4. 두 선이 오른쪽에서 만나야 한다. 즉 폭이 줄어드는 방향이어야 한다.
  5. 현재 봉이 상단선 위로 닫히거나 하단선 아래로 닫히면 이탈로 본다.

이 다섯 줄에 파라미터가 줄줄이 숨어 있다. 스윙의 좌우 폭, 구간 길이, 선이 닿았다고 인정하는 허용 오차, 이탈을 꼬리로 보느냐 종가로 보느냐. 파라미터가 하나도 없는 규칙은 과최적화에서 자유롭지만 삼각형은 정반대다. 파라미터가 많아서 어떤 차트에든 맞는 값을 찾아낼 수 있다. 이게 패턴 규칙의 첫 번째 위험이다.

본론 3: 사람의 눈과 규칙은 어떻게 다른가

그림 3은 같은 봉에 선을 두 가지 방식으로 그은 것이다.

같은 봉, 다른 선

왼쪽은 사람이 하듯이 꼬리 끝을 이었다. 오른쪽은 종가만 쓰면 선의 기울기와 위치가 달라진다는 점을 주황색으로 보여준다. 어느 쪽이 맞다는 정답은 없다. 하지만 이탈 판정은 이 선 위에서 일어난다. 선이 조금만 달라져도 어제 이탈이던 봉이 오늘은 이탈이 아니다.

사람은 이 모호함을 맥락으로 메운다. “여긴 이미 세 번 막혔으니까 이 선이 맞아” 하는 식이다. 규칙은 맥락이 없다. 그래서 자동 검출이 어려운 이유를 구체적으로 적으면 이렇다.

  • 기준선 각도: 상단선이 얼마나 내려와야 수평으로 볼지(상승 삼각형과 대칭 삼각형의 경계)를 숫자로 정해야 한다. 경계에 걸린 모양이 많다.
  • 되돌림 허용폭: 선에 한두 봉이 살짝 삐져나왔을 때 패턴을 깨진 것으로 볼지 이어갈지.
  • 시작점: 어느 고점부터 선을 긋느냐에 따라 같은 차트에서 삼각형이 있기도 하고 없기도 하다.
  • 구간 길이: 짧게 보면 삼각형이 여러 개, 길게 보면 하나의 큰 삼각형 안에 작은 박스가 들어 있다.

스윙을 찾는 데 쓰는 변동성 기준으로 평균 실제 범위(ATR)를 쓰는 방법도 있다. 허용 오차를 고정 숫자가 아니라 ATR의 배수로 두면 변동이 큰 구간과 작은 구간에서 같은 기준을 쓸 수 있다. 다만 이건 파라미터를 하나 더 늘리는 일이기도 하다.

본론 4: 못 보는 것

삼각형 규칙이 구조적으로 못 보는 것을 적는다.

첫째, 방향. 대칭 삼각형은 방향을 모른다. 이탈이 나기 전에는 위인지 아래인지 알 수 없고, 이탈이 난 뒤에는 이미 움직임의 일부가 지나갔다. 이탈을 확인하려고 종가까지 기다리면 더 늦는다.

둘째, 가짜 이탈. 그림 4가 그 대비다.

이탈 신호가 나는 자리와 속는 자리

왼쪽은 선을 뚫고 이어지는 경우, 오른쪽은 뚫었다가 선 안으로 돌아와 반대로 가는 경우다. 이탈 시점의 봉만 보면 두 경우가 똑같다. 규칙은 그 시점에 이미 신호를 냈으므로 오른쪽에서는 손절 규칙이 없으면 그대로 물린다. 둘을 가르는 것은 이탈 이후의 봉이고, 그건 신호가 난 뒤에야 알 수 있다. 이게 패턴 규칙의 가장 큰 한계다.

셋째, 꼭짓점의 위치. 삼각형이 꼭짓점 끝까지 가면 폭이 너무 좁아져서 이탈 기준 자체가 노이즈에 묻힌다. 보통 꼭짓점 훨씬 앞에서 터진다는 이야기는 있지만, 어디까지를 유효로 볼지는 또 하나의 파라미터다.

넷째, 시장 구조. 차트만 보는 규칙은 차트 밖의 사정을 모른다.

코인 시장의 함정: 일봉의 경계가 거래소 설정값이다

코인은 24시간 돌아간다. 그래서 일봉의 시작과 끝은 거래소가 정한 설정값일 뿐이다. 국내 거래소는 한국 표준시(KST) 자정, 해외 거래소는 세계 협정시(UTC) 자정에서 끊는 경우가 많고, 둘은 아홉 시간 차이다. 삼각형은 스윙 고점과 저점으로 선을 긋기 때문에, 봉을 어디서 끊느냐에 따라 고점과 저점이 다른 봉에 찍히고 선의 모양이 달라진다. 종가를 기준으로 이탈을 판정하면 더 민감하다. 같은 순간에 어떤 거래소 일봉에서는 이탈이고 다른 곳에서는 선 안에 있을 수 있다. 주식처럼 하나의 종가가 있는 시장이 아니라는 점을 규칙에 넣지 않으면, 백테스트와 실제 체결이 다른 봉을 보고 있게 된다.

또 하나, 현물에는 공매도가 없다. 하락 삼각형의 아래쪽 이탈은 신호가 나도 진입에 쓸 수 없다. 청산 신호나 관망 신호로만 쓸 수 있다. 상승 쪽 이탈만 진입에 쓰면 규칙의 절반이 꺼진다.

무대: 에테나에서는 어떨까 (사고 실험)

다시 말하지만 가격은 보지 않았다. 성격만 놓고 따져본다.

에테나는 USDe를 둘러싼 프로토콜의 토큰으로 알려져 있다. 그렇다면 이 토큰의 가격 논리에는 차트 밖 요인, 즉 프로토콜의 수요와 정책이 섞여 있을 것이다. 이 요인은 갑자기 바뀔 수 있고 차트에는 사건이 터진 뒤에야 나타난다. 삼각형이 만든 압축은 이런 외부 사건이 있으면 쉽게 깨진다. 패턴은 가격만 보는 규칙이라서 사건의 방향을 알려줄 수 없다.

반대로 이런 성격은 삼각형 규칙에 불리하다고만 할 수도 없다. 변동이 갑자기 터지는 자산이라면 압축 뒤 이탈이 자주 나올 수 있고, 그 경우 규칙은 자주 신호를 낸다. 신호가 자주 나는 것과 잘 맞는 것은 다른 이야기다. 이 부분은 재지 않았으므로 “그럴 수 있다"까지만 쓴다. 세부 사실은 내가 확신하는 범위만 적었고, 최근 사건이나 발행량 같은 건 일부러 뺐다.

결론: 봇에 넣을 것인가

내 봇의 진입 게이트는 조건이 적고 파라미터가 적은 편이다. 삼각형을 그 옆에 놓고 비교하면 이렇다.

  • 파라미터 수: 삼각형은 스윙 폭, 구간 길이, 허용 오차, 종가·꼬리 선택까지 최소 네 개다. 게이트에 들어가는 순간 가장 파라미터가 많은 규칙이 된다.
  • 재현성: 같은 차트에서 같은 신호가 나와야 한다. 삼각형은 시작점 하나로 결과가 달라진다.
  • 청산: 삼각형은 진입 근거만 주고 청산 규칙은 없다. 선 안쪽으로 돌아오면 청산한다는 식의 규칙을 내가 따로 붙여야 한다.

그래서 이번에는 넣지 않기로 했다. 이유는 두 가지다. 파라미터가 많아 과최적화 위험이 크다는 것, 그리고 가짜 이탈을 신호 시점에는 거를 수 없다는 것. 다만 아주 버리지는 않는다. 이탈 신호를 단독 진입이 아니라 거래량이나 다른 게이트의 보조 확인으로 쓰는 방법은 나중에 따로 재볼 만하다. 그때는 시세를 받아 실제로 검출해야 하고, 이 글에는 그 결과가 없다.

이번 편은 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 그래서 승률도 수익률도 적지 않았다. 이 글은 투자 권유가 아니며, 매매 판단과 그 결과의 책임은 본인에게 있다.

약어 풀이

  • ENA (Ethena) — 에테나. 이번 편에서 사고 실험의 무대로 세운 코인 심볼.
  • USDe (Ethena USDe) — 에테나 프로토콜이 발행하는 합성 달러 성격의 토큰.
  • ATR (Average True Range) — 평균 실제 범위. 변동성 크기를 재는 지표.
  • KST (Korea Standard Time) — 한국 표준시. 국내 거래소 일봉의 경계 기준.
  • UTC (Coordinated Universal Time) — 협정 세계시. 해외 거래소 일봉의 경계 기준.