볼린저 밴드 거래 전략 가이드

개요

볼린저 밴드는 변동성 기반 기술 지표로, 세 개의 선으로 구성됩니다:

  • 중간 밴드: 단순 이동 평균 (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. 다중 시간대 결합

탑다운 분석:

  1. 일봉 (1d): 전체 추세 및 주요 스퀴즈 영역 식별
  2. 4시간 (6h): 추세 방향 및 중간 브레이크아웃 확인
  3. 1시간 (1h): 진입 신호 찾기 (터치/브레이크아웃)
  4. 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. 최적화 가이드라인

백테스팅 단계:

  1. 표준 설정으로 시작 (기간: 20, 편차: 2.0)
  2. 3-6개월 과거 데이터 테스트
  3. 한 번에 하나의 매개변수 조정
  4. 특정 상품에 최적화 (암호화폐, 외환, 주식)
  5. 실전 거래 전 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"]

결론

볼린저 밴드는 적절히 설정하면 모든 시간대에서 작동하는 다재다능한 지표입니다. 주요 교훈:

  1. 거래 스타일에 맞춰 설정: 스캘핑은 좁게, 장기는 넓게
  2. 올바른 신호 유형 선택: 횡보는 터치, 추세는 브레이크아웃, 변동성은 스퀴즈
  3. 다른 지표와 결합: 거래량, RSI, 추세 필터
  4. 철저한 백테스팅: 특정 시장과 시간대에 최적화
  5. 리스크 관리: 항상 손절과 포지션 사이징 사용

표준 설정으로 시작한 후 결과를 기반으로 점진적으로 최적화하세요. 거래에 행운을 빕니다!

📎 Related Topics