이 전략은 거래 신호를 생성하기 위해 볼링거 밴드 (Bollinger Bands) 와 켈트너 채널 (Keltner Channels) 이라는 두 가지 지표의 사용에 따라 명명되었습니다. 이 전략은 채널 경계를 초월한 가격 브레이크를 모니터링하며, 하락 브레이크에서 길고 상승 브레이크에서 짧습니다.
이 전략은 볼링거 밴드 (Bollinger Band) 와 켈트너 채널 (Keltner Channels) 을 결합한다. 볼링거 밴드는 이동 평균선 더하기/미인스 표준편차에서 그려진 적응 채널이다. 켈트너 채널은 채널 너비를 계산하기 위해 진정한 범위를 사용합니다.
거래 논리는 폐쇄 가격이 아래 볼링거 밴드 및 아래 켈트너 채널 아래로 떨어지면 긴 거리로 이동하여 반전을 예상합니다. 폐쇄 가격이 상부 볼링거 및 켈트너 채널 경계 이상으로 상승하면 짧은 거리로 이동합니다. 진입 후 중지 및 수익을 취합니다.
두 개의 채널을 결합함으로써 전략은 비정상적인 가격 변동을 효과적으로 식별합니다. 이중 채널 필터는 잘못된 신호를 피하는 데 도움이됩니다. 중지 및 이익은 또한 위험 통제에 도움이됩니다.
볼링거 밴드 또는 켈트너 채널만을 사용하는 것과 비교하면 이 전략은 더 높은 품질의 신호를 위해 더 많은 소음을 필터합니다. 이중 채널 브레이크오웃은 역전을 캡처하는 것을 목표로 적시에 입력을 허용합니다.
주요 위험은 채널 지표의 지연성입니다. 신호를 유발하는 채널 경계를 달성하기 전에 가격이 반전되기 시작할 수 있습니다. 이는 늦은 입출이나 인기를 끌 수 있습니다.
너무 긴 스톱과 너무 넓은 수익은 다른 위험입니다. 시장 조건에 따라 조정해야합니다.
전략은 모멘텀 오시레이터와 같은 보조 필터를 추가하여 최적화 할 수 있습니다. 최적의 조합을 발견하기 위해 매개 변수 조정도 도움이 될 수 있습니다.
적응식 스톱과 수익을 취하는 것은 또 다른 개선 경로이며, 전략이 변화하는 시장에 더 잘 적응하도록 돕습니다.
이 듀얼 채널 브레이크아웃 전략은 볼링거 밴드와 켈트너 채널의 강점을 결합하여 이중 채널 필터와 스톱/트랙 이윤 설정을 통해 위험을 제어하면서 반전 기회를 효과적으로 식별합니다. 그것은 품질, 위험 관리 양적 거래 전략입니다.
/*backtest start: 2023-01-31 00:00:00 end: 2024-01-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Estratégia de Compra/Venda BB e KC", overlay=true) // Parâmetros das Bandas de Bollinger bollinger_length = input(20, title="Comprimento das Bandas de Bollinger", minval=1) bollinger_deviation = input(2.0, title="Desvio Padrão das Bandas de Bollinger", minval=0.1) // Parâmetros dos Canais de Keltner keltner_length = input(20, title="Comprimento dos Canais de Keltner", minval=1) atr_multiplier = input(1.5, title="Multiplicador ATR dos Canais de Keltner", minval=0.1) // Take Profit e Stop Loss em termos financeiros take_profit = input(10.0, title="Take Profit (em $)", step=1) stop_loss = input(20.0, title="Stop Loss (em $)", step=1) // Cálculos das Bandas de Bollinger basis_bb = sma(close, bollinger_length) dev_bb = sma(stdev(close, bollinger_length), bollinger_length) upper_bb = basis_bb + dev_bb * bollinger_deviation lower_bb = basis_bb - dev_bb * bollinger_deviation // Cálculos dos Canais de Keltner basis_kc = sma(close, keltner_length) atr_kc = sma(atr(keltner_length), keltner_length) upper_kc = basis_kc + atr_multiplier * atr_kc lower_kc = basis_kc - atr_multiplier * atr_kc // Condição de Compra buy_condition = close < lower_bb and close < lower_kc // Condição de Venda sell_condition = close > upper_bb and close > upper_kc // Estratégia de Compra/Venda com TP e SL if (buy_condition) strategy.entry("Compra", strategy.long) strategy.exit("Take Profit/Stop Loss", from_entry="Compra", profit=take_profit, loss=stop_loss) if (sell_condition) strategy.entry("Venda", strategy.short) strategy.exit("Take Profit/Stop Loss", from_entry="Venda", profit=take_profit, loss=stop_loss) // Plot das Bandas de Bollinger e dos Canais de Keltner plot(upper_bb, color=color.rgb(47, 33, 243), title="Banda Superior de Bollinger") plot(lower_bb, color=color.rgb(89, 33, 243), title="Banda Inferior de Bollinger") plot(upper_kc, color=color.rgb(200, 255, 0), title="Canal Superior de Keltner") plot(lower_kc, color=color.rgb(225, 255, 0), title="Canal Inferior de Keltner")