Estratégia de ruptura de canal duplo

Autora:ChaoZhang, Data: 2024-02-01 14:43:07
Tags:

img

A estratégia é nomeada após o uso de dois indicadores, Bollinger Bands e Keltner Channels, para gerar sinais de negociação.

Estratégia lógica

A estratégia combina Bandas de Bollinger e Canais de Keltner. Bandas de Bollinger são canais adaptativos traçados em uma linha média móvel mais / menos desvios padrão.

A lógica de negociação é ir longo quando o preço de fechamento cai abaixo da faixa de Bollinger inferior e do canal de Keltner inferior, antecipando uma reversão.

Forças

Os filtros de canal duplo ajudam a evitar sinais falsos. As paradas e os lucros também ajudam no controle de risco.

Em comparação com o uso de apenas Bandas de Bollinger ou Canais de Keltner, esta estratégia filtra mais ruído para sinais de maior qualidade.

Análise de riscos

Um risco importante é a natureza atrasada dos indicadores do canal. Os preços podem começar a reverter antes de atingir os limites do canal que desencadeiam os sinais. Isso pode resultar em entradas tardias ou ser pego em retrações.

Os riscos associados às paradas demasiado apertadas e aos lucros excessivos são outros riscos que devem ser ajustados em função das condições do mercado.

Oportunidades de melhoria

A estratégia pode ser otimizada adicionando filtros auxiliares como osciladores de momento.

A incorporação de paradas adaptativas e tomada de lucros é outra via de melhoria, ajudando a estratégia a se adaptar melhor aos mercados em evolução.

Conclusão

Esta estratégia de ruptura de canal duplo combina os pontos fortes das bandas de Bollinger e dos canais de Keltner para identificar efetivamente oportunidades de reversão, controlando os riscos através de filtros de canal duplo e configurações de 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")


Mais.