볼링거 밴드 부피 확인 양적 거래 전략

저자:차오장, 날짜: 2024-01-02 11:04:35
태그:

img

전반적인 설명

이 전략은 "볼링거 밴드 볼륨 확인 전략"이라고 불립니다. 이 전략의 핵심 아이디어는 볼링거 밴드 지표와 볼륨 지표를 결합하여 가격 움직임과 거래량 두 배 확인을 달성하여 더 신뢰할 수있는 구매 및 판매 신호를 생성하는 것입니다.

전략 원칙

이 전략은 주로 두 가지 부분을 포함합니다.

  1. 볼링거 밴드 (Bollinger Bands) 부분. 이 부분은 특정 기간 (예를 들어 20 일) 동안 폐쇄 가격의 간단한 이동 평균을 계산하고 이러한 종료 가격의 이동 평균에 대한 표준 편차를 계산합니다. 그 다음 표준 편차의 값에 따라 두 개의 밴드가 이동 평균의 위와 아래의 표준 편차 범위에서 계산됩니다. 볼링거 밴드 (Bollinger Bands) 라고 불립니다. 볼링거 밴드의 밴드 영역은 현재 가격이 비정상 상태인지 명확하게 표시 할 수 있습니다.

  2. 거래량 부분. 이 부분은 같은 기간 동안 거래량 (예를 들어 20 일) 의 이동 평균 값을 계산하고, 그 다음 거래량 임계치를 설정하기 위해 곱셈자 (예를 들어 2.0) 를 사용합니다. 거래량이 이 임계치를 초과 할 때만 유효한 거래량으로 간주됩니다.

가격이 볼링거 밴드의 상단 트랙을 넘어서 거래량이 거래량 임계값을 초과하면 구매 신호가 생성됩니다. 가격이 볼링거 밴드의 하단 트랙을 넘어서 거래량이 거래량 임계값을 초과하면 판매 신호가 생성됩니다.

가격과 거래량의 두 번 확인을 통해 일부 잘못된 신호를 필터링하여 거래 전략을 더 신뢰할 수 있습니다.

전략적 장점

  1. 가짜 브레이크와 필터 노이즈를 피하기 위한 이중 확인 메커니즘. 가격 및 볼륨 지표를 결합하여 신호는 동시에 확인 될 때만 생성되며 빈 가격 브레이크로 인한 일부 잘못된 신호를 효과적으로 피할 수 있습니다.

  2. 조정 가능한 매개 변수: 사용자는 다양한 시장 환경에 적응하기 위해 볼링거 밴드의 기간 매개 변수와 거래량 기준의 곱셈 매개 변수를 독립적으로 설정할 수 있습니다.

  3. 직관적인 예시. 상부 및 하부 볼링거 밴드, 거래량 및 거래량 임계 지표는 더 직관적이고 명확한 전략 신호를 제공합니다.

위험 과 최적화

  1. 볼링거 밴드 자체는 트렌드 반전 지점을 완벽하게 식별 할 수 없습니다. 볼링거 밴드는 가격의 '비정상적인 상태'를 명확하게 보여줄 수 있지만 가격 반전을 예측할 수 없습니다. 따라서 판단을 위해 다른 지표와 결합해야합니다.

  2. 부피 신호가 지연될 수 있습니다. 상부 및 하부 볼링거 밴드의 급속한 파격이 있을 때 거래 부피의 반응이 지연될 수 있으며, 신호 생성의 지연과 전환점을 완벽하게 포착할 수 없는 결과를 초래할 수 있습니다.

  3. 다른 지표를 결합하려고 노력하십시오. KDJ, MACD 등과 같은 지표는 더 복잡한 다변화 거래 전략을 수립하기 위해 더 많은 변수를 도입하여 전략의 실용성을 향상시킵니다.

요약

이중 확인 및 매개 변수 조정 방법을 사용하여이 전략은 어느 정도 너무 많은 소음을 필터링하여 거래 결정을 더 신뢰할 수있게했습니다. 그러나 볼링거 밴드의 한계 자체는 여전히 보호되어야합니다. 미래에는 다양한 양적 전략을 최적화하고 설정하기 위해 다른 지표가 도입 될 수 있습니다.


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

//@version=5
strategy("Volume + Bollinger Bands Strategy", overlay = true, shorttitle="Vol BB Strategy")

// Bollinger Bands Parameters
length = input(20, title="BB Length")
src = close
mult = input(2.0, title="Multiplier")
basis = ta.sma(src, length)
upper = basis + mult * ta.stdev(src, length)
lower = basis - mult * ta.stdev(src, length)

// Volume Parameters
volMultiplier = input(2.0, title="Volume Multiplier")
avgVolume = ta.sma(volume, length)

// Strategy Logic
buyCondition = close > upper and volume > volMultiplier * avgVolume
sellCondition = close < lower and volume > volMultiplier * avgVolume

// Plotting
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
plot(volume, color=color.blue, style=plot.style_columns, title="Volume", transp=85)
plot(avgVolume * volMultiplier, color=color.orange, title="Avg Volume x Multiplier")

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)

bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)


더 많은