Estratégia de choque dinâmico


Data de criação: 2023-11-16 15:40:25 última modificação: 2023-11-16 15:40:25
cópia: 1 Cliques: 578
1
focar em
1617
Seguidores

Estratégia de choque dinâmico

Visão geral

A estratégia usa o método de ruptura do canal de choque dinâmico para determinar os pontos de entrada e parada de perdas de acordo com a mudança dinâmica dos preços. A estratégia é simples e fácil de entender, adequada para operar em ações de tendência.

Princípio da estratégia

A estratégia primeiro calcula os preços mais altos e mais baixos em 20 dias, obtendo o canal de choque dinâmico. Em seguida, calcula-se a média móvel do índice de 8 dias e a média móvel do índice de 32 dias. Quando o preço do fechamento do mercado quebra o canal de alta e a média de 8 dias é superior à média de 32 dias, faz-se mais; e quando o preço cai abaixo do canal de baixa ou a média de 8 dias é inferior e atravessa a média de 32 dias, faz-se uma posição plana.

A estratégia de lançamento, especificamente, tem como condições:

  1. Preços de fechamento ultrapassam o máximo de 20 dias

  2. 8 dias acima da média de 32 dias

Os termos de saída da estratégia são:

  1. Preços abaixo do canal em ponto de parada

  2. 8 dias abaixo da linha média e 32 dias abaixo da linha média.

A estratégia usa o canal dinâmico para determinar a direção da tendência, enquanto a linha de equilíbrio é usada para determinar se a tendência está subindo, o que pode ser eficaz para controlar o risco.

Vantagens estratégicas

  • O uso de canais dinâmicos para entender a direção da tendência, não é fácil ficar preso em mercados de turbulência
  • A combinação da linha média de 8 dias com a de 32 dias pode ajudar a avaliar a tendência e evitar erros de negociação.
  • As regras da estratégia são simples, claras e fáceis de entender.
  • Métodos de parada de perdas são mais estáveis e confiáveis

Risco estratégico

  • A falha pode ser prejudicial.
  • A configuração incorreta dos parâmetros do canal dinâmico pode fazer com que o canal seja muito largo ou muito pequeno
  • A configuração incorreta dos parâmetros da linha média também pode afetar o julgamento
  • Perda excessiva pode ser causada por um ponto de parada muito próximo.

Pode-se otimizar a estratégia e controlar o risco através da adaptação dos parâmetros de ciclo de passagem, do parâmetro de ciclo de linha média, e da configuração razoável de stop loss.

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

  • Parâmetros de ciclo de canal podem ser otimizados de acordo com diferentes características de ações
  • Testar diferentes combinações de equilíbrio para encontrar o melhor parâmetro
  • O volume de transações pode ser combinado com a confirmação do impacto da ruptura.
  • Pode-se seguir o ponto de parada após a ruptura

Resumir

O conceito geral da estratégia de ruptura de choque dinâmico é claro e fácil de entender, julgar a direção da tendência com o canal dinâmico e, em seguida, usar o efeito de filtragem uniforme para entrar no mercado. A configuração de stop loss pode controlar o risco de forma eficaz.

Código-fonte da estratégia
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Robrecht99

//@version=5
strategy("My Strategy", overlay=true, margin_long=100, margin_short=100)

fast = ta.sma(close, 8)
slow = ta.sma(close, 32)

plot(fast, color=color.red)
plot(slow, color=color.navy)

entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast

atr = ta.atr(14)

//Donchian Channels
days = 20
h1 = ta.highest(high[1], days)
l1 = ta.lowest(low[1], days)
mid = math.avg(h1, l1)
plot(mid, "channel", color=#FF6D00)
u = plot(h1, "Upper", color=#2962FF)
l = plot(l1, "Lower", color=#2962FF)
fill(u, l, color.new(color.blue, 90))

if (close > h1 and entrycondition2)
    strategy.entry("long", strategy.long)
    stoploss = close - atr * 3
    trail = close - atr * 3
    strategy.exit("exit", "long", stop=stoploss, trail_offset=trail)
if (sellcondition1 and sellcondition2)
    strategy.close(id="long")