볼린저 밴드 트렌드 스윙 트레이딩 전략


생성 날짜: 2023-11-23 10:48:58 마지막으로 수정됨: 2023-11-23 10:57:10
복사: 3 클릭수: 551
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

볼린저 밴드 트렌드 스윙 트레이딩 전략

개요

이 전략은 부린带 지표에 기반하여 시장의 경향 방향을 판단하고, 경향 방향이 전환될 때 역으로 작동한다. 다단계 시장에서는 가격이 부린带로 내려가면 더 많이 하고, 공백 시장에서는 가격이 부린带로 올라갈 때 공백한다. 동시에, 전략은 이동 평균을 장기적인 경향을 판단하는 기준으로 설정하여 전략을 더 안정시킨다.

전략 원칙

이 전략은 부린 띠의 중간 궤도, 상단 궤도, 하단 궤도를 사용하여 시장 추세 방향을 판단한다. 부린 띠의 중간 궤도 n주기의 지수 이동 평균, 부린 띠의 상단 궤도 및 하단 궤도는 각각 중간 궤도 + 2.3배 표준 차, 중간 궤도 - 2.3배 표준 차이다. 가격이 하단 궤도를 돌파 할 때, 현재 다단 시장에 있음을 나타냅니다. 가격이 상단 궤도를 돌파 할 때, 현재 공허 시장에 있음을 나타냅니다.

또한, 전략은 200주기 간단한 이동 평균 스마를 장기적인 추세를 판단하는 지표로 설정한다. 부린 밴드 지표와 스마 지표가 동방향일 때만 거래 신호를 발산한다. 이것은 일부 가짜 돌파구를 효과적으로 필터링 할 수 있다.

구체적인 거래 논리는 다음과 같습니다.

  1. 다목적 경향을 판단하기: 브린은 상단>sma, 중단>sma, 하단>=sma
  2. 허공 트렌드를 판단하기: 부린이 선로 위에
  3. 다중 조건: 다중 트렌드 + 부린을 넘어가는 가격
  4. 출구 조건: 가격 돌파 부린 띠 선착장
  5. 공허 조건: 공허 트렌드 + 가격 돌파 부린 띠 궤도
  6. 출구 조건: 가격이 브린 반도의 중간 궤도를 넘어가는 것 또는 230주기 이동 평균 이상의 가격으로 재조정되는 것

우위 분석

  1. 브린 띠를 사용하여 트렌드 방향을 판단하고, 브레이크 오퍼의 기회를 효과적으로 잡을 수 있습니다.
  2. 장기 이동 평균 필터링을 추가하여 가짜 브레이크의 위험을 줄일 수 있습니다.
  3. 더 많은 공백을 만들고 논리적으로 명확하고 이해하기 쉬운 작업을 수행합니다.
  4. 공허 출전 조건이 더 엄격하게 설정되어 손실을 줄일 수 있습니다.

위험 분석

  1. 브린 띠와 이동 평균이 거래 신호를 내면 큰 슬라이드 포인트가 발생할 수 있습니다.
  2. 허공 조건이 너무 엄격하여 허공 수익이 낮아질 수 있습니다.
  3. 잘못된 매개 변수 설정으로 인해 거래 빈도가 너무 높거나 너무 낮을 수 있습니다.
  4. 혁신적 전략은 엄청난 손실을 초래할 수 있습니다.

개선 방법:

  1. 브린 대역을 최적화하여 거래 빈도를 낮추는 방법
  2. 단독 손실을 방지하기 위해 스톱포인트를 설정하세요.
  3. 거래량 지표 필터링을 추가하여 파격 효과를 보장합니다.

요약하다

이 전략은 전체적으로 비교적 간단하고 이해하기 쉽다. 부린 띠를 사용하여 추세를 판단하고, 전환점에서 역작업을 한다. 동시에 장기 단기 판단 지표를 추가하면 신호를 효과적으로 필터링 할 수 있다. 전략 최적화 공간은 여전히 넓고, 적절한 조정 매개 변수, 양 에너지 지표 등을 추가하면 추가적으로 개선할 수 있다.

전략 소스 코드
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
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/
// © Aayonga

//@version=5
strategy("布林趋势震荡单", overlay=true,initial_capital=10000,default_qty_type=strategy.fixed, default_qty_value=1 )
bollL=input.int(20,minval=1,title = "长度")
bollmult=input.float(2.3,minval=0,step=0.1,title = "标准差")
basis=ta.ema(close,bollL)
dev=bollmult*ta.stdev(close,bollL)
upper=basis+dev
lower=basis-dev
smaL=input.int(200,minval=1,step=1,title = "趋势分界线")
sma=ta.sma(close,smaL)
//多头趋势
longT=upper>sma and basis>sma and lower>=sma
//空头趋势
shortT=upper<sma and basis<sma and lower<=sma

//入场位
longE=ta.crossover(close,lower)
shortE=ta.crossover(close,upper)
//出场位

longEXIT=ta.crossover(high,upper) 
shortEXIT=ta.crossunder(close,basis) or ta.crossover(close,ta.sma(close,230)) 

if longT and longE
    strategy.entry("多",strategy.long)

if longEXIT
    strategy.close("多",comment = "多出场")

if shortE and shortT
    strategy.entry("空",strategy.short)

if shortEXIT
    strategy.close("空",comment = "空出场")