롱온리 볼린저 밴드 브레이크아웃 추적 전략


생성 날짜: 2024-01-29 11:05:29 마지막으로 수정됨: 2024-01-29 11:05:29
복사: 4 클릭수: 668
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

롱온리 볼린저 밴드 브레이크아웃 추적 전략

개요

부린 띠의 돌파 전략은 단지 여러 개의 모멘텀 트래킹 전략이다. 부린 띠의 상승과 하락을 사용하여 가격 동력을 판단하고, 가격이 경로를 돌파 할 때 더 많이하고, 가격이 하락하거나 이동 평균 라인을 평정 할 때 평정한다.

전략 원칙

이 전략은 먼저 N일 이동 평균을 기준선으로 계산하고, 그 다음 기준선 아래 각각 K배의 표준차를 추가하여 상반도와 하반도를 구성하고, 이를 통해 브린 밴드를 형성한다. 가격이 상반도를 돌파할 때, 가격이 상향으로 돌파되는 것을 의미하며, 금포크 신호에 속하며, 이 전략은 더 많은 것을 한다. 가격이 하반도 또는 이동 평균을 돌파할 때, 가격이 하향으로 회귀하는 것을 의미하며, 사형포크 신호에 속하며, 이 전략은 매장 청산한다.

부린 밴드 상단 및 하단 레일들은 가격 데이터의 대부분의 분포를 동적으로 포함할 수 있기 때문에, 그들은 현재 시장 가격의 합리적인 변동 범위를 나타냅니다. 가격이 합리적인 변동 범위를 돌파하면, 시장이 비정상화되어 적시에 위치 조정이 필요하다는 것을 의미합니다. 이것은 전략의 기본 판단 논리입니다.

우위 분석

이 전략에는 다음과 같은 장점이 있습니다.

  1. 가격 동향을 효과적으로 포착하고, 시장의 동력을 실시간으로 추적할 수 있는
  2. 브린 벨트를 이용해서 비정상적인 돌파구를 판단하고, 가짜 돌파구를 쉽게 만들지 않는다.
  3. 규칙이 명확하고 실행이 쉬우며,
  4. 시장의 변동에 따라 적절한 매개 변수를 선택하여 최적화 전략을 수립할 수 있습니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 시장이 급격하게 변동하면 브린의 판단이 무효가 됩니다.
  2. 시장의 실제 흐름을 판단할 수 없고, 상승과 하락을 따라갈 수도 있다.
  3. 시간이 지남에 따라
  4. 실제 운영 효과는 거래 비용을 고려하지 않고 할인됩니다.

이러한 위험을 제어하기 위해, MACD와 같은 추세 판단 지표와 결합할 수 있습니다. 또한, 부린 띠 범위를 축소하여 잘못된 신호를 줄이기 위해 파라미터를 적절하게 조정할 수 있습니다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 거래량 지표와 함께 진정한 돌파구를 판단합니다.
  2. 브린 띠를 실시간으로 최적화하여
  3. 단편적 손실을 제어하기 위한 HTTPS 전략과 함께
  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)