개요
볼린저 밴드는 변동성 기반 기술 지표로, 세 개의 선으로 구성됩니다:
- 중간 밴드: 단순 이동 평균 (SMA)
- 상단 밴드: SMA + (표준편차 × 배수)
- 하단 밴드: SMA - (표준편차 × 배수)
이 가이드는 세 가지 신호 전략을 다룹니다: 터치, 브레이크아웃, 스퀴즈.
신호 유형 설명
1. BB 터치 신호 (평균 회귀)
철학: 가격은 극단 밴드를 터치한 후 평균으로 되돌아가는 경향이 있습니다.
- BB_BUY: 가격이 하단 밴드를 터치하거나 매우 가까워짐
- 해석: 과매도 상태, 위로 반등 가능성
- 진입: 가격이 하단 밴드에서
bb_touch_threshold이내일 때
- BB_SELL: 가격이 상단 밴드를 터치하거나 매우 가까워짐
- 해석: 과매수 상태, 하락 가능성
- 진입: 가격이 상단 밴드에서
bb_touch_threshold이내일 때
최적: 횡보 시장, 저변동성 기간
2. BB 브레이크아웃 신호 (모멘텀 지속)
철학: 밴드를 돌파하는 강한 움직임은 모멘텀 지속을 나타냅니다.
- BUY: 가격이 상단 밴드를 임계값만큼 돌파
- 해석: 강한 상승 모멘텀, 추세 지속
- 진입: 가격이 상단 밴드를
bb_breakout_threshold만큼 초과할 때
- SELL: 가격이 하단 밴드를 임계값만큼 돌파
- 해석: 강한 하락 모멘텀, 추세 지속
- 진입: 가격이 하단 밴드를
bb_breakout_threshold만큼 하회할 때
최적: 추세 시장, 고모멘텀 움직임
3. BB 스퀴즈 신호 (변동성 수축)
철학: 저변동성 기간(좁은 밴드)은 폭발적인 움직임을 앞서갑니다.
- PUMP: 밴드가 수축된 후 가격이 위로 돌파
- 해석: 변동성 압축 후 상승 브레이크아웃
- 진입: 밴드 폭 <
bb_squeeze_width_threshold후 상승 돌파
- CRASH: 밴드가 수축된 후 가격이 아래로 돌파
- 해석: 변동성 압축 후 하락 브레이크다운
- 진입: 밴드 폭 <
bb_squeeze_width_threshold후 하락 돌파
최적: 큰 움직임 예측, 변동성 거래
설정 매개변수
핵심 설정
# 신호 활성화
enable_bb_touch_signal: true # 평균 회귀 전략
enable_bb_breakout_signal: true # 모멘텀 지속 전략
enable_bb_squeeze_signal: false # 변동성 브레이크아웃 전략
# 볼린저 밴드 매개변수
bb_period: 20 # SMA의 룩백 기간
bb_deviation: 2.0 # 표준편차 배수
# 임계값 설정
bb_touch_threshold: 0.001 # 터치 신호를 위한 0.1% 거리
bb_breakout_threshold: 1.01 # 브레이크아웃을 위한 밴드 외 1%
bb_squeeze_width_threshold: 0.02 # 스퀴즈를 위한 2% 밴드 폭
# 브로드캐스트 신호
supported_volatility_action: ["BUY", "SELL", "PUMP", "CRASH"]
supported_volatility_action_broadcast:
["BUY", "SELL", "PUMP", "CRASH", "BB_SELL", "BB_BUY"]
매개변수 정의
| 매개변수 | 설명 | 기본값 | 범위 |
|---|---|---|---|
bb_period |
이동 평균을 위한 캔들 수 | 20 | 10-50 |
bb_deviation |
표준편차 배수 | 2.0 | 1.5-3.0 |
bb_touch_threshold |
터치 신호를 위한 밴드 거리 | 0.001 (0.1%) | 0.0005-0.01 |
bb_breakout_threshold |
브레이크아웃을 위한 밴드 외 | 1.01 (1%) | 1.005-1.05 |
bb_squeeze_width_threshold |
스퀴즈를 위한 밴드 폭 % | 0.02 (2%) | 0.01-0.05 |
거래 스타일별 최적화된 설정
스캘핑 (빠른 진입/청산, 고빈도)
시간대: 1m, 3m, 5m
전략 초점: 터치 신호 + 좁은 임계값
# 스캘핑 설정
bb_period: 15 # 더 빠른 반응
bb_deviation: 1.8 # 더 좁은 밴드 (더 많은 신호)
bb_touch_threshold: 0.0005 # 0.05% - 매우 좁음
bb_breakout_threshold: 1.005 # 0.5% - 빠른 움직임 포착
bb_squeeze_width_threshold: 0.015 # 1.5% - 빈번한 스퀴즈
enable_bb_touch_signal: true # 주요 전략
enable_bb_breakout_signal: true # 모멘텀 스캘프를 위한 보조
enable_bb_squeeze_signal: false # 스캘핑에 너무 느림
# 추천 브로드캐스트
supported_volatility_action: ["BB_BUY", "BB_SELL"]
근거:
- 짧은 기간은 빠른 가격 움직임을 포착
- 좁은 밴드는 더 많은 신호 생성
- 횡보 시장에서의 평균 회귀 초점
- 스퀴즈 무시 (스캘핑 시간대에 너무 느림)
데이 트레이딩 (인트라데이, 다중 포지션)
시간대: 5m, 15m, 30m
전략 초점: 균형 잡힌 터치 + 브레이크아웃 신호
# 데이 트레이딩 설정
bb_period: 20 # 표준 기간
bb_deviation: 2.0 # 표준 밴드
bb_touch_threshold: 0.001 # 0.1% - 중간
bb_breakout_threshold: 1.01 # 1% - 표준
bb_squeeze_width_threshold: 0.02 # 2% - 표준
enable_bb_touch_signal: true # 횡보 거래
enable_bb_breakout_signal: true # 추세 추종 거래
enable_bb_squeeze_signal: true # 변동성 확장 포착
# 추천 브로드캐스트
supported_volatility_action: ["BUY", "SELL", "BB_BUY", "BB_SELL", "PUMP"]
근거:
- 표준 설정은 인트라데이 변동성에 잘 작동
- 모든 신호 유형 활성화로 다양한 기회
- 노이즈 필터링과 신호 생성 간 균형
- 스퀴즈는 인트라데이 브레이크아웃 포착에 유용
스윙 트레이딩 (다일 보유)
시간대: 1h, 2h, 6h
전략 초점: 브레이크아웃 신호 + 넓은 밴드
# 스윙 트레이딩 설정
bb_period: 20 # 표준 기간
bb_deviation: 2.2 # 약간 넓은 밴드
bb_touch_threshold: 0.002 # 0.2% - 느슨함
bb_breakout_threshold: 1.015 # 1.5% - 더 강한 확인
bb_squeeze_width_threshold: 0.025 # 2.5% - 의미 있는 스퀴즈
enable_bb_touch_signal: true # 낮은 우선순위
enable_bb_breakout_signal: true # 주요 전략
enable_bb_squeeze_signal: true # 높은 우선순위
# 추천 브로드캐스트
supported_volatility_action: ["BUY", "SELL", "PUMP", "CRASH"]
근거:
- 넓은 밴드는 높은 시간대에서 노이즈 감소
- 브레이크아웃은 다일 추세에 더 신뢰할 수 있음
- 스퀴즈는 다일 움직임 포착에 탁월
- 터치 신호는 덜 관련 (필요한 오신호 적음)
장기 트레이딩 (포지션/투자)
시간대: 6h, 1d
전략 초점: 스퀴즈 신호 + 주요 브레이크아웃
# 장기 트레이딩 설정
bb_period: 25 # 더 긴 기간 (일봉에서 1개월)
bb_deviation: 2.5 # 넓은 밴드 (주요 움직임만)
bb_touch_threshold: 0.005 # 0.5% - 매우 느슨함
bb_breakout_threshold: 1.02 # 2% - 강한 확인
bb_squeeze_width_threshold: 0.03 # 3% - 상당한 압축
enable_bb_touch_signal: false # 터치 무시
enable_bb_breakout_signal: true # 주요 추세만
enable_bb_squeeze_signal: true # 주요 전략
# 추천 브로드캐스트
supported_volatility_action: ["PUMP", "CRASH", "BUY", "SELL"]
근거:
- 긴 기간은 단기 변동성 완화
- 넓은 밴드는 노이즈 필터링, 주요 움직임 포착
- 스퀴즈는 주요 추세 변화 예측
- 터치 신호는 장기 시간대에서 신뢰할 수 없음
시간대별 설정
초고속 스캘핑 (1m, 3m)
bb_period: 12
bb_deviation: 1.5
bb_touch_threshold: 0.0003
bb_breakout_threshold: 1.003
enable_bb_touch_signal: true
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: false
사용 사례: 고빈도 거래, 마이크로 움직임 포착
표준 스캘핑 (5m)
bb_period: 15
bb_deviation: 1.8
bb_touch_threshold: 0.0005
bb_breakout_threshold: 1.005
enable_bb_touch_signal: true
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: false
사용 사례: 더 여유 있는 활성 스캘핑
활성 데이 트레이딩 (15m, 30m)
bb_period: 20
bb_deviation: 2.0
bb_touch_threshold: 0.001
bb_breakout_threshold: 1.01
enable_bb_touch_signal: true
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: true
사용 사례: 표준 인트라데이 거래, 하루 3-10건 거래
스윙 트레이딩 (1h, 2h)
bb_period: 20
bb_deviation: 2.2
bb_touch_threshold: 0.002
bb_breakout_threshold: 1.015
enable_bb_touch_signal: true
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: true
사용 사례: 다일 포지션, 추세 시장
확장 스윙 (6h)
bb_period: 24
bb_deviation: 2.3
bb_touch_threshold: 0.003
bb_breakout_threshold: 1.018
enable_bb_touch_signal: false
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: true
사용 사례: 주간 포지션, 주요 움직임
포지션 트레이딩 (1d)
bb_period: 25
bb_deviation: 2.5
bb_touch_threshold: 0.005
bb_breakout_threshold: 1.02
enable_bb_touch_signal: false
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: true
사용 사례: 월간 포지션, 주요 추세 변화
변동성 행동 신호
신호 우선순위 매트릭스
| 거래 스타일 | 주요 신호 | 보조 신호 | 모두 브로드캐스트 |
|---|---|---|---|
| 스캘핑 | BB_BUY, BB_SELL | BUY, SELL | 아니오 |
| 데이 트레이드 | BUY, SELL, BB_BUY, BB_SELL | PUMP, CRASH | 예 |
| 스윙 | BUY, SELL, PUMP | BB_BUY, BB_SELL, CRASH | 예 |
| 장기 | PUMP, CRASH | BUY, SELL | 아니오 |
브로드캐스트 설정
공격적 (모든 신호)
supported_volatility_action_broadcast:
["BUY", "SELL", "PUMP", "CRASH", "BB_SELL", "BB_BUY"]
보수적 (주요 신호만)
supported_volatility_action_broadcast:
["BUY", "SELL", "PUMP", "CRASH"]
터치 신호만
supported_volatility_action_broadcast:
["BB_SELL", "BB_BUY"]
모범 사례
1. 시장 상황 적응
횡보 시장 (저변동성)
- 활성화:
enable_bb_touch_signal: true - 비활성화:
enable_bb_breakout_signal: false - 설정: 표준편차 2.0, 좁은 임계값
추세 시장 (고모멘텀)
- 활성화:
enable_bb_breakout_signal: true - 비활성화:
enable_bb_touch_signal: false - 설정: 표준편차 2.2-2.5, 넓은 임계값
브레이크아웃 전 (통합)
- 활성화:
enable_bb_squeeze_signal: true - 설정: 낮은 스퀴즈 임계값 (0.015-0.02)
2. 리스크 관리
| 전략 | 손절 | 익절 | 리스크:보상 |
|---|---|---|---|
| 터치 신호 | 중간 밴드 | 반대 밴드 | 1:2 |
| 브레이크아웃 신호 | 진입 밴드 | 2× 밴드 폭 | 1:3 |
| 스퀴즈 신호 | 스퀴즈 아래/위 | 3× 밴드 폭 | 1:4 |
예시 (터치 신호):
- 진입: 하단 밴드 터치 (BB_BUY)
- 손절: 하단 밴드 아래 (1% 아래)
- 목표: 중간 밴드 또는 상단 밴드
- 리스크: 1%, 보상: 2-4%
3. 다중 시간대 결합
탑다운 분석:
- 일봉 (1d): 전체 추세 및 주요 스퀴즈 영역 식별
- 4시간 (6h): 추세 방향 및 중간 브레이크아웃 확인
- 1시간 (1h): 진입 신호 찾기 (터치/브레이크아웃)
- 15분 (15m): 정확한 진입 타이밍
규칙: 상위 시간대 추세와 일치하는 신호만 사용.
4. 오신호 감소
추가 필터:
- 거래량 확인: 브레이크아웃은 높은 거래량 필요
- RSI 확인: BB_BUY + RSI < 30, BB_SELL + RSI > 70
- 추세 필터: 50기간 MA 방향으로만 거래
- 시간 필터: 저유동성 시간대 피하기
예시 로직:
BB_BUY 신호 = 참 IF:
- 가격이 하단 밴드의 0.1% 이내 AND
- RSI < 35 AND
- 거래량 > 20기간 평균
5. 최적화 가이드라인
백테스팅 단계:
- 표준 설정으로 시작 (기간: 20, 편차: 2.0)
- 3-6개월 과거 데이터 테스트
- 한 번에 하나의 매개변수 조정
- 특정 상품에 최적화 (암호화폐, 외환, 주식)
- 실전 거래 전 1개월 포워드 테스트
주요 지표:
- 승률 > 50% (평균 회귀)
- 승률 > 40% (브레이크아웃, 더 큰 승리)
- 수익률 > 1.5
- 최대 드로다운 < 15%
6. 피해야 할 일반적인 실수
❌ 하지 마세요: 모든 신호를 맹목적으로 거래
✅ 하세요: 추세와 거래량으로 필터링
❌ 하지 마세요: 모든 시간대에 동일한 설정 사용
✅ 하세요: 시간대별 매개변수 조정
❌ 하지 마세요: 전체 시장 추세 무시
✅ 하세요: 상위 시간대 방향과 정렬
❌ 하지 마세요: 과거 데이터 과최적화
✅ 하세요: 견고하고 간단한 설정 유지
❌ 하지 마세요: 저유동성 시간 거래
✅ 하세요: 활성 시장 시간에 집중
빠른 참조 테이블
| 시간대 | 스타일 | 기간 | 편차 | 터치 임계값 | 브레이크아웃 임계값 | 스퀴즈 | 우선 신호 |
|---|---|---|---|---|---|---|---|
| 1m | 스캘핑 | 12 | 1.5 | 0.0003 | 1.003 | 꺼짐 | BB_BUY/SELL |
| 3m | 스캘핑 | 15 | 1.8 | 0.0005 | 1.005 | 꺼짐 | BB_BUY/SELL |
| 5m | 스캘핑 | 15 | 1.8 | 0.0005 | 1.005 | 꺼짐 | BB_BUY/SELL |
| 15m | 데이 | 20 | 2.0 | 0.001 | 1.01 | 켜짐 | 모두 |
| 30m | 데이 | 20 | 2.0 | 0.001 | 1.01 | 켜짐 | 모두 |
| 1h | 스윙 | 20 | 2.2 | 0.002 | 1.015 | 켜짐 | BUY/SELL/PUMP |
| 2h | 스윙 | 20 | 2.2 | 0.002 | 1.015 | 켜짐 | BUY/SELL/PUMP |
| 6h | 스윙+ | 24 | 2.3 | 0.003 | 1.018 | 켜짐 | PUMP/CRASH |
| 1d | 포지션 | 25 | 2.5 | 0.005 | 1.02 | 켜짐 | PUMP/CRASH |
예시 설정 파일
config_scalp.yaml
# 5분 스캘핑
bb_period: 15
bb_deviation: 1.8
bb_touch_threshold: 0.0005
bb_breakout_threshold: 1.005
bb_squeeze_width_threshold: 0.015
enable_bb_touch_signal: true
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: false
supported_volatility_action: ["BB_BUY", "BB_SELL"]
supported_volatility_action_broadcast: ["BB_BUY", "BB_SELL"]
config_day.yaml
# 15분 데이 트레이딩
bb_period: 20
bb_deviation: 2.0
bb_touch_threshold: 0.001
bb_breakout_threshold: 1.01
bb_squeeze_width_threshold: 0.02
enable_bb_touch_signal: true
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: true
supported_volatility_action: ["BUY", "SELL", "BB_BUY", "BB_SELL", "PUMP"]
supported_volatility_action_broadcast: ["BUY", "SELL", "PUMP", "CRASH", "BB_SELL", "BB_BUY"]
config_swing.yaml
# 1시간 스윙 트레이딩
bb_period: 20
bb_deviation: 2.2
bb_touch_threshold: 0.002
bb_breakout_threshold: 1.015
bb_squeeze_width_threshold: 0.025
enable_bb_touch_signal: true
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: true
supported_volatility_action: ["BUY", "SELL", "PUMP", "CRASH"]
supported_volatility_action_broadcast: ["BUY", "SELL", "PUMP", "CRASH"]
config_position.yaml
# 일봉 포지션 트레이딩
bb_period: 25
bb_deviation: 2.5
bb_touch_threshold: 0.005
bb_breakout_threshold: 1.02
bb_squeeze_width_threshold: 0.03
enable_bb_touch_signal: false
enable_bb_breakout_signal: true
enable_bb_squeeze_signal: true
supported_volatility_action: ["PUMP", "CRASH", "BUY", "SELL"]
supported_volatility_action_broadcast: ["PUMP", "CRASH"]
결론
볼린저 밴드는 적절히 설정하면 모든 시간대에서 작동하는 다재다능한 지표입니다. 주요 교훈:
- 거래 스타일에 맞춰 설정: 스캘핑은 좁게, 장기는 넓게
- 올바른 신호 유형 선택: 횡보는 터치, 추세는 브레이크아웃, 변동성은 스퀴즈
- 다른 지표와 결합: 거래량, RSI, 추세 필터
- 철저한 백테스팅: 특정 시장과 시간대에 최적화
- 리스크 관리: 항상 손절과 포지션 사이징 사용
표준 설정으로 시작한 후 결과를 기반으로 점진적으로 최적화하세요. 거래에 행운을 빕니다!