볼린저 밴드와 거래량을 기반으로 한 이중 확인 양적 거래 전략


생성 날짜: 2024-01-02 11:04:35 마지막으로 수정됨: 2024-01-02 11:04:35
복사: 0 클릭수: 823
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

볼린저 밴드와 거래량을 기반으로 한 이중 확인 양적 거래 전략

개요

이 전략은 Bollinger Bands Volume Confirmation 전략이라고 불리며, 그것의 핵심 아이디어는 부린 밴드 지표와 거래량 지표를 결합하여 가격 움직임과 거래량을 두 번 확인하여 더 신뢰할 수있는 구매 및 판매 신호를 생성하는 것입니다.

전략 원칙

이 전략은 크게 두 가지로 구성되어 있습니다.

  1. 브린 띠 지표 부분. 이 부분은 일정 기간 (예: 20일) 의 종전 가격의 간단한 이동 평균을 계산하고 이러한 종전 가격에 대한 이동 평균의 표준 차이를 계산합니다. 그 다음 표준 차이의 값에 따라 이동 평균 상의 각 표준 차이의 범위 아래에 해당하는 띠 모양의 영역을 계산합니다. 브린 띠의 띠 모양의 영역은 현재 가격이 비정상 상태인지 여부를 명확하게 표시합니다.

  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)