연대화 탈퇴 전략

저자:차오장, 날짜: 2024-01-31 15:08:46
태그:

img

전반적인 설명

이 전략은 가격 통합 기간에 있는지 여부를 결정하기 위해 볼링거 밴드 지표를 사용하며, 진입 및 출구를 결정하기 위해 브레이크아웃을 사용합니다. 전반적으로이 전략은 주로 수익을 창출하기 위해 가격 통합에 의해 가져온 폭력적인 움직임을 활용합니다.

전략 논리

이 전략은 먼저 클로저 가격의 20 일 간 간단한 이동 평균을 볼링거 밴드의 중간 대역으로 계산하고, 대역 너비로 표준편차의 2 배를 계산합니다. 상위 대역 위의 클로저는 상위 대역 브레이크오웃을 나타냅니다. 하위 대역 아래에 있는 클로저는 하위 대역 브레이크오웃을 나타냅니다.

가격이 상위와 하위 볼링거 밴드 사이에 있을 때, 그것은 통합 기간으로 간주됩니다. 브레이크아웃 신호가 감지되면, 길게 이동합니다. 가격이 다시 하위 밴드 아래로 넘어갈 때, 포지션을 닫습니다. 짧게 이동하는 것은 비슷하게 작동합니다.

스톱 로스는 ATR 지표의 2배로 설정됩니다.

이점 분석

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

  1. 잠재적으로 큰 이익을 위해 가격 연립으로 인한 폭력적인 움직임을 이용하는 것
  2. 볼링거 밴드 지표는 직관적이고 매개 변수를 최적화하기 쉽습니다.
  3. 주요 트렌드를 따라, 상위 구매를 피하고 바닥 판매

위험 분석

또한 몇 가지 위험이 있습니다.

  1. 브레이크 신호는 잘못된 브레이크로 판명되어 손실이 발생할 수 있습니다.
  2. 스톱 로스 설정이 너무 넓어 큰 손실로 이어집니다.
  3. 볼링거 밴드 매개 변수가 잘못 설정되어 효과는 떨어집니다.

대책:

  1. 거짓 파장을 감지하기 위해 볼륨 필터를 추가합니다
  2. 손실을 제한하기 위해 중지 손실 범위를 최적화
  3. 최적을 찾기 위해 다른 BB 매개 변수를 테스트

최적화 방향

전략을 개선할 수 있는 몇 가지 방법:

  1. 거짓 신호를 피하기 위해 검출 규칙을 통합하기 위해 더 많은 지표를 추가하십시오.
  2. 트렌드 방향에 따라 긴/단기 결정 트렌드 필터를 추가
  3. 더 나은 위험을 제어하기 위해 후속 중지와 같은 중지 손실 방법을 향상

결론

전략은 단순하고 직선으로, 통합 과정에서 에너지 축적에서 이익을 얻습니다. 위험을 통제하면서 더 안정적인 이익을 얻기 위해 엔트리 규칙, 스톱 손실 방법 등을 중심으로 엄청난 최적화 공간이 있습니다.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Consolidation Breakout Strategy", shorttitle="CBS", overlay=true)

// Parameters
length = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
risk = input.float(1, title="Risk per Trade (%)") / 100

// Calculate Bollinger Bands
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// Entry Conditions
consolidating = ta.crossover(close, upper) and ta.crossunder(close, lower)

// Exit Conditions
breakout = ta.crossover(close, upper) or ta.crossunder(close, lower)

// Risk Management
atrVal = ta.atr(14)
stopLoss = atrVal * input.float(2, title="Stop Loss Multiplier", minval=0.1, maxval=5)

// Entry and Exit Conditions
longEntry = breakout and close > upper
shortEntry = breakout and close < lower

if (longEntry)
    strategy.entry("Long", strategy.long)

if (shortEntry)
    strategy.entry("Short", strategy.short)

if (longEntry and close < basis - stopLoss)
    strategy.close("Long Exit")

if (shortEntry and close > basis + stopLoss)
    strategy.close("Short Exit")

// Plot Entry and Exit Points
plotshape(consolidating, style=shape.triangleup, location=location.belowbar, color=color.rgb(30, 255, 0), title="Entry Signal")
plotshape(breakout, style=shape.triangledown, location=location.abovebar, color=color.rgb(255, 0, 0), title="Exit Signal")



더 많은