트레이딩뷰 전략 목록을 위에서부터 훑다 보면 이름이 딱 규칙을 말해주는 것들이 있다. Channel Breakout Strategy도 그렇다. 최근 N개 봉의 고가·저가로 채널을 그리고, 그 채널을 뚫으면 그 방향으로 들어간다. 이번 편은 이 전략을 리플(XRP)을 무대로 놓고 해부한다.

미리 밝혀둔다. 이번 편은 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 승률도, 수익률도, 신호가 몇 번 났는지도 적지 않는다. 리플 가격을 단 한 번도 조회하지 않았기 때문에 적을 수가 없다. 대신 규칙이 정의로 갖는 숫자, 즉 파라미터 기본값만 다룬다. 아래 그림은 전부 실제 시세가 아니라 규칙을 설명하기 위한 모식도다.

규칙: 다섯 개 봉이 채널이 되는 순간

채널 브레이크아웃 전략의 뼈대는 두 줄이다. 최근 length개 봉의 고가 중 최댓값을 상단 밴드로, 저가 중 최솟값을 하단 밴드로 삼는다. 그리고 지금 봉의 고가가 전봉 기준 상단 밴드를 최소 호가 단위만큼 넘으면 롱으로 진입하고, 지금 봉의 저가가 전봉 기준 하단 밴드를 최소 호가 단위만큼 밑돌면 숏으로 진입한다.

상단 밴드 = highest(high, length)
하단 밴드 = lowest(low, length)

진입 조건 (롱): 이번 봉 high > 전봉 상단 밴드 + 최소 호가
진입 조건 (숏): 이번 봉 low  < 전봉 하단 밴드 - 최소 호가

트레이딩뷰가 붙여둔 기본값은 length = 5다. 최솟값 1, 최댓값 1000까지 자유롭게 바꿀 수 있지만, 처음 켰을 때 뜨는 숫자는 5봉이다. 이게 왜 눈에 띄는 숫자인가 하면, 채널 돌파라는 아이디어 자체는 터틀 트레이딩 시스템으로 유명해진 돈치안 채널을 떠올리게 하는데, 그쪽에서 흔히 쓰는 값은 20일이나 55일이다. 트레이딩뷰 기본값 5는 그보다 훨씬 짧다. 짧은 채널은 그만큼 최근 며칠의 흔들림만으로도 밴드가 다시 그어진다는 뜻이라, 돌파가 훨씬 자주, 훨씬 얕은 폭에서 일어난다.

밴드를 계산할 때 highest·lowest에 들어가는 값이 종가가 아니라 고가·저가라는 점도 짚어둘 만하다. 종가 기준 채널이었다면 장중 꼬리는 무시하고 마감가만으로 밴드가 움직였을 텐데, 이 전략은 고가·저가를 그대로 쓰기 때문에 긴 꼬리를 남긴 봉 하나가 다음 며칠의 밴드 위치를 통째로 끌어올리거나 끌어내린다. 그림 1은 이 구조를 모식도로 보여준다. 다섯 봉 채널이 계단 모양으로 움직이다가, 어느 시점에 고가가 전봉 상단 밴드를 넘으면서 롱 진입 조건이 충족되는 장면이다.

채널 브레이크아웃 전략의 5봉 채널과 돌파 신호 구조 모식도

조건문으로 그대로 옮기면

이 전략은 진입 조건이 두 줄뿐이라 조건문으로 옮기기가 어렵지 않다.

if high[0] > highest(high[1..length]) + tick and position <= 0:
    진입: 롱
elif low[0] < lowest(low[1..length]) - tick and position >= 0:
    진입: 숏

파라미터가 아예 없는 규칙이라면 과최적화 걱정에서 어느 정도 자유롭다고 말할 수 있다. 예를 들어 “종가가 시가보다 높으면 양봉"처럼 정의 자체에 조정할 손잡이가 없는 규칙이 그렇다. 하지만 채널 브레이크아웃 전략은 그런 경우가 아니다. length라는 손잡이가 하나 있고, 이 손잡이를 5로 둘지 20으로 둘지에 따라 신호 빈도와 진입 타점이 완전히 달라진다. 다시 말해 이 규칙은 “얼마나 과거를 볼 것인가"라는 선택을 이미 내장하고 있고, 그 선택이 기본값 5라는 것뿐이다. 기본값을 쓴다고 과최적화에서 자유로워지는 건 아니다. 그저 트레이딩뷰가 대신 골라준 값을 그대로 받아들이는 것일 뿐이다.

청산 규칙이 없다는 것의 의미

이 전략을 조건문으로 옮기면서 가장 먼저 눈에 걸리는 건 청산 조건이 아예 없다는 점이다. 손절도, 목표가도, 시간 청산도 없다. 있는 건 진입 조건 두 줄뿐이다.

이게 실무에서 뜻하는 바는 명확하다. 롱 포지션을 들고 있는 상태에서 숏 진입 조건이 충족되면, 새 주문은 기존 롱을 정리하는 동시에 반대 방향으로 포지션을 뒤집는다. 즉 이 전략은 늘 시장에 발을 걸치고 있는 구조다. 롱이 아니면 숏이고, 둘 중 하나가 끝나는 유일한 방법은 반대 신호가 뜨는 것뿐이다. 손절선이 없으니 밴드를 뚫고 들어간 뒤 가격이 반대로 크게 미끄러져도 규칙 자체는 버티라고 말한다. 봇에 그대로 옮긴다면 이 “항상 포지션 보유” 성격을 자산 배분·리스크 한도와 어떻게 맞출지부터 따로 설계해야 한다는 뜻이다. 별도의 손절 레이어를 씌우지 않으면 하락장에서 롱을 쥔 채 무한정 버티는 그림이 나온다.

파라미터 하나가 만드는 차이

length를 5로 두느냐 20으로 두느냐는 그림으로 보면 차이가 뚜렷하다. 같은 가격 경로를 두고 두 값을 나란히 계산해보면, 5봉 채널은 가격을 바짝 따라붙어 신호를 자주 낸다. 20봉 채널은 훨씬 느슨해서 어지간한 흔들림은 채널 안에서 흡수되고, 진짜 방향 전환이 나올 때만 뒤늦게 반응한다.

채널 브레이크아웃 전략의 length 5와 20 파라미터 민감도 비교 모식도

그림 2는 이 차이를 같은 경로 위에서 보여준다. length가 짧을수록 신호가 잦고 대신 얕은 되돌림에도 걸려든다. length가 길수록 신호가 드물고 대신 추세가 이미 상당히 진행된 뒤에야 올라탄다. 이건 어느 쪽이 “맞다"는 문제가 아니라 트레이드오프다. 짧은 채널은 반응은 빠르지만 소음에 취약하고, 긴 채널은 소음은 걸러내지만 반응이 늦다. 트레이딩뷰가 기본값으로 5를 골라둔 이유까지는 공식 문서에 나와 있지 않다. 다만 5라는 값 자체가 “빠른 반응"쪽에 무게를 둔 선택이라는 점은 계산식만 봐도 알 수 있다.

이 규칙이 못 보는 것

채널 브레이크아웃 전략은 딱 두 값(현재 봉의 고가·저가, 전봉까지의 채널)만 보고 판단한다. 그래서 진입하는 순간에는 이 돌파가 진짜인지 가짜인지 전혀 구별하지 못한다.

돌파 직후 되돌림과 돌파 후 추세 지속을 나란히 비교한 모식도

그림 3의 왼쪽은 상단 밴드를 뚫고 롱 신호가 뜬 바로 다음 봉에서 가격이 그대로 반대편으로 미끄러지는 경우다. 규칙 입장에서는 진입 시점에 두 경우가 완전히 똑같은 모양으로 보인다. “이번 고가가 전봉 상단 밴드보다 높다"는 조건만 만족하면 진입하기 때문에, 거래량이 실렸는지, 다른 시간대에서도 같은 방향인지, 뒤이은 봉이 돌파를 확인해주는지는 아예 규칙에 들어있지 않다. 오른쪽처럼 돌파 후 추세가 이어지는 경우와 왼쪽처럼 바로 되돌리는 경우를 진입 시점에 나눌 방법이 규칙 안에는 없다는 뜻이다. 이걸 걸러내려면 거래량 필터나 후속 봉 확인 같은 조건을 별도로 얹어야 하는데, 그 순간 이 전략은 더 이상 “두 줄짜리 규칙"이 아니게 된다.

코인 시장에서 걸리는 함정 두 가지

이 전략을 코인에 그대로 옮기면 주식에는 없던 함정이 두 개 생긴다.

첫째는 일봉 경계 문제다. 코인은 24시간 거래되고 휴장이 없다 보니, “하루"를 어디서 끊을지는 거래소마다 다르다. 업비트는 KST 자정을 기준으로 일봉을 끊고, 해외 거래소 상당수는 UTC 자정을 기준으로 끊는다. 아홉 시간 차이다. length가 5봉밖에 안 되는 채널에서는 이 아홉 시간 차이가 치명적이다. 같은 하루 24시간 동안의 가격 움직임이라도 어느 지점에서 봉을 끊느냐에 따라 그 봉이 양봉으로 잡히느냐 음봉으로 잡히느냐가 뒤집힐 수 있고, 그러면 채널의 상단·하단 밴드 위치 자체가 달라진다. 다섯 봉만 보는 채널이라 이 왜곡이 20봉, 55봉짜리 채널보다 훨씬 크게 반영된다.

같은 가격 경로를 다른 일봉 경계로 잘랐을 때 봉의 방향 판정이 달라지는 모식도

그림 4는 이 상황을 보여준다. 똑같은 시간봉 가격 경로를, 자정 기준을 다르게 잡아 일봉으로 묶었을 뿐인데 같은 구간이 어느 쪽에서는 양봉으로, 다른 쪽에서는 음봉으로 잡힌다. 봇을 돌리는 거래소를 바꾸는 것만으로 다섯 봉짜리 채널의 모양이 통째로 바뀔 수 있다는 뜻이다.

둘째는 숏 진입을 못 쓴다는 점이다. 이 전략은 하단 밴드를 뚫으면 숏으로 진입하라고 말하는데, 현물 거래만 지원하는 봇에서는 공매도 자체가 불가능하다. 그러면 신호의 절반은 애초에 실행할 수 없는 명령이 된다. 숏 신호가 뜰 때 할 수 있는 건 기존 롱 포지션을 정리하는 것까지고, 그 자리에서 새로 숏을 잡는 건 선물 계좌로 넘어가지 않는 한 불가능하다. 규칙을 현물 봇에 옮긴다면 처음부터 “숏 조건 = 청산만” 이라고 절반을 잘라내고 시작해야 한다는 뜻이다.

리플이라는 무대

리플(XRP)을 이번 편의 무대로 고른 건 성과를 보여주기 좋아서가 아니라, 채널 돌파 규칙이 흔들릴 만한 성격을 가진 코인이라서다. XRP는 이더리움 같은 범용 스마트컨트랙트 체인 위가 아니라 XRP 렛저라는 자체 원장 위에서 돈다. 채굴자가 블록을 캐는 방식이 아니라 검증자들의 합의로 블록을 확정하는 구조라, 확정 속도가 빠르고 수수료가 거의 고정돼 있다는 점이 자주 거론된다. 이런 구조 자체는 채널 돌파 규칙과 직접 관계는 없다. 문제는 다른 데 있다.

XRP를 발행한 리플랩스는 미국 증권거래위원회(SEC)와 XRP의 증권성 여부를 놓고 수년째 소송을 이어온 당사자다. 이 소송 관련 소식이 뜰 때마다 XRP 가격이 기술적 흐름과 무관하게 큰 폭으로 튀는 일이 반복됐다는 건 널리 알려진 사실이다. 채널 브레이크아웃 전략처럼 “최근 며칠의 고가·저가"만 보고 판단하는 규칙 입장에서는, 이런 소송 뉴스발 급등락이 밈코인의 뉴스발 급등락과 비슷한 방식으로 문제가 된다. 규칙은 그 캔들이 왜 그렇게 튀었는지 모른다. 그냥 상단 밴드를 넘었으니 롱을 잡고, 하단 밴드를 깼으니 숏을 잡을 뿐이다. 뉴스 한 줄이 다섯 봉짜리 채널을 통째로 다시 그리게 만들 수 있는 코인이라는 점에서, XRP는 이 짧은 채널 규칙을 시험해보기에 나쁘지 않은 사고 실험 대상이다.

결론: 내 봇 게이트에 넣을 것인가

이번 편은 넣지 않는 쪽으로 정리한다. 이유를 그대로 남긴다.

첫째, 청산 규칙이 없는 “항상 포지션 보유” 구조가 내 봇의 설계 방식과 안 맞는다. 내 봇은 진입 게이트와 청산 로직을 분리해서 관리하는데, 이 전략은 그 경계 자체가 없다. 반대 신호가 뜨기 전까지는 무조건 버티는 구조를 게이트 하나로 편입시키려면 별도의 손절 레이어를 처음부터 새로 설계해야 하고, 그러면 이미 원래 전략이 아니게 된다.

둘째, 숏 신호의 절반을 실행할 수 없는 현물 환경에서는 규칙의 절반만 살아남는다. 롱 쪽만 쓰겠다고 정하면 그건 더 이상 채널 브레이크아웃 전략이 아니라 “5봉 상단 돌파 매수"라는 다른 규칙이 된다. 이름이 다른 규칙을 원래 이름으로 부르고 싶지 않다.

셋째, length=5라는 기본값이 코인 시장, 그중에서도 일봉 경계가 거래소마다 다른 환경에서 특히 예민하게 흔들린다는 점이 마음에 걸린다. 파라미터를 늘려서(예를 들어 20) 이 예민함을 줄일 수는 있겠지만, 그 순간 트레이딩뷰 기본값을 그대로 검증한다는 이번 편의 전제에서 벗어난다.

버리지 않고 남겨두는 것도 있다. 다섯 봉짜리 짧은 채널이라는 아이디어 자체, 즉 “최근 극값을 넘으면 추세 전환으로 본다"는 발상은 다른 지표와 조합할 여지가 있다. 예를 들어 진입 조건은 그대로 두고 청산만 별도의 트레일링 스톱으로 갈아 끼우면, 지금 걸린 첫 번째 이유는 해소된다. 이건 다음에 다른 전략을 다룰 때 다시 꺼내볼 만한 메모로 남겨둔다.

이 글은 투자 권유가 아니다. 여기 나온 계산식과 모식도는 전략의 구조를 설명하기 위한 것이지 매매 신호가 아니다.

약어 풀이

  • XRP (Ripple) — 리플랩스가 만든 결제·정산용 코인이자 그 코인이 도는 원장의 기본 자산 티커.
  • SEC (Securities and Exchange Commission) — 미국 증권거래위원회. 리플랩스와 XRP의 증권성을 놓고 수년째 소송을 이어왔다.
  • KST (Korea Standard Time) — 한국 표준시, UTC보다 9시간 빠르다.
  • UTC (Coordinated Universal Time) — 협정 세계시. 해외 거래소 상당수가 일봉 경계 기준으로 쓴다.