Estratégia de ruptura de oscilação dinâmica

Autora:ChaoZhang, Data: 2023-11-16 15:40:25
Tags:

img

Resumo

Esta estratégia adota a ruptura do canal de oscilação dinâmica para determinar pontos de entrada e stop loss com base no movimento do preço.

Estratégia lógica

A estratégia primeiro calcula a maior alta e a menor baixa nos últimos 20 dias para obter um canal de oscilação dinâmica. Em seguida, calcula as médias móveis exponenciais de 8 dias e 32 dias. Quando o preço de fechamento atravessa a faixa superior do canal e a EMA de 8 dias está acima da EMA de 32 dias, ele vai longo. Quando o preço atravessa a faixa inferior ou a EMA de 8 dias cruza abaixo da EMA de 32 dias, ele sai. O stop loss é definido abaixo da faixa média do canal.

Especificamente, as condições de entrada são as seguintes:

  1. O preço de fechamento rompe a faixa dinâmica superior formada pela maior alta dos últimos 20 dias.

  2. A EMA de 8 dias está acima da EMA de 32 dias.

As condições de saída são:

  1. Stop loss desencadeado quando o preço cai abaixo da faixa média.

  2. A EMA de 8 dias cruza abaixo da EMA de 32 dias.

A estratégia identifica a direcção da tendência utilizando o canal dinâmico e o estado actual da tendência ascendente utilizando o cruzamento da EMA.

Vantagens

  • A ruptura dinâmica do canal identifica a direção da tendência de forma eficaz, evitando batidas.
  • Os filtros crossover da EMA de 8 dias e de 32 dias são bem negociados.
  • Regras simples e claras, fáceis de entender.
  • Mecanismo de stop loss razoável.

Riscos

  • Uma fuga fracassada pode causar perdas.
  • O ajuste incorreto dos parâmetros da faixa de canais pode fazer com que seja muito larga ou muito estreita.
  • Períodos de EMA inadequados podem afetar o desempenho.
  • O stop loss demasiado apertado pode causar paradas excessivas.

Os riscos podem ser geridos através da otimização do período de canal, dos períodos de EMA e do posicionamento de stop loss.

Áreas de melhoria

  • Otimizar o período de canalização para diferentes unidades populacionais.
  • Teste diferentes combinações de EMA para encontrar períodos ideais.
  • Incorpore volume para confirmar fuga.
  • Perda de trilha após a entrada.

Resumo

A estratégia de breakout de oscilação dinâmica tem uma lógica clara para identificar tendência e entrar com base no breakout do canal e cruzamento da EMA. O stop loss ajuda a controlar o risco. A regulação de parâmetros como período do canal e períodos da EMA pode melhorar o fator de lucro. Esta estratégia funciona bem para ações com padrões de continuação, especialmente quebrando máximos anteriores.


/*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")


Mais.