이번 회차(C7)에 배정된 건 HYPE(하이퍼리퀴드)와 인사이드 바 전략(Inside Bar Strategy)이다. 트레이딩뷰 기본 전략 목록에 있는 스크립트인데, 이름만 보면 뭘 하는지 짐작이 잘 안 간다. “안쪽 봉"이라는 말 그대로 봉 하나가 다른 봉 안에 완전히 들어가 있는 모양을 신호로 쓰는 규칙이다.

먼저 밝혀둔다. 이 시리즈는 시세를 받지 않는다. 승률도 수익률도 적지 않는다. HYPE의 가격이 얼마였는지, 이 규칙을 걸었으면 얼마를 벌었을지는 이 글에 없다. 대신 규칙 자체를 뜯어서 무엇을 재고, 무엇을 못 보고, 내 봇에 넣을 만한지를 따진다. C1의 바입다운 전략 편과 같은 톤이다.

인사이드 바가 정의하는 것

정의부터 조건문으로 옮긴다. 어떤 봉의 고가가 직전 봉의 고가보다 낮고, 동시에 그 봉의 저가가 직전 봉의 저가보다 높으면, 그 봉은 직전 봉 안에 완전히 갇혀 있는 셈이다. 이걸 “안쪽 봉(inside bar)“이라 부르고, 기준이 된 직전 봉은 “어미 봉(mother bar)“이라 부른다. 코드로 옮기면 이런 모양이다.

isInside = (high < high[1]) and (low > low[1])

몸통이나 꼬리의 비율은 따지지 않는다. 오직 고가·저가 두 값의 대소 비교뿐이다. 그래서 조건 자체는 단순하지만, 시각적으로 확인하면 훨씬 빠르다. 아래 그림은 어미 봉과 그 안에 들어간 안쪽 봉의 관계를 보여준다.

인사이드 바 정의 모식도, 어미 봉의 고가·저가 안에 안쪽 봉이 완전히 들어간 모양을 보여준다

이 규칙에 깔린 심리는 이렇다. 직전 봉에서 매수·매도 세력이 크게 부딪혔는데, 다음 봉에서 그 범위를 벗어나지 못했다면 양쪽 다 힘이 빠졌거나 잠깐 숨을 고르고 있다는 뜻으로 읽는다. 압축된 범위 다음엔 어느 방향으로든 확장이 온다는 통념이 이 규칙의 전제다.

파라미터를 보면 흥미로운 점이 하나 있다. RSI 14, 볼린저 밴드 20일·2표준편차, MACD 12·26·9처럼 트레이딩뷰 기본값으로 박혀 있는 숫자가 인사이드 바 규칙에는 없다. 손으로 조정할 기간이나 배수, 임계값이 아예 없다. 있는 건 “직전 봉"이라는 상대 참조 하나뿐이다. 그래서 표준적인 의미의 과최적화—파라미터 값을 백테스트 성과에 맞춰 은근슬쩍 끼워 맞추는 일—에서는 비교적 자유롭다. 조정할 숫자 자체가 없으니 조정해서 성과를 부풀릴 구멍도 없다.

다만 숨은 파라미터가 하나 있다. 봉의 시간단위, 즉 타임프레임이다. 1시간봉에서의 인사이드 바와 일봉에서의 인사이드 바는 전혀 다른 사건을 가리킨다. 1시간봉 인사이드 바는 몇 시간짜리 소강상태를, 일봉 인사이드 바는 며칠짜리 소강상태를 뜻한다. 규칙 자체는 파라미터가 없다고 말할 수 있어도, 어느 시간단위에 적용하느냐를 고르는 순간 사실상 파라미터 하나를 골라 넣은 셈이 된다.

같은 논리로, 인사이드 바가 뜨는 자리와 안 뜨는 자리를 나란히 놓아본다. 고가나 저가 중 하나라도 직전 봉을 벗어나면 조건은 성립하지 않는다.

여러 봉을 나열해 인사이드 바 신호가 발생하는 경우와 고점 갱신·저점 하회로 신호가 발생하지 않는 경우를 대조한 모식도

왼쪽 쌍은 두 조건을 모두 만족해 신호가 뜬다. 가운데 쌍은 다음 봉이 고점을 갱신해버려서 조건이 깨진다. 오른쪽 쌍은 저점을 하회해서 역시 조건이 깨진다. 둘 중 하나만 어긋나도 인사이드 바가 아니라는 걸 그림으로 보면, 이 규칙이 얼마나 까다로운 조건인지 감이 온다.

진입 규칙 — 두 개의 대기 주문

인사이드 바가 확정되면, 바로 다음 봉부터 어미 봉의 고가 위에 매수 스톱을, 어미 봉의 저가 아래에 매도 스톱을 동시에 걸어둔다. 둘 중 하나가 먼저 닿으면 그 방향으로 진입하고, 반대편 주문은 자동으로 취소된다. 이런 짝을 OCO(One-Cancels-the-Other) 주문이라 부른다.

인사이드 바 이후 매수 스톱과 매도 스톱을 동시에 걸어두고, 한쪽이 체결되면 반대편이 자동 취소되는 과정을 상승·하락 두 시나리오로 나눠 보여주는 모식도

진입가와 손절가 사이의 거리를 생각해보면, 이 거리는 어미 봉의 몸통 폭이 아니라 어미 봉의 전체 범위—고가에서 저가까지—에 좌우된다는 걸 알 수 있다. 몸통은 작아도 꼬리가 길게 뻗은 어미 봉이면, 인사이드 바 자체는 “압축"처럼 보여도 진입 이후 감수할 손절 폭은 의외로 넓어질 수 있다.

여기서 청산 규칙을 짚어야 한다. 별도의 목표가나 트레일링 스톱 없이 반대편 극값만 손절로 쓴다면, 사실상 “반대 신호가 나올 때까지 들고 간다"는 뜻이 된다. 이건 스탑앤리버스(stop-and-reverse) 구조에 가깝다. 롱을 들고 있다가 다음 인사이드 바가 뜨고 이번엔 아래쪽이 뚫리면, 롱을 정리하는 동시에 숏으로 갈아탄다는 뜻이다. 청산 규칙이 따로 없다는 게 허술하다는 뜻이 아니라, 포지션이 거의 항상 시장에 노출돼 있는 구조를 골랐다는 뜻으로 읽어야 한다. 무포지션 구간이 짧다는 건 장점이 될 수도 있지만, 그만큼 슬리피지에 노출되는 빈도도 늘어난다는 뜻이다.

이 규칙이 못 보는 것

가장 먼저, 왜 범위가 좁아졌는지를 모른다. 인사이드 바는 “무슨 일이 있었는지"가 아니라 “범위가 좁아졌다"는 결과만 본다. 유동성이 마른 새벽 시간대에 다들 주문을 안 넣어서 생긴 압축과, 큰 발표를 앞두고 다들 손을 뗀 압축은 규칙 입장에서 똑같은 인사이드 바다. 이유가 다르면 이후 확장의 성격도 다를 텐데, 규칙은 그 차이를 구분할 방법이 없다.

두 번째, 압축의 상대적 크기를 모른다. 어미 봉이 원래 그 코인 치고 큰 범위였는지 작은 범위였는지에 대한 기준이 없다. ATR(Average True Range) 같은 변동성 잣대를 별도로 얹지 않으면, 원래도 조용히 움직이는 코인의 조용한 봉과, 평소 거칠게 움직이던 코인이 일시적으로 멈춘 봉을 같은 무게의 신호로 취급한다. 후자가 훨씬 의미 있는 압축일 가능성이 높은데도 그렇다.

세 번째, 다중 시간프레임 문제다. 상위 시간대(예컨대 일봉)에서는 명백한 인사이드 바로 보이는 구간이, 하위 시간대(예컨대 1시간봉)에서 뜯어보면 그냥 밋밋한 횡보의 일부에 지나지 않을 수 있다. 봉 하나의 정의가 그 자체로 완결된 사건이라고 착각하기 쉽지만, 실제로는 어느 해상도로 보느냐에 따라 전혀 다른 그림이 된다.

코인 시장의 함정 — 하루가 어디서 끝나는가

일봉 기준으로 인사이드 바를 쓴다면, “어제 봉"이 무엇인지부터 거래소마다 다르다는 문제에 부딪힌다. 업비트를 비롯한 원화 마켓은 KST 자정을 하루의 끝으로 삼고, 해외 거래소와 상당수 데이터 벤더는 UTC 자정을 쓴다. 그 차이는 아홉 시간이다.

같은 가격 경로를 KST 자정 기준과 UTC 자정 기준으로 각각 나눴을 때 일봉의 양봉·음봉 판정이 서로 다르게 나오는 것을 보여주는 모식도

그림에서 보듯, 같은 가격 경로라도 하루를 어디서 끊느냐에 따라 어제 봉이 양봉이었는지 음봉이었는지가 뒤집힐 수 있고, 그 봉의 고가·저가 값 자체도 달라진다. 인사이드 바는 “직전 봉의 고가·저가"를 그대로 참조하는 규칙이라, 이 경계 선택에 결과가 그대로 종속된다. KST 자정 기준으로는 어제가 음봉이라 어미 봉의 저가가 특정 값이었는데, UTC 자정 기준으로 보면 어제라는 구간 자체가 다른 아홉 시간을 담고 있어서 저가 값이 달라진다. 백테스트를 어느 벤더 데이터로 돌렸는지, 실거래는 어느 거래소 봉을 기준으로 신호를 판단하는지가 어긋나면, 같은 코드를 돌려도 다른 신호가 나올 수 있다는 뜻이다.

추가로 짚을 함정이 두 가지 더 있다. 하나는 갭이다. 주식은 주말과 휴장이 있어서 스톱 주문이 갭으로 건너뛰는 일이 흔하지만, 코인은 24시간 쉬지 않고 거래되기 때문에 그런 의미의 갭이 드물다. 매수 스톱을 걸어놨을 때 가격이 그 값을 뛰어넘어 체결되는 일보다는, 그 값 근처에서 체결되는 경우가 더 흔하다는 뜻이다. 주식판 전략을 그대로 옮기면서 슬리피지를 갭 기준으로 계산하면 실제보다 과대평가하게 된다.

다른 하나는 공매도다. 현물 계좌에는 숏이 없다. 매도 스톱이 닿았을 때 “숏 진입"을 그대로 실행할 수 있는 건 선물·마진 계좌뿐이고, 현물만 쓴다면 그 신호는 보유 물량을 정리하는 데까지만 쓸 수 있다. 애초에 인사이드 바 전략 같은 스톱앤리버스 구조는 롱과 숏을 대칭으로 다루는 시장, 즉 선물에서 태어난 규칙이다. 이걸 코인 현물에 그대로 옮기면 절반—숏 쪽—은 애초에 실행 불가능한 신호가 된다.

HYPE라는 무대

하이퍼리퀴드는 자체 L1 위에서 온체인 주문장 방식으로 파생상품을 매칭하는 프로토콜이고, HYPE는 그 체인의 네이티브 토큰이다. 유동성 풀에 가격을 맡기는 AMM(Automated Market Maker) 구조와 달리 매수·매도 호가가 그대로 쌓이는 방식이라는 점이 특징으로 자주 언급된다. 이번 인사이드 바 전략처럼 특정 가격에 대기 주문을 걸어두는 방식의 직관이, 오더북이 실제로 존재하는 무대에서는 그나마 자연스럽게 들어맞는 편이다.

다만 이건 “체인이 오더북 구조를 쓴다"는 설계 얘기지, HYPE 토큰 자체의 가격이 그 오더북의 유동성과 정비례한다는 뜻은 아니다. 거래소 토큰이 대개 그렇듯, 플랫폼의 수수료 수입이나 소각·매입 정책이 가격 논리에 섞여 들어간다고만 해두고, 구체적인 수치는 시세를 다루지 않는 이 글에서는 밝히지 않는다. 확신이 없는 숫자를 적느니 비워두는 쪽을 택했다.

구조적으로 짚을 만한 지점은 하나 더 있다. HYPE는 파생상품 거래소 자체의 토큰이라, 그 체인 위 선물 시장에서 대규모 청산이 몰리는 순간의 충격이 현물가에도 비교적 빠르게 전달되기 쉬운 위치에 있다. 청산이 몰리면 짧은 시간에 압축과 확장이 번갈아 나타날 수 있다는 뜻인데, 이 문장 역시 실제로 관측한 수치가 아니라 구조에서 나오는 추정이라는 점을 밝혀둔다. 인사이드 바 전략처럼 “압축 다음엔 확장"을 전제하는 규칙이라면, 이런 구조를 가진 자산에서 압축의 원인이 유독 다양해진다는 점 정도는 염두에 둘 만하다.

내 봇에 넣을 것인가

결론부터 적는다. 이 규칙을 단독 전략으로는 넣지 않기로 했다. 걸리는 지점은 두 가지다. 첫째, 익절 규칙이 없어서 사실상 스탑앤리버스로 돌아간다는 점. 둘째, 압축의 ‘크기’를 재는 장치가 없다는 점이다. 어미 봉이 원래 좁은 범위인지, 아니면 평소보다 유난히 좁아진 건지 구분하지 못하면, 사소한 흔들림마다 스톱이 걸렸다가 곧바로 반대편이 취소되는 잦은 진입을 반복할 여지가 있다.

버리기로 한 결론이라고 해서 쓸모가 없다는 뜻은 아니다. “직전 봉 안에 완전히 갇혀 있다"는 조건 자체는 다른 신호의 필터로는 쓸 만하다고 본다. 예를 들어 돌파성 전략을 실행하기 전에 “최근 몇 봉 안에 인사이드 바가 있었는가"를 게이트 조건으로 걸면, 압축 뒤 확장이라는 통념을 다른 진입 로직 위에 얹을 수 있다. 이번 글에서는 이 아이디어를 결론으로만 남겨둔다. 실제로 게이트에 넣을지는 ATR 필터나 다중 시간프레임 확인 같은 보완책을 따로 검증한 다음에 판단할 일이다.

넣지 않기로 한 결론을 그대로 남기는 이유는 간단하다. 지금 버린 이유—익절 부재, 크기 기준 부재—가 나중에 필터를 더해서 되살릴 수 있는 조건이라면, 그 이유를 기록해둬야 다시 판단할 때 같은 고민을 반복하지 않는다.

이번 편은 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 승률도, HYPE 가격도 적지 않은 이유가 그래서다. 이 글은 투자 권유가 아니며, 특정 코인이나 전략의 매수·매도를 추천하지 않는다.

약어 풀이

  • HYPE — 하이퍼리퀴드 체인의 네이티브 토큰.
  • DEX (Decentralized Exchange) — 탈중앙화 거래소.
  • AMM (Automated Market Maker) — 유동성 풀로 가격을 정하는 자동화 마켓 메이커 방식.
  • OCO (One-Cancels-the-Other) — 한쪽 주문이 체결되면 나머지 주문이 자동 취소되는 주문 방식.
  • ATR (Average True Range) — 평균 실제 범위. 변동성 크기를 재는 지표.
  • KST (Korea Standard Time) — 한국 표준시.
  • UTC (Coordinated Universal Time) — 협정 세계시.
  • RSI (Relative Strength Index) — 상대강도지수. 다른 지표의 기본 파라미터를 비교할 때 예시로 인용.
  • MACD (Moving Average Convergence Divergence) — 이동평균수렴확산지수. 마찬가지로 비교 예시.