볼린저 밴드 브레이크아웃 주식 전략


생성 날짜: 2023-12-15 16:20:57 마지막으로 수정됨: 2023-12-15 16:20:57
복사: 2 클릭수: 669
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

볼린저 밴드 브레이크아웃 주식 전략

개요

부린밴드 브레이크스 주식 전략은 주식 가격 변동을 추적하는 양적 거래 전략이다. 부린밴드 지표를 사용하여 가격이 정상적인 변동 범위를 벗어나지 않는지 판단하여 거래 신호를 발산한다. 가격이 부린밴드 하위 한계를 뚫을 때, 더 많은 입장을 취하고; 가격이 부린밴드 상위 한계를 뚫을 때, 빈 입장을 취한다. 이 전략은 주식 가격의 단기 경향을 추적하며, 짧은 라인 작업에 적합하다.

전략 원칙

이 전략은 20일 주식 종식 가격을 사용하여 중도선, 상도선 및 하도선을 계산한다. 중도선은 20일 종식 가격의 간단한 이동 평균이다. 상도선과 하도선은 각각 2배의 표준 차이를 구성한다. 주식 종식 가격이 하도선을 돌파할 때, 주가가 정상적인 변동 영역에서 벗어났다고 생각하며, 새로운 상승 추세를 시작하며, 코드 전략에 따라 이 때 여러 경기에 한다.

우위 분석

이 전략의 주요 장점은 다음과 같습니다.

  1. 브린 띠를 사용하여 주가 트렌드 변화 지점을 판단하고, 단기 트렌드를 효율적으로 포착한다.

  2. 철회 위험은 작고, 스톱포스트는 최근 변동의 낮은 지점에 설정되어 손실을 효과적으로 제어할 수 있다.

  3. 스톱포인트는 최근 변동의 최고점에 설정되어 있으며, 이는 일방적인 트렌드 시장을 포착하여 수익을 극대화합니다.

  4. 전략은 간단하고 명확하며, 이해하기 쉽고 수정할 수 있으며, 양자 거래 초보자에게 적합합니다.

위험 분석

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

  1. 브린띠 지표는 변동성에 매우 민감하며, 파라미터를 잘못 설정하면 거짓 신호가 발생할 수 있다. 주기수와 같은 파라미터를 적절히 조정해야 한다.

  2. 주식 자체의 가격 변동이 크며, 스톱포드 종료 시기가 너무 일찍, 지속적인 트렌드를 추적할 수 없다. 변동 범위 스톱포드를 적절히 확장할 수 있다.

  3. 돌파 신호가 지연되면 재원이 과도하게 유출될 수 있다. 다른 지표와 함께 조기 입주를 판단해야 한다.

  4. 시장은 예측할 수 없으며, 정지 손실은 파악하기 어렵습니다.

최적화 방향

이 전략은 다음과 같은 방향으로 더 개선될 수 있습니다.

  1. 다른 지표와 결합하여 진출 신호를 확인합니다. 예를 들어, 거래량 급증 등.

  2. 동적으로 브린 대역변수를 조정하여 시장의 변동에 더 잘 적응하도록 한다.

  3. 이동식 중지, 분량 중지, 기타와 같은 중지 중지 손실 전략을 최적화하십시오.

  4. 다양한 주식 품종의 파라미터 효과를 테스트하여 최적의 품종 적용 범위를 찾습니다.

  5. 기계 학습 알고리즘을 추가하고, 자동으로 최적화 파라미터 설정을 한다.

요약하다

부린 띠 돌파 전략 전체적인 아이디어는 명확하고 이해하기 쉽다. 부린 띠 지표를 사용하여 주가 반전점을 판단하고, 회수 위험은 작으며, 단기간의 일방적인 움직임을 포착할 수 있다. 그러나 특정 수익 상한과 시간 지연의 문제가 있다. 이 전략은 파라미터 최적화, 스톱 스톱 손실 전략 최적화, 다른 보조 지표를 추가하는 등의 방법을 통해 추가적으로 개선할 수 있다.

전략 소스 코드
/*backtest
start: 2023-11-14 00:00:00
end: 2023-12-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Initial settings
strategy("Bulle de bollinger", overlay = true)

// Parameter Settings
mdl = sma(close, 20)
dev = stdev(close, 20)

upr = mdl + 2*dev
lwr = mdl - 2*dev

// Plot
plot(mdl, color = color.green) // Plot moving average
p1 = plot(upr, color = color.red) // Plot Upper_band
p2 = plot(lwr, color = color.green) // Plot lower band
fill(p1, p2, color = color.blue) // Fill transparant color between the 2 plots

// Strategy entry & close

if open[1] < lwr[1] and close[1] < lwr[1] // Previous price lower than lower band and current close is higher than lower band
    stop_level = lowest(10)
    profit_level = highest(10)
    strategy.entry(id = 'bb_buy', long = true)
    strategy.exit("TP/SL", "bb_buy", stop=stop_level, limit=profit_level)
    
if open[1] > upr[1] and close[1] > upr // Previous price is higher than higher band & current close is lower the higher band
    stop_level = highest(10)
    profit_level = lowest(10)
    //strategy.entry(id = 'bb_sell', long = false)
    //strategy.exit("TP/SL", "bb_sell", stop=stop_level, limit=profit_level)