Sistema de negociação híbrido de média móvel e bandas de Bollinger duplas

KC EMA ATR SL TP TA BTC ETH
Data de criação: 2025-03-26 14:21:48 última modificação: 2025-03-26 14:21:48
cópia: 0 Cliques: 379
2
focar em
319
Seguidores

Sistema de negociação híbrido de média móvel e bandas de Bollinger duplas Sistema de negociação híbrido de média móvel e bandas de Bollinger duplas

Visão geral

A estratégia é um sistema de negociação híbrido que combina o Keltner Channel e o Multi-Index Moving Average. Capta condições de sobrevenda e sobrevenda monitorando a interação dos preços com a borda do Keltner Channel, enquanto usa os pontos de cruzamento de EMAs de curto e médio prazo para confirmar a quantidade de movimento da tendência.

Princípio da estratégia

O núcleo da estratégia baseia-se em dois sistemas de sinalização de negociação diferentes:

  1. O Canal de Kentner reverteu o comércio.:

    • Quando o preço entra no caminho abaixo (lower KC), um sinal de entrada prolongada (long Entry KC) é disparado.
    • Quando o preço se aproxima do upper KC, um sinal de curto-circuito (short entry KC) é disparado.
    • O reversão de negociação se estabiliza quando o preço retorna ao meio caminho (emaBasis)
  2. Trends Tracking Transações:

    • Quando o 9 ciclo EMA atravessa o 21 ciclo EMA e o preço está acima do 50 ciclo EMA, a ação de multi-sinal (longEntryTrend) é acionada
    • Quando o 9 ciclo EMA atravessa o 21 ciclo EMA e o preço está abaixo do 50 ciclo EMA, o sinal de curto-circuito é acionado (shortEntryTrend)
    • Tendência de negociação de equilíbrio no EMA de curto prazo re-cruzar o EMA de médio prazo

O próprio canal de Kentner passa por uma EMA de 20 ciclos como meio-carril, aumentando e diminuindo o ATR de 1,5 vezes para o meio-carril. Esta construção permite que o canal ajuste a largura de acordo com a dinâmica de volatilidade do mercado, expandindo-se automaticamente em períodos de alta volatilidade e contraindo automaticamente em períodos de baixa volatilidade.

O mecanismo de gerenciamento de risco do sistema utiliza um stop loss e um profit target dinâmicos baseados no ATR:

  • Fazer um stop loss mais alto a 1,5 vezes o ATR abaixo do preço de entrada
  • O Stop Loss do setor de ações é 1,5 vezes o ATR acima do preço de entrada
  • A meta de lucro é de 3 vezes o ATR acima do preço de entrada.
  • Objetivo de lucro do setor de ações em 3 vezes o ATR abaixo do preço de entrada (ATR 2 × 1.5)

Vantagens estratégicas

  1. Integração estratégicaA combinação das duas estratégias de negociação de reversão e de acompanhamento de tendências permite ao sistema manter-se flexível em diferentes ambientes de mercado, capturando reversões de preços de curto prazo e acompanhando tendências de médio e longo prazo.

  2. Gestão de Riscos DinâmicosOs objetivos de perda e ganho calculados através do ATR são automaticamente ajustados à volatilidade do mercado, oferecendo um espaço de perda mais amplo em períodos de alta volatilidade e um controle de risco mais rigoroso em períodos de baixa volatilidade.

  3. Mecanismo de confirmação de sinalA parte de negociação de tendências exige que múltiplas condições sejam atendidas ao mesmo tempo (cruzamento de EMAs de curto e médio prazo e preço no lado certo do EMA de longo prazo), reduzindo significativamente os falsos sinais.

  4. Altamente adaptávelA largura do canal de Kentner é automaticamente ajustada de acordo com a volatilidade do mercado, permitindo que a estratégia se adapte a vários cenários de mercado, sem a necessidade de ajustar os parâmetros manualmente.

  5. Ciclo de negociação completoA estratégia define claramente as condições de entrada, saída, parada e ganho, formando um quadro completo de negociação.

  6. Alerta automáticaA função de alerta de TradingView é integrada, permitindo a notificação de sinais de negociação totalmente automática.

Risco estratégico

  1. Risco de Falso BreakoutMétodo de atenuação: Considere a adição de condições de confirmação, como exigir que o preço fique fora do canal por um período de tempo ou em combinação com outros indicadores técnicos.

  2. Mudança de tendência atrasadaO sinal de cruzamento do EMA é essencialmente um indicador de atraso, o que pode levar a entradas ou saídas inadequadas perto dos pontos de mudança de tendência. Método de atenuação: A introdução de indicadores de movimento mais sensíveis pode ser considerada como confirmação auxiliar.

  3. Insuficiência de stop lossMétodo de atenuação: Para determinadas variedades de alta volatilidade, pode-se considerar o ajuste do multiplicador de parada para 2 vezes ou mais.

  4. Conflito de múltiplos sinaisA estratégia de reversão e a estratégia de tendência podem produzir sinais opostos ao mesmo tempo, dificultando a tomada de decisões. Método de mitigação: pode-se estabelecer a prioridade do sinal ou aplicar as duas estratégias separadamente em diferentes prazos.

  5. Sensibilidade do parâmetroMétodo de mitigação: recomenda-se a otimização de parâmetros e a validação de retorno antes do disco.

Direção de otimização da estratégia

  1. Aumentar o filtro de tempo de transação: Pode ser adicionado um filtro de janela de tempo de negociação, evitando os períodos de baixa volatilidade e baixa liquidez na abertura e no fechamento do mercado, executando sinais de negociação apenas nos períodos de maior atividade do mercado.

  2. Introdução ao juízo de volatilidadeAumento do julgamento do ATR em relação ao valor histórico, suspensão da reversão quando a volatilidade for muito alta, apenas negociação de tendência; prioridade à reversão quando a volatilidade for muito baixa.

  3. Optimizar a gestão de fundosA estratégia atual usa uma proporção fixa de 10 por cento para gerenciar a posição, que pode ser melhorada para um ajustamento de posição dinâmico baseado na volatilidade, aumentando a posição em um ambiente de baixa volatilidade e reduzindo a posição em um ambiente de alta volatilidade.

  4. Aumentar as condições de filtragem de transações: Pode-se adicionar mais condições de filtragem para melhorar a qualidade do sinal, por exemplo:

    • Combinado com o RSI, o indicador filtrou o sinal de reversão do canal de Duncan Kentner
    • Pedido de confirmação de sinal de cruzamento da EMA
    • Execução de transações apenas na direção das principais tendências
  5. Análise de Multi-Framas de TempoIntrodução de julgamento de tendências em quadros de tempo mais altos, executando sinais de quadros de tempo mais baixos apenas na direção da tendência de quadros de tempo mais altos.

  6. Optimizar a forma de obter lucrosA utilização atual de ATR de multiplicadores fixos como alvo de lucro pode ser melhorada com o mecanismo de parada de perdas para maximizar a captura de lucros de tendências.

Resumir

O sistema de negociação híbrido do canal de Kentner com a EMA é uma estratégia de negociação abrangente e flexível, que se adapta a diferentes cenários de mercado através da combinação de sinais de reversão e de acompanhamento de tendências. Sua vantagem central reside no ajuste dinâmico da largura do canal e na gestão de risco baseada no ATR, que permite que a estratégia se adapte automaticamente às mudanças na volatilidade do mercado. No entanto, a estratégia ainda apresenta alguns riscos inerentes, como problemas de falha de ruptura e atraso de sinal.

A estratégia tem muito espaço para melhorias através de uma série de medidas de otimização, como o aumento das condições de filtragem de transações, a otimização do gerenciamento de fundos e a introdução de análises de múltiplos períodos de tempo. Para os comerciantes, é recomendável fazer um bom teste de retorno em diferentes condições de mercado e períodos de tempo antes da aplicação no mercado, e ajustar os parâmetros de configuração de acordo com as características de cada tipo de transação.

Código-fonte da estratégia
/*backtest
start: 2024-03-26 00:00:00
end: 2024-07-22 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Keltner Channel Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Keltner Channel Settings
length = 20
mult = 1.5
emaBasis = ta.ema(close, length)
atrVal = ta.atr(length)

upperKC = emaBasis + (mult * atrVal)
lowerKC = emaBasis - (mult * atrVal)

// Entry Conditions for Different Strategies
longEntryKC = ta.crossunder(close, lowerKC)
shortEntryKC = ta.crossover(close, upperKC)

longEntryTrend = ta.crossover(ta.ema(close, 9), ta.ema(close, 21)) and close > ta.ema(close, 50)
shortEntryTrend = ta.crossunder(ta.ema(close, 9), ta.ema(close, 21)) and close < ta.ema(close, 50)

// Stop-Loss and Take-Profit Levels
atrMultiplier = 1.5
stopLossLong = close - (atrMultiplier * atrVal)
stopLossShort = close + (atrMultiplier * atrVal)
takeProfitLong = close + (2 * atrMultiplier * atrVal)
takeProfitShort = close - (2 * atrMultiplier * atrVal)

// Exit Conditions
exitLongKC = ta.crossover(close, emaBasis)
exitShortKC = ta.crossunder(close, emaBasis)
exitLongTrend = ta.crossunder(ta.ema(close, 9), ta.ema(close, 21))
exitShortTrend = ta.crossover(ta.ema(close, 9), ta.ema(close, 21))

// Plot Keltner Channels
plot(upperKC, title="Upper Keltner Band", color=color.blue)
plot(lowerKC, title="Lower Keltner Band", color=color.red)
plot(emaBasis, title="Mid Keltner Band", color=color.gray)

// Execute Trades
strategy.entry("Long_KC", strategy.long, when=longEntryKC)
strategy.close("Long_KC", when=exitLongKC)
strategy.entry("Short_KC", strategy.short, when=shortEntryKC)
strategy.close("Short_KC", when=exitShortKC)

strategy.entry("Long_Trend", strategy.long, when=longEntryTrend)
strategy.close("Long_Trend", when=exitLongTrend)
strategy.entry("Short_Trend", strategy.short, when=shortEntryTrend)
strategy.close("Short_Trend", when=exitShortTrend)

// Stop-Loss and Take-Profit Implementation
strategy.exit("Long_KC_Exit", from_entry="Long_KC", stop=stopLossLong, limit=takeProfitLong)
strategy.exit("Short_KC_Exit", from_entry="Short_KC", stop=stopLossShort, limit=takeProfitShort)
strategy.exit("Long_Trend_Exit", from_entry="Long_Trend", stop=stopLossLong, limit=takeProfitLong)
strategy.exit("Short_Trend_Exit", from_entry="Short_Trend", stop=stopLossShort, limit=takeProfitShort)

// Alerts
alertcondition(longEntryKC, title="Long Entry KC Alert", message="Price touched Lower Keltner Band - Possible Long Setup")
alertcondition(shortEntryKC, title="Short Entry KC Alert", message="Price touched Upper Keltner Band - Possible Short Setup")
alertcondition(longEntryTrend, title="Long Entry Trend Alert", message="9 EMA crossed above 21 EMA - Possible Long Setup")
alertcondition(shortEntryTrend, title="Short Entry Trend Alert", message="9 EMA crossed below 21 EMA - Possible Short Setup")