볼링거 밴드 브레이크아웃 전략은 장기적인 추진력을 추구하는 전략입니다.

저자:차오장, 날짜: 2024-01-29 11:05:29
태그:

img

전반적인 설명

볼링거 밴드 브레이크아웃 전략은 긴 전동력을 추구하는 전략이다. 그것은 가격 모멘텀을 판단하기 위해 볼링거 밴드의 상부와 하부 밴드를 사용하며 가격이 상부 밴드 이상으로 돌파하면 긴 경로로 이동하고 가격이 하부 밴드 또는 이동 평균을 깨면 포지션을 닫는다.

전략 논리

이 전략은 먼저 N일 이동 평균을 기준으로 계산하고, K 곱하기 기준선 위와 아래의 표준편차를 더하고 아내어 상부와 하부 밴드를 구성하여 볼링거 밴드를 형성합니다. 가격이 상부 밴드 이상으로 돌파하면 금색 십자 신호인 상향 브레이크오웃을 신호합니다. 전략은 이 신호에 긴 포지션을 열 것입니다. 가격이 하부 밴드 또는 이동 평균을 돌파할 때, 그것은 사망 십자 신호인 하향 역전을 신호합니다. 전략은 이 신호에 대한 포지션을 닫습니다.

볼링거 밴드의 상부 및 하부 대역은 가격 데이터의 분포의 대부분을 동적으로 포함 할 수 있기 때문에 현재 시장 가격의 합리적인 변동 범위를 나타냅니다. 가격이이 합리적인 변동 범위를 통과하면 시장에서 특이한 일이 일어나고 위치가 그에 따라 조정되어야한다는 것을 의미합니다. 이것은 전략의 기본 논리입니다.

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 가격 동향을 효과적으로 파악하고 시장 동력을 신속히 추적 할 수 있습니다.
  2. 비정상적인 브레이크를 판단하기 위해 볼링거 밴드를 사용하며 가짜 브레이크를 피합니다.
  3. 명확한 규칙, 쉽게 구현하고 자동화
  4. 매개 변수는 전략 개선을 위해 시장 변동성에 따라 최적화 될 수 있습니다.

위험 분석

이 전략은 또한 몇 가지 위험을 안고 있습니다.

  1. 극심한 변동이 발생하면 볼링거 밴드가 실패할 수 있습니다.
  2. 실제 시장 동향을 결정할 수 없습니다. 높은 가격에 구매하고 낮은 가격에 판매 할 수 있습니다.
  3. 시간이 지났어요
  4. 거래 비용을 무시하면 실제 성과가 할인됩니다.

이러한 위험을 통제하기 위해 MACD와 같은 트렌드 지표를 포함하거나 나쁜 신호를 줄이기 위해 바인저 밴드를 좁히는 매개 변수를 적절히 조정할 수 있습니다.

최적화 방향

이 전략은 다음 측면에서도 최적화 될 수 있습니다.

  1. 실제 브레이크오프를 판단하기 위해 거래량을 포함합니다.
  2. 동적으로 매개 변수를 최적화 하기 위해 적응적인 볼링거 대역을 사용
  3. 단일 손실을 제어하기 위해 스톱 손실 메커니즘을 추가
  4. 시장 조건에 따라 포지션을 동적으로 조정하기 위해 포지션 관리를 강화

위의 최적화를 통해 전략의 안정성을 더욱 향상시키고 거래 위험을 줄일 수 있습니다.

결론

요약하자면 볼링거 밴드 브레이크아웃 전략은 상당히 고전적인 트렌드 추격 전략이다. 명확한 논리와 쉬운 자동화를 가지고 있다. 그러나 여전히 몇 가지 결함이 있어 복잡한 변화하는 시장 환경에 적응하기 위해 추가 최적화가 필요하다. 다른 지표와 메커니즘과 적절하게 결합하면 결과를 크게 향상시킬 수 있다.


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Senthaamizh

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO", overlay=true)
source = close
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA 
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using moving average

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

if (crossover(source, upper))
    strategy.entry("Long", strategy.long, qty=1)

if(exit==1)
    if (crossunder(source, lower))
        strategy.close("Long")

if(exit==2) //basis is good for N50 but lower is good for BN (High volatility)
    if (crossunder(source, basis))
        strategy.close("Long")

plot(basis, color=color.red,title= "SMA")
p1 = plot(upper, color=color.blue,title= "UB")
p2 = plot(lower, color=color.blue,title= "LB")
fill(p1, p2)


더 많은