리소스 로딩... 로딩...

볼링거 트렌드 쇼크 거래 전략

저자:차오장, 날짜: 2023-11-23 10:48:58
태그:

img

전반적인 설명

이 전략은 시장 트렌드 방향을 결정하기 위해 볼링거 밴드 지표를 사용하며, 트렌드 반전이 발생했을 때 역 트렌드 거래를합니다. 상승 추세에서 가격이 하위 밴드 아래로 넘어갈 때 길게 이동하며, 하락 추세에서 가격이 상위 밴드 위에 넘어갈 때 짧게 이동합니다. 또한 이동 평균은 전략을 더 안정적으로 만들기 위해 장기 트렌드의 기준으로 사용됩니다.

전략 원칙

이 전략은 시장 트렌드 방향을 결정하기 위해 볼링거 밴드의 중간 밴드, 상위 밴드 및 하위 밴드를 사용합니다. 중간 밴드는 n 기간 기하급수적 이동 평균이며, 상위 밴드 및 하위 밴드는 각각 중간 밴드 +2.3 표준 편차 및 중간 밴드 -2.3 표준 편차입니다. 가격이 하위 밴드 아래로 넘으면 현재 상승 추세를 나타냅니다. 가격이 상위 밴드 위에 넘으면 현재 하락 추세를 나타냅니다.

또한, 전략은 장기 트렌드 판단의 기준으로 200 기간 간단한 이동 평균 (SMA) 을 설정합니다. BB와 sma 지표가 같은 방향으로 동의 할 때만 거래 신호가 활성화됩니다. 이것은 일부 잘못된 브레이크를 효과적으로 필터링 할 수 있습니다.

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

  1. 상승 추세를 결정합니다: BB 상단역 > sma, 중단역 > sma, 하단역 >= sma
  2. 하향 추세를 결정합니다: BB 상단 < sma, 중단 < sma, 하단 <= sma
  3. 긴 조건: 상승 추세 + 가격 파기 BB 하위 대역
  4. 출구 조건: 가격 폭격 BB 상단
  5. 짧은 조건: 하락 추세 + 가격 파격 BB 상단
  6. 출구 조건: 가격이 BB 중단역 아래로 돌파하거나 230주기 MA 이상으로 다시 상승합니다.

이점 분석

  1. BB는 트렌드 방향을 효과적으로 판단하고 브레이크오웃 거래 기회를 포착합니다.
  2. 장기적인 MA 필터를 추가하면 가짜 파열과 관련된 위험을 줄입니다.
  3. 명확한 긴 논리와 짧은 논리, 이해하기 쉽고 따라
  4. 짧은 출구에 대한 엄격한 기준은 손실을 제한하는 데 도움이됩니다.

위험 분석

  1. BB와 MA가 거래 신호를 발행할 때 잠재적인 큰 미끄러짐
  2. 너무 엄격한 단축 조건은 단축 부익을 제한합니다.
  3. 부적절한 매개 변수 조정으로 인해 거래 빈도가 너무 높거나 낮을 수 있습니다.
  4. 엄청난 손실을 초래할 수 있는 브레이크업 전략

개선 사항:

  1. 거래 빈도를 줄이기 위해 BB 매개 변수를 최적화
  2. 거래당 큰 손실을 피하기 위해 손해를 중지 설정
  3. 분산 유효성을 보장하기 위해 볼륨 필터를 추가합니다

요약

전체적으로 이것은 트렌드를 결정하고 전환점에 역 트렌드 거래를하는 BB를 사용하여 간단하고 이해하기 쉬운 전략입니다. 단기 및 벤치마크 지표를 추가하는 것도 신호를 필터하는 데 도움이됩니다. 매개 변수 조정, 볼륨 지표 등과 같은 최적화에 대한 여전히 넓은 공간이 추가로 개선 될 수 있습니다.


/*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 = "空出场")

더 많은