자동매매 시스템을 운영하다 보면 ‘지금이 알트시즌인가’라는 질문이 전략 설계의 출발점이 되는 경우가 많습니다. 페어 선택, 레버리지 수위, 롱/숏 비율 모두 이 판단 하나에 달려 있기 때문입니다. 저는 2024년 초부터 이 질문을 감이 아닌 데이터로 해결하려고 시도해왔고, 실전에서 직접 부딪히며 나름의 기준을 만들어왔습니다. 이번 칼럼에서는 그 과정에서 검증 중인 판별 지표 4가지를 공개합니다.
알트시즌 판별이 어려운 진짜 이유 — 지표가 없어서가 아니라 너무 많아서
처음 알트시즌 여부를 판별하려 했을 때 저는 구글에서 나오는 거의 모든 지표를 TradingView 차트에 올려놓았습니다. RSI, MACD, 도미넌스, 온체인 지표, 공포탐욕지수까지. 문제는 이 지표들이 서로 다른 말을 동시에 하는 경우가 훨씬 많다는 것이었습니다. BTC 도미넌스가 떨어지는데 알트코인 시즌 인덱스는 아직 중립, RSI는 이미 과매수 구간. 이런 충돌 상황에서 매번 자의적인 해석을 해야 했고, 그 결과는 일관성이 없었습니다. 제가 내린 결론은 지표를 줄이되, 각각의 역할을 명확히 나누는 것이었습니다. 구체적으로는 ‘시장 구조 지표’와 ‘모멘텀 확인 지표’를 분리하는 방식입니다. 시장 구조는 BTC 도미넌스와 알트코인 시즌 인덱스로, 모멘텀 확인은 온체인 자금 흐름과 4시간봉 RSI 배열로 보는 것입니다. 이 두 레이어가 동시에 같은 방향을 가리킬 때만 알트시즌 진입으로 간주하도록 규칙을 세웠습니다. 완벽한 방법은 아니지만, 최소한 ‘오늘은 이 두 지표가 충돌하니 진입 보류’라는 명확한 기준이 생겼습니다.
제가 실제로 보는 지표 4가지와 각각의 임계값
첫 번째는 BTC 도미넌스입니다. TradingView에서 ‘BTC.D’를 검색하면 나오는 차트인데, 저는 주봉 기준 58% 아래로 내려오고 하락 추세가 3주 이상 유지될 때 알트 자금 이동 시작 신호로 봅니다. 단순히 수치 하나가 아니라 추세의 방향성과 지속 기간을 같이 봐야 한다는 점이 중요합니다. 두 번째는 블록체인센터(blockchaincenter.net)의 알트코인 시즌 인덱스입니다. 상위 50개 알트코인 중 75% 이상이 최근 90일간 BTC 대비 아웃퍼폼할 때 알트시즌으로 정의하는 지표인데, 저는 이 수치가 60 이상에서 상승 중일 때 본격 알트시즌 진입 준비 구간으로 분류합니다. 세 번째는 온체인 거래소 순유입/순유출 데이터입니다. CryptoQuant에서 ‘Exchange Net Flow’를 확인하는데, 알트코인 주요 페어의 거래소 순유입이 줄어들고 고래 지갑 누적이 감지될 때 수요 기반이 생기고 있다는 신호로 해석합니다. 네 번째는 4시간봉 RSI 배열입니다. 제 자동매매 시스템이 4시간봉 기준으로 돌아가기 때문에 이 타임프레임이 가장 실전과 맞닿아 있습니다. BTC RSI가 50~65 사이를 유지하면서 주요 알트(ETH, SOL 등)의 RSI가 BTC보다 높게 올라올 때, 즉 알트가 BTC보다 강한 모멘텀을 가질 때 알트시즌 내부 진입으로 판단합니다. 이 네 가지가 동시에 같은 방향을 가리키는 경우는 생각보다 드물고, 그래서 오히려 신뢰도가 높아집니다.
자동매매 시스템에 이 판별 기준을 어떻게 연결했나
지표를 보는 것과 시스템에 녹이는 것은 전혀 다른 문제입니다. 저는 처음에 이 판별 기준을 수동으로 매일 아침 확인하고, 결과에 따라 Jesse 전략 파라미터를 조정하는 방식으로 운영했습니다. 그런데 이게 생각보다 번거롭고, 무엇보다 판단이 다시 주관적으로 흐를 위험이 있었습니다. 그래서 현재는 세 단계로 나누어 반자동화하고 있습니다. 1단계: Python 스크립트로 BTC.D 주봉 데이터와 알트시즌 인덱스 API 값을 매일 새벽 자동으로 수집해 로컬 CSV에 기록합니다. blockchaincenter.net은 공식 API가 없어서 requests + BeautifulSoup으로 파싱하고 있습니다. 2단계: 수집된 데이터를 Flask API 엔드포인트에서 조건 판별 로직으로 처리해 ‘ALTSEASON’, ‘NEUTRAL’, ‘BTC_DOMINANT’ 세 상태 중 하나를 반환하도록 만들었습니다. 3단계: Jesse 전략 파일에서 이 엔드포인트를 캔들 시작 시점에 호출해 반환값에 따라 롱 편향, 중립, 숏 편향 가중치를 다르게 적용합니다. 아직 완전히 안정화된 상태는 아니고 엣지 케이스가 계속 나오고 있어서 검증 중인 단계입니다. 다만 이렇게 구조화하고 나니 적어도 ‘내가 지금 어떤 근거로 이 설정을 쓰는지’가 코드로 남게 된 것은 분명한 진전입니다.
💬 운영자 한마디
저도 아직 이 판별 기준이 완벽하다고 생각하지 않습니다. 2025년 초처럼 BTC 혼자 달리고 알트가 따라오지 않는 구간에서는 이 기준이 계속 ‘NEUTRAL’을 반환하며 기회를 놓치기도 했습니다. 그래도 명확한 기준 없이 감으로 페어를 바꾸던 시절보다는 훨씬 낫다고 느낍니다. 기준이 틀려도 왜 틀렸는지 분석할 수 있으니까요.
— J_River · autoprofit 운영자
✅ 이번 주 체크리스트
- TradingView에서 ‘BTC.D’ 주봉 차트를 즐겨찾기에 추가하고 58% 선에 수평선 그어두기
- blockchaincenter.net 알트코인 시즌 인덱스를 북마크하고 매주 월요일 수동 기록 시작
- CryptoQuant 무료 계정으로 ETH, SOL Exchange Net Flow 차트 구독 설정
- TradingView 알림 기능으로 BTC RSI 4시간봉 50 하향 돌파 시 알림 추가
- Python requests + BeautifulSoup으로 알트시즌 인덱스 파싱 스크립트 작성 후 cron 등록
- 시장 상태를 ALTSEASON / NEUTRAL / BTC_DOMINANT 세 값으로만 분류하는 규칙 문서 작성
- 조건 충돌 상황(지표끼리 반대 신호) 발생 시 진입 보류를 기본값으로 설정
알트시즌을 맞히려는 게 아니라, 알트시즌이 아닐 때 무리하지 않는 구조를 만드는 것이 목표입니다. 이번 주에 지표 하나라도 직접 들여다보는 것부터 시작해보시길 권합니다.
※ 본 콘텐츠는 운영자 개인의 경험과 연구를 바탕으로 한 정보 제공 목적이며, 특정 종목에 대한 투자 권유나 매매 시그널이 아닙니다. 암호화폐 및 자동매매는 원금 손실 가능성이 있는 고위험 활동이며, 모든 투자 판단과 그 결과에 대한 책임은 투자자 본인에게 있습니다.