이 전략은 가격 통합 기간에 있는지 여부를 결정하기 위해 볼링거 밴드 지표를 사용하며, 진입 및 출구를 결정하기 위해 브레이크아웃을 사용합니다. 전반적으로이 전략은 주로 수익을 창출하기 위해 가격 통합에 의해 가져온 폭력적인 움직임을 활용합니다.
이 전략은 먼저 클로저 가격의 20 일 간 간단한 이동 평균을 볼링거 밴드의 중간 대역으로 계산하고, 대역 너비로 표준편차의 2 배를 계산합니다. 상위 대역 위의 클로저는 상위 대역 브레이크오웃을 나타냅니다. 하위 대역 아래에 있는 클로저는 하위 대역 브레이크오웃을 나타냅니다.
가격이 상위와 하위 볼링거 밴드 사이에 있을 때, 그것은 통합 기간으로 간주됩니다. 브레이크아웃 신호가 감지되면, 길게 이동합니다. 가격이 다시 하위 밴드 아래로 넘어갈 때, 포지션을 닫습니다. 짧게 이동하는 것은 비슷하게 작동합니다.
스톱 로스는 ATR 지표의 2배로 설정됩니다.
이 전략의 주요 장점은 다음과 같습니다.
또한 몇 가지 위험이 있습니다.
대책:
전략을 개선할 수 있는 몇 가지 방법:
전략은 단순하고 직선으로, 통합 과정에서 에너지 축적에서 이익을 얻습니다. 위험을 통제하면서 더 안정적인 이익을 얻기 위해 엔트리 규칙, 스톱 손실 방법 등을 중심으로 엄청난 최적화 공간이 있습니다.
/*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")