이번 회차 배정을 열어보니 모네로와 아웃사이드 바 전략이 나왔다. 아웃사이드 바는 이름부터 낯설지 않다. 캔들 하나가 바로 앞 캔들의 고가와 저가를 통째로 감싸는 모양, 그것뿐이다. 규칙이 짧아서 오히려 뜯어볼 게 많다. 이번 편도 시세를 받아 성과를 검증한 글이 아니라 규칙 자체를 해부한 글이다. 승률이나 수익률을 적지 않은 이유도 그래서다. 대신 계산 정의를 한 줄씩 뜯고, 이 규칙이 청산 조건을 어떻게 다루는지, 크립토 시장에서 어디가 걸리는지를 본다.
무엇을 재는가
아웃사이드 바는 봉 두 개의 관계로 정의된다. 직전 봉을 1, 지금 봉을 2라 하면 조건은 이렇다.
outside = (high[2] > high[1]) and (low[2] < low[1])
고가도 갱신하고 저가도 갱신해야 한다. 둘 중 하나만 갱신하면 그냥 상승 갱신이거나 하락 갱신이지 아웃사이드가 아니다. 반대로 봉 2가 봉 1의 범위 안에 완전히 갇히면 인사이드 바라고 부른다. 아웃사이드와 정반대다.

실제 시세가 아니라 규칙을 설명하기 위한 모식도다. 세 배열을 나란히 놓으면 차이가 뚜렷하다. 일반 배열은 고가만, 인사이드 바는 둘 다 못 넘는다. 아웃사이드 바만 고가와 저가를 동시에 갱신한다.
이 정의가 놓치는 것도 있다. 범위가 왜 벌어졌는지는 말해주지 않는다. 거래량이 실려서 벌어진 건지, 유동성이 얇아서 호가 몇 개에 휩쓸려 벌어진 건지 구분이 안 된다. 봉의 모양은 결과일 뿐 원인을 담지 않는다. 그리고 신호가 뜬 다음 봉이 그 방향으로 이어가는지도 정의에 없다. 아웃사이드 바는 딱 그 봉 하나의 기하학적 조건이고, 후속 확인은 별도로 얹어야 한다.
여기서 흔히 헷갈리는 게 있다. 일본 캔들차트의 “장악형(engulfing)” 패턴은 몸통, 그러니까 시가와 종가만 비교한다. 아웃사이드 바는 몸통이 아니라 고가와 저가, 즉 봉의 전체 범위를 비교한다. 장악형이 아니어도 아웃사이드 바일 수 있고, 그 반대도 가능하다. 두 개념을 섞어 쓰는 글이 많아서 여기서는 구분해 둔다. 아웃사이드 바 쪽이 가격 액션 트레이딩, 그러니까 래리 윌리엄스나 린다 라시케 계열에서 더 자주 쓰는 표현이다.
방향은 종가 위치로 가른다. 종가가 상단에 가까우면 상승형, 하단에 가까우면 하락형으로 본다.
bullish = outside and (close[2] > open[2])
bearish = outside and (close[2] < open[2])
더 엄격하게 잡는 쪽도 있다. 종가가 봉 1의 고가를 넘어야 상승형으로 인정하는 식이다. 래리 윌리엄스가 말한 “키 리버설 바"에 가까운 정의고, 조건이 빡빡한 만큼 신호 빈도는 줄어든다. 어느 쪽을 쓸지는 스크립트마다 다르므로, 이 글에서는 느슨한 정의(종가와 시가 비교)를 기본으로 잡고 뒤에서 엄격한 정의와 차이를 다시 짚는다.

이 그림도 실제 시세가 아니라 규칙을 설명하기 위한 모식도다. 종가가 상단 근처면 상승형, 하단 근처면 하락형이다.
파라미터가 없다는 것의 의미
RSI 14, 볼린저 밴드 20일 같은 지표는 기간이나 표준편차 배수를 숫자로 정해야 한다. 아웃사이드 바는 그런 숫자가 없다. 딱 두 봉의 고가·저가·시가·종가만 본다. 최적화할 대상이 없으니 과최적화에서 자유롭다는 장점이 있다. 백테스트로 기간값을 이리저리 돌려가며 성과 좋은 조합을 찾는 식의 함정에 애초에 빠질 수가 없다.
다만 완전히 파라미터가 없다고 말하면 과장이다. 숨은 파라미터가 하나 있다. 바로 어느 타임프레임에서 이 규칙을 돌리느냐다. 1시간봉에서 아웃사이드 바와 일봉에서 아웃사이드 바는 완전히 다른 사건이다. 타임프레임 선택 자체가 수치화되지 않은 파라미터인 셈이고, 이 문제는 뒤에서 다룰 일봉 경계 문제와 그대로 이어진다.
청산 규칙이 없다는 것의 의미
아웃사이드 바 전략을 그대로 옮기면 대개 이런 모양이 된다.
if bullish_outside:
포지션이 숏이면 청산하고 롱 진입
if bearish_outside:
포지션이 롱이면 청산하고 숏 진입
눈여겨볼 점은 따로 있다. 청산 조건이 독립적으로 존재하지 않는다는 것이다. 롱을 닫는 사건이 곧 숏을 여는 사건이다. 손절선도, 목표가도 없다. 반대 신호가 나올 때까지 계속 들고 간다. 이런 방식을 스톱 앤드 리버스라 부르는데, 말 그대로 항상 시장에 포지션을 걸고 있는 상시 진입 시스템이다.
청산 규칙이 없다는 게 나쁘다는 뜻은 아니다. 다만 뜻하는 바가 분명하다. 반대 신호가 늦게 나오면 그만큼 오래, 그리고 얼마나 벌어질지 모르는 손실을 그대로 안고 간다는 뜻이다. 아웃사이드 바가 자주 나오는 타임프레임이면 회전이 빨라 그나마 낫지만, 일봉처럼 신호가 드문 구간에서 반대 신호를 기다리다 보면 한 번의 역방향 구간에서 계좌가 크게 흔들릴 수 있다. 이 규칙 자체는 리스크 관리에 대해 아무 말도 하지 않는다. 그 판단은 규칙 밖에서 별도로 채워 넣어야 한다.

실제 시세가 아니라 규칙을 설명하기 위한 모식도다. 롱으로 진입한 뒤 손절선 없이 하락형 신호가 뜰 때까지 그대로 들고 가는 구간을 색으로 표시했다.
크립토 시장에서 이 규칙이 부딪히는 것들
세 가지가 걸린다.
첫째, 일봉 경계가 거래소 설정값이라는 점이다. 업비트는 KST 자정을 하루의 경계로 쓰고, 해외 거래소 상당수는 UTC 자정을 쓴다. 아홉 시간 차이다. 같은 가격 흐름이라도 어디서 하루를 끊느냐에 따라 봉의 고가·저가·시가·종가가 통째로 달라진다. 그러면 특정 거래소 기준으로는 아웃사이드 바인데 다른 거래소 기준으로는 아니었던 날이 생긴다. 주식은 거래소가 하나라 이런 문제가 원천적으로 없다. 크립토는 일봉을 쓰는 순간부터 “어느 거래소 기준 일봉이냐"를 먼저 정해야 한다.

실제 시세가 아니라 규칙을 설명하기 위한 모식도다. 같은 가격 흐름을 두 가지 경계로 나누면 봉의 색과 모양 자체가 달라진다.
둘째, 크립토는 주말이 없다. 24시간 계속 거래되니 시가가 전날 종가에서 뛰어오르는 갭이 원천적으로 드물다. 주식이나 외환에서는 주말이나 휴장을 넘기며 시가가 훌쩍 벌어지는 일이 흔하고, 그 갭 자체가 고가나 저가를 손쉽게 갱신시켜 아웃사이드 바를 만들어내는 경우가 많다. 크립토에서는 그런 지름길이 없다. 아웃사이드 바가 나오려면 봉이 열려 있는 시간 내내 실제로 범위가 벌어져야 한다. 구조적으로는 더 힘들게 만들어지는 신호라는 뜻이지, 더 잘 맞는다는 뜻은 아니다. 그건 시세를 받아봐야 알 일이고 이 글에서는 확인하지 않는다.
셋째, 현물에는 공매도가 없다. 하락형 아웃사이드 바가 뜨면 규칙상 숏을 열어야 하는데, 현물 계좌로는 그 진입 자체가 불가능하다. 보유 중인 롱을 정리하는 신호로만 쓸 수 있고, 새 포지션을 여는 신호로는 못 쓴다. 선물이나 마진 계좌를 쓴다면 이야기가 다르지만, 그럴 경우 청산 규칙이 없다는 앞 절의 문제가 레버리지와 함께 커진다.
모네로라는 무대
모네로는 링 서명과 스텔스 주소, 링CT로 송신자·수신자·금액을 감추는 프라이버시 코인이다. 비트코인처럼 블록 탐색기로 자금 흐름을 추적하는 방식이 애초에 통하지 않도록 설계됐다. 아웃사이드 바 전략은 가격과 거래량 말고는 아무것도 보지 않는 순수 가격 액션 규칙이라, 온체인 데이터를 볼 수 없다는 점 자체는 이 전략에 큰 문제가 아니다. 어차피 안 보니까.
문제는 다른 데서 온다. 프라이버시 코인은 규제 압력으로 상장이 갑자기 끊기는 리스크가 별도로 있다. 실제로 여러 대형 거래소가 자금세탁방지 규제를 이유로 프라이버시 코인 취급을 줄이거나 상장을 정리해 왔다. 이런 일이 벌어지면 유동성이 특정 거래소에서 한꺼번에 빠지면서 가격이 급격히 흔들리고, 그 흔들림이 순수한 시장 수급이 아니라 상장 정책이라는 외부 사건에서 나온다. 이런 구간에서 뜬 아웃사이드 바는 추세 전환을 읽어낸 신호라기보다 유동성 충격의 흔적에 가까울 수 있다. 규칙은 그 차이를 구분하지 못한다. 봉의 모양만 본다.
중앙화 거래소(CEX)가 상장을 정리하면 거래가 남은 CEX나 탈중앙화 거래소(DEX)로 흩어진다. 봇이 가격을 한 군데서만 받아온다면, 그 한 곳의 봉이 시장 전체를 대표하지 못하는 시점이 생길 수 있다는 뜻이다. 아웃사이드 바처럼 봉 하나의 모양에 의존하는 규칙은 이런 유동성 분산에 특히 취약하다. 봉을 만드는 모집단 자체가 흔들리기 때문이다.
내 봇에 넣을 것인가
넣지 않기로 했다. 이유를 남겨 둔다.
아웃사이드 바 자체는 계산이 가볍고 파라미터가 없어 과최적화 걱정 없이 필터 하나로 끼워 넣기엔 매력적이다. 실제로 넣는다면 진입 신호가 아니라 기존 포지션을 재점검하는 보조 신호로 썼을 것 같다. 그런데 청산 규칙이 아예 없다는 점이 걸린다. 반대 신호까지 무기한 들고 가는 방식은 내 봇의 다른 전략들이 전부 명시적 손절 폭을 두는 방식과 어긋난다. 이 규칙만 예외로 손절 없이 돌리는 건 일관성이 깨진다.
일봉 경계 문제도 걸린다. 어느 거래소 기준으로 봉을 끊을지 정하고 나면, 다른 거래소에서는 같은 신호가 다르게 잡힌다는 걸 감수해야 한다. 하나의 정답이 없는 문제라 봇에 넣는 순간부터 계속 따라다니는 불확실성이 된다.
넣는다면 조건은 이렇다. 엄격한 정의(종가가 전 봉의 고가·저가를 넘는 키 리버설 바)로 신호 빈도를 줄이고, 별도의 고정 손절선을 강제로 붙이고, 일봉 대신 신호가 자주 나오는 짧은 타임프레임에서 봉 경계 문제의 영향을 줄이는 식이다. 지금은 그 조건들을 다 채울 만큼 급하지 않아서 보류로 남겨 둔다. 이 글은 투자 권유가 아니고, 어떤 코인이나 전략의 매수·매도를 권하지도 않는다.
약어 풀이
- XMR (Monero) — 모네로. 링 서명 기반 프라이버시 코인.
- KST (Korea Standard Time) — 한국 표준시, UTC+9.
- UTC (Coordinated Universal Time) — 협정 세계시. 대부분의 해외 거래소가 일봉 경계로 쓴다.
- RSI (Relative Strength Index) — 상대강도지수. 기간 파라미터를 갖는 대표적 오실레이터.
- CEX (Centralized Exchange) — 중앙화 거래소. 운영사가 주문을 직접 체결한다.
- DEX (Decentralized Exchange) — 탈중앙화 거래소. 스마트 컨트랙트로 주문을 체결한다.