La stratégie est nommée d'après son utilisation de deux indicateurs, les bandes de Bollinger et les canaux de Keltner, pour générer des signaux de trading.
La stratégie combine les bandes de Bollinger et les canaux de Keltner. Les bandes de Bollinger sont des canaux adaptatifs tracés sur une ligne moyenne mobile plus / moins les écarts standards.
La logique du trading est d'aller long lorsque le prix de clôture tombe en dessous de la bande de Bollinger inférieure et du canal de Keltner inférieur, en anticipant un renversement. Il va court lorsque le prix de clôture dépasse les limites supérieures des canaux de Bollinger et de Keltner.
En combinant deux canaux, la stratégie permet d'identifier efficacement les fluctuations anormales des prix. Les filtres à double canal aident à éviter les faux signaux. Les arrêts et les bénéfices aident également à contrôler les risques.
Comparé à l'utilisation de bandes de Bollinger ou de canaux de Keltner, cette stratégie filtre plus de bruit pour des signaux de meilleure qualité.
Un risque majeur est la nature en retard des indicateurs de canal. Les prix pourraient commencer à s'inverser avant d'atteindre les limites du canal qui déclenchent les signaux. Cela peut entraîner des entrées tardives ou être pris dans des retraits.
Les arrêts trop serrés et les profits trop larges constituent d'autres risques qui doivent être ajustés en fonction des conditions du marché.
La stratégie peut être optimisée en ajoutant des filtres auxiliaires tels que des oscillateurs de momentum.
L'intégration d'arrêts adaptatifs et de prise de bénéfices est une autre voie d'amélioration, aidant la stratégie à mieux s'adapter à l'évolution des marchés.
Cette stratégie de rupture à double canal combine les atouts des bandes de Bollinger et des canaux de Keltner pour identifier efficacement les opportunités d'inversion, tout en contrôlant les risques via des filtres à double canal et des paramètres stop/take profit.
/*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")