Uma tendência que segue uma estratégia baseada nos canais de Keltner

Autora:ChaoZhang, Data: 2023-11-28 11:50:09
Tags:

img

Resumo

Esta estratégia é concebida com base no indicador Keltner Channel de gráficos de velas para rastrear tendências, julgando as rupturas de preços de bandas de canais.

Estratégia lógica

O núcleo desta estratégia consiste na construção de um canal de Keltner para julgar as tendências de preços e os níveis potenciais de suporte / resistência. Especificamente, ele primeiro calcula a linha EMA dos velas, em seguida, adiciona as faixas superior e inferior a uma distância de keltnerDeviation vezes a volatilidade ATR para construir o canal de Keltner. Quando o preço quebra acima da faixa inferior, uma posição longa é aberta. Quando o preço quebra abaixo da faixa superior, uma posição curta é aberta para seguir as tendências. Além disso, a estratégia também fornece um parâmetro closeOnEMATouch para controlar se deve tirar lucro quando o preço toca a linha EMA.

A lógica chave concentra-se em três partes:

  1. Construir o indicador do canal de Keltner, incluindo o cálculo da EMA, da volatilidade do ATR, das faixas superior e inferior.

  2. Julgar os sinais de entrada com base em rupturas das faixas do canal, incluindo ir longo quando o preço ultrapassa a faixa inferior e ir curto quando o preço ultrapassa a faixa superior.

  3. Fornecer o parâmetro closeOnEMATouch para controlar se deve ou não obter lucro quando o preço tocar a linha EMA.

Ao combinar estas três partes, é implementada uma estratégia de negociação de tendência baseada em indicadores de canal.

Análise das vantagens

Em comparação com as estratégias de stop loss móveis tradicionais, esta estratégia tem as seguintes principais vantagens:

  1. Conseguir acompanhar eficazmente as tendências do mercado e a direcção geral.

  2. Os períodos de detenção relativamente longos a médio prazo evitam negociações excessivamente frequentes.

  3. Considerando a volatilidade, tem um certo efeito de filtragem contra condições anormais de mercado.

  4. Fornece mecanismos de controlo de riscos através de stop loss.

Por conseguinte, esta estratégia é muito adequada para operadores quantitativos que têm julgamentos precisos sobre as tendências do mercado e buscam uma alta utilização do capital.

Análise de riscos

Apesar das suas vantagens, a estratégia enfrenta também alguns riscos fundamentais no comércio real:

  1. A reversão súbita e violenta da tendência representa o maior risco, que pode penetrar no ponto de stop loss e causar perdas enormes.

  2. O preço pode oscilar dentro do canal e desencadear stop loss repetidamente.

  3. A alta frequência de negociação pode ter um impacto grave nos lucros decorrentes dos custos de negociação e do deslizamento.

Para controlar esses riscos, podemos ajustar os parâmetros para tornar a faixa de canal mais razoável, escolher produtos com menor flutuação de preços ou ampliar adequadamente a distância de stop loss.

Orientações de otimização

Tendo em conta os riscos potenciais, podemos optimizar ainda mais a estratégia nos seguintes aspectos:

  1. Aumentar a diversidade de métodos de stop loss. Atualmente, apenas o método closeOnEMATouch é fornecido. Podemos introduzir mais indicadores de stop loss auxiliares para um controle de risco mais abrangente e multidimensional.

  2. Otimizar as configurações de parâmetros: métodos mais automatizados podem ser introduzidos para otimizar os parâmetros para tornar as configurações do canal de Keltner mais inteligentes e adaptáveis.

  3. Adicionar o controlo do tamanho das posições, através da introdução de módulos de gestão de capital, podemos ajustar dinamicamente as posições com base em drawdowns ou volatilidade do mercado.

  4. Adicionar condições de filtragem. Mais filtros auxiliares podem ser definidos tanto na entrada quanto na perda de parada para evitar perdas desnecessárias devido a sinais errados.

Resumo

Em resumo, esta é uma tendência típica de médio prazo seguindo estratégia baseada em indicadores de canal. Em comparação com estratégias simples de stop loss móveis, ela fornece uma certa função de ajuste de risco através de fatores de volatilidade e pode efetivamente seguir tendências para obter lucros. No entanto, os riscos de reversão e oscilação ainda precisam ser observados na negociação ao vivo. A otimização de parâmetros, a expansão de métodos de stop loss e a adição de condições de filtragem podem ajudar a melhorar ainda mais a estratégia.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Keltner bounce from border. No repaint. (by Zelibobla)", shorttitle="Keltner border bounce", overlay=true)

price = open

// build Keltner
keltnerLength = input(defval=20, minval=1, title="Keltner EMA Period Length")
keltnerDeviation = input(defval=2, minval=1, maxval=5, title="Keltner band width (in ATRs)")
closeOnEMATouch = input(type=bool, defval=false, title="Close trade on EMA touch? (less drawdown, but less profit and higher commissions impact)")
EMA = sma(price, keltnerLength)
ATR = atr(keltnerLength)
top = EMA + ATR * keltnerDeviation
bottom = EMA - ATR * keltnerDeviation

buyEntry = crossover(price, bottom)
sellEntry = crossunder(price, top)
plot(EMA, color=aqua,title="EMA")
p1 = plot(top, color=silver,title="Keltner top")
p2 = plot(bottom, color=silver,title="Keltner bottom")
fill(p1, p2)

if ( crossover(price, bottom))
    strategy.entry("BUY", strategy.long, stop=bottom,  comment="BUY")

if( crossover(price,EMA) and closeOnEMATouch )
    strategy.close("BUY")
    
if ( crossunder(price, top))
    strategy.entry("SELL", strategy.short, stop=top,  comment="SELL")
if( crossunder(price, EMA) and  closeOnEMATouch )
    strategy.close("SELL")

Mais.