Estratégia de ruptura baseada em dois canais

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

基于双通道突破策略

O nome da estratégia vem de seu uso de dois indicadores para a construção de sinais de negociação: o painel de Bryn e o canal de Kettner. Ele monitora quando o preço quebra os limites do canal, faz mais quando o preço quebra o canal descendente e faz espaço quando o preço quebra o canal ascendente.

Princípios estratégicos

A estratégia combina a utilização de dois indicadores: o cinturão de Bryn e o canal de Kettner. O cinturão de Bryn é um canal de adaptação construído com base na média móvel do preço das ações e seu desvio padrão. O canal de Kettner utiliza o alcance do canal para calcular a amplitude de onda real.

A lógica de negociação da estratégia é que, quando o preço de fechamento está abaixo do limite inferior da faixa de Brin e do limite inferior do canal de Kettner, faça uma busca de reversão multi-head; quando o preço de fechamento está acima do limite superior da faixa de Brin e do limite superior do canal de Kettner, faça uma busca de reversão multi-head.

Análise de vantagens

A estratégia, combinada com a faixa de Bryn e o canal de Kettner, é eficaz para identificar as variações anormais; ao mesmo tempo, utiliza os dois canais para definir condições de filtragem e evitar sinais falsos.

A estratégia pode filtrar mais ruído e melhorar a qualidade do sinal, em comparação com o uso de um único canal de faixa de brinquedo ou catenário.

Análise de riscos

O principal risco desta estratégia é que o indicador do canal esteja atrasado; o preço pode começar a reverter antes de o limite do canal disparar o sinal; isso pode levar a uma entrada tardia ou ser bloqueado em um rebote.

Além disso, a configuração de stop loss muito pequena também aumenta o risco de stop loss. A configuração de stop loss muito grande pode perder o ponto de saída ideal. Isso requer ajustes de parâmetros de acordo com a situação do mercado.

Optimização

A estratégia pode ser optimizada através da introdução de condições de filtragem auxiliares, como indicadores de potência. Também é possível testar diferentes combinações de parâmetros para encontrar o melhor parâmetro.

A inclusão de mecanismos de contenção de prejuízos de adaptação é outra direção de otimização. Isso pode ajudar a estratégia a se adaptar melhor às mudanças no ambiente do mercado.

Resumo

A estratégia de ruptura de dois canais integra os benefícios da faixa de Bryn e do indicador do canal de Kettner para identificar eficazmente as oportunidades de reversão. Ao mesmo tempo, o risco é controlado por filtragem de dois canais e paralisação de prejuízos. É uma estratégia de negociação quantitativa de alta qualidade e risco controlado.


/*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 informações