리소스 로딩... 로딩...

볼링거 밴드 동적 브레이크업 전략

저자:차오장, 날짜: 2024-05-15 16:25:21
태그:BBSMA

img

전반적인 설명

동적 볼링거 밴드 브레이크아웃 전략 (Dynamic Bollinger Bands Breakout Strategy) 은 볼링거 밴드 지표에 기반한 거래 전략이다. 이 전략은 볼링거 밴드의 상부와 하부 밴드를 동적 지지 및 저항 수준으로 사용하고, 가격이 상위 밴드 이상으로 넘어지면 구매하고 하위 밴드 아래로 넘어지면 판매한다. 볼링거 밴드는 중간 밴드 (가동 평균), 상부 밴드 (중부 밴드 더하기 표준 편차의 배수), 하부 밴드 (중부 밴드 빼기 표준 편차의 배수) 로 구성되어 있으며, 시장 변동성에 적응하기 위해 동적으로 조정할 수 있다.

전략 원칙

  1. 볼링거 밴드의 중간, 상위 및 하위 밴드를 계산하십시오. 중간 밴드는 폐쇄 가격의 간단한 이동 평균, 상위 밴드는 중간 밴드 더하기 표준 편차의 배수이며, 아래 밴드는 중간 밴드 빼기 표준 편차의 배수입니다.
  2. 가격이 상위 범위를 넘으면 긴 포지션을 열고, 가격이 하위 범위를 넘으면 짧은 포지션을 열고
  3. 긴 포지션이 존재할 때, 가격이 상단 범위를 넘어가면 긴 포지션을 닫습니다. 짧은 포지션이 존재할 때, 가격이 하단 범위를 넘어가면 짧은 포지션을 닫습니다.

전략적 장점

  1. 볼링거 대역은 동적으로 다른 시장 변동 조건에 적응하여 일정 수준의 적응력을 제공 할 수 있습니다.
  2. 전략 논리는 명확하고 이해하기 쉽고 구현하기 쉽습니다.
  3. 볼링거 밴드는 시장 트렌드가 강할 때 좋은 성능을 발휘하며 트렌드를 효과적으로 파악할 수 있습니다.

전략 위험

  1. 시장의 변동성이 높고 트렌드가 불안정한 상황에서는 이 전략이 종종 거래될 수 있으며, 이로 인해 거래 비용이 증가할 수 있습니다.
  2. 볼링거 밴드 매개 변수 선택 (동기 평균과 표준편차 배수) 는 전략의 성과에 영향을 미치며 다른 매개 변수가 다른 결과를 가져올 수 있습니다.
  3. 이 전략은 다른 기술적 지표나 근본적인 요소를 고려하지 않으며 단일 신호로 인한 위험에 직면할 수 있는 거래 결정을 위해 가격과 볼링거 밴드 사이의 관계에 전적으로 의존합니다.

전략 최적화 방향

  1. 다른 기술적 지표 (RSI, MACD 등) 를 필터링 조건으로 도입하여 볼링거 밴드 브레이크의 유효성을 확인하고 신호 품질을 향상시킵니다.
  2. 역 테스트와 매개 변수 스캔을 통해 볼링거 밴드 매개 변수를 최적화하여 이동 평균 기간과 표준편차 배수의 최상의 조합을 찾습니다.
  3. 단일 거래의 위험과 수익 목표를 통제하기 위해 적절한 스톱 로스 및 수익을 취하는 수준을 설정합니다.
  4. 시장 조건과 변동성을 고려하고, 다른 시장 조건에서 전략 매개 변수 또는 포지션 크기를 동적으로 조정합니다.

요약

동적 볼링거 밴드 브레이크아웃 전략 (Dynamic Bollinger Bands Breakout Strategy) 은 볼링거 밴드의 상부 및 하부 밴드의 브레이크아웃을 통해 거래 신호를 생성하는 간단하고 사용하기 쉬운 거래 전략이다. 이 전략은 트렌딩 시장에서 좋은 성과를 거두지만 불안정한 시장에서 빈번한 거래 문제에 직면할 수 있다. 최적화 방향은 다른 기술적 지표들을 결합하고, 매개 변수를 최적화하고, 적절한 스톱-로스 및 영리를 설정하고, 시장 조건에 따라 전략을 조정하는 것을 포함한다. 실제 응용에서는 특정 시장 특성 및 개인 위험 선호도에 따라 적절한 조정 및 최적화를 수행하는 것이 필요하다.


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands with Strategy", shorttitle='MBB', overlay=true)

// Input Variables
src = close
length = input.int(34, "Length", minval=1)
mult = input.float(2.0, "Multiplier", minval=0.001, maxval=50)

// Bollinger Bands Calculation
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
upperBand = basis + mult * dev
lowerBand = basis - mult * dev

// Plotting Bollinger Bands
pBasis = plot(basis, "Basis", color=color.gray)
pUpper = plot(upperBand, "Upper Band", color=color.green)
pLower = plot(lowerBand, "Lower Band", color=color.red)
fill(pUpper, pBasis, color=color.new(color.green, 90))
fill(pBasis, pLower, color=color.new(color.red, 90))

// Strategy Execution Using `if`
if (ta.crossover(src, upperBand))
    strategy.entry("Long", strategy.long)
if (ta.crossunder(src, lowerBand))
    strategy.entry("Short", strategy.short)

if (ta.crossunder(src, upperBand))
    strategy.close("Long")
if (ta.crossover(src, lowerBand))
    strategy.close("Short")


관련

더 많은