볼린저 밴드 반전 추세 전략


생성 날짜: 2023-12-07 16:08:05 마지막으로 수정됨: 2023-12-07 16:08:05
복사: 0 클릭수: 620
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

볼린저 밴드 반전 추세 전략

개요

이 전략은 부린띠의 상단, 중단, 하단 궤도와 200일 이동 평균의 관계를 통해 트렌드 방향을 판단한다. 다단 트렌드에서는 가격이 부린띠의 하단 궤도를 접촉했을 때 더 많이 하고, 공중 트렌드에서는 가격이 부린띠의 하단 궤도를 접촉했을 때 공백을 한다.

원칙

  1. 판단 트렌드: 부린이 궤도 상과 궤도 아래를 동시에 200일 이동 평균보다 큰 경우 다목적 트렌드; 부린이 궤도 상과 궤도 아래를 동시에 200일 이동 평균보다 작은 경우 공백 트렌드
  2. 입구: 다중 트렌드에서, 가격이 부린을 타면 더 많이; 공백 트렌드에서, 가격이 부린을 타면 공백
  3. 출구: 다수 포지션을 보유할 때, 가격이 부린带이 궤도를 타거나 250일 간단한 이동 평균을 넘을 때 평점 포지션; 공백 포지션을 보유할 때, 가격이 부린带이 궤도를 타거나 300일 간단한 이동 평균을 넘을 때 평점 포지션

장점

  1. 불린 띠를 사용하여 트렌드 방향을 판단하여 방향이 명확하지 않은 경우 반복 거래를 피하십시오.
  2. 트렌드 방향이 명확할 때, 부린 밴드 파동 범위를 사용하여 적절한 입지와 출구를 판단합니다.
  3. 이동 평균의 보조 판단을 추가하여 예상치 못한 손실을 방지합니다.

위험과 해결

  1. 부린띠 변수 설정이 잘못되어 판단 오류가 발생한다: 부린띠 변수를 조정하여 가장 적합한 주기 길이를 찾아야 한다
  2. 이동 평균 getParameter 부적절하고, 자주 중단되거나 예상 밖의 손실이 발생한다: 서로 다른 파라미터를 테스트하여 가장 안정적인 파라미터를 찾아야 한다
  3. 급격한 상황 변화, 예를 들어 중요한 뉴스면, 비정상적인 변동으로 인해: 중지 손실을 설정하고 단편 손실을 제어해야합니다.

최적화 방향

  1. 다양한 주기 변수 아래의 전략 성능을 테스트하여 최적의 변수를 찾습니다.
  2. 비정상적인 상황에서의 큰 손실을 방지하기 위한 손해 방지 제도를 강화
  3. 다른 지표와 함께 진입 시점을 확인하여 전략 승률을 높여줍니다.

요약하다

이 전략은 부린띠를 통해 트렌드 방향을 판단하고, 명확한 트렌드 이후에 부린띠를 통해 보조 이동 평균이 형성되는 거래 시스템은 거래 방향의 정확성을 보장하고, 변동 범위를 사용하여 적절한 수익을 잠금합니다. 또한 몇 가지 파라미터 선택 및 중지 손실과 관련된 문제가 있습니다. 파라미터 설정을 최적화하고, 중지 장치 등을 추가함으로써 더 나은 전략 성능을 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 1m
basePeriod: 1m
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("boll trend", overlay=true,initial_capital=1000,default_qty_type=strategy.fixed, default_qty_value=1 )
bollL=input.int(20,minval=1,title = "length")
bollmult=input.float(2.3,minval=0,step=0.1,title = "mult")
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 = "trend")
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) or ta.crossunder(close,ta.sma(close,300))
shortEXIT=ta.crossunder(low,lower) or ta.crossover(close,ta.sma(close,250)) 

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

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

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

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