Estratégia de ruptura da dupla EMA

Autora:ChaoZhang, Data: 2023-11-28 15:39:37
Tags:

img

Resumo

A estratégia Dual EMA Crossover Breakout gera sinais de compra e venda baseados no cruzamento de linhas EMA rápidas e lentas, combinados com breakout de volume de negociação, padrões de velas e filtros de breakout de preço para melhorar a confiabilidade.

Princípios

A lógica central da estratégia de ruptura do duplo EMA está na teoria do cruzamento dourado de dois EMAs. A teoria acredita que quando a EMA de curto prazo cruza acima da EMA de longo prazo, ela sinaliza uma tendência de alta, então as posições longas devem ser estabelecidas. Quando a EMA de curto prazo cruza abaixo da EMA de longo prazo, ela sinaliza uma tendência de queda, então as posições curtas devem ser estabelecidas.

Especificamente, a estratégia primeiro calcula as EMAs de 9 períodos e 21 períodos. Quando a 9-EMA cruza acima da 21-EMA, um sinal long é gerado. Quando a 9-EMA cruza abaixo da 21-EMA, um sinal short é gerado. Para filtrar sinais falsos, as seguintes condições são verificadas:

  1. Condição de volume - O volume da vela recente deve exceder 85% do volume médio das 5 velas anteriores.

  2. Condição de ruptura do preço - O preço precisa romper acima da 9-EMA como confirmação de entrada.

  3. Condição do padrão de candelabro - Identificar padrões de reversão de alta ou baixa, evitando batidas durante os mercados laterais.

Para posições longas, as saídas são acionadas quando o preço ultrapassa 9-EMA.

Análise das vantagens

Ao combinar sinais de múltiplos indicadores técnicos, a estratégia Dual EMA Crossover Breakout pode identificar efetivamente tendências e melhorar a taxa de ganho.

  1. O uso de EMAs duplas para determinar a direcção da tendência principal é altamente fiável.

  2. A adição de um filtro de volume evita sinais errados quando o volume é insuficiente.

  3. Adicionar o filtro de padrão de candelabro elimina o ruído dos mercados de gama.

  4. A entrada após a ruptura dos preços da EMA confirma a tendência.

  5. O mecanismo de stop loss controla ativamente os riscos.

Análise de riscos

Ainda há alguns riscos com a estratégia:

  1. A EMA pode gerar sinais falsos durante os mercados agitados, causando perdas.

  2. Os períodos de EMA fixos podem não se adaptar aos mercados em mudança.

  3. Ainda há probabilidades de identificar mal os padrões de candelabro.

  4. A estratégia pode perder alguns movimentos de preços e ter rastreamento de tendência imperfeito.

Orientações de otimização

As principais direcções de otimização são:

  1. Teste mais combinações de EMA para encontrar parâmetros ideais.

  2. Adicionar EMA adaptáveis com base nas condições de mercado em evolução.

  3. Otimizar o dimensionamento das posições para diferentes condições de mercado.

  4. Incorporar mais indicadores como MACD, KDJ para formar estratégias de conjunto.

  5. Introduzir modelos de aprendizagem de máquina para melhorar a robustez.

Conclusão

A estratégia de Breakout Dual EMA Crossover identifica efetivamente tendências usando análise direcional dual EMA e adiciona múltiplos filtros de volume / preço / padrão para melhorar a eficiência enquanto controla riscos.


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

//@version=5
//Author: Andrew Shubitowski
strategy("Buy/Sell Strat", overlay = true)

//Define EMAs & Crossovers (Feature 2)
a = ta.ema(close, 9)
b = ta.ema(close, 21)
crossUp = ta.crossover(a, b)
crossDown = ta.crossunder(a, b)


//Define & calc volume averages (Feature 1)
float volAvg = 0
for i = 1 to 5
    volAvg := volAvg + volume[i]
volAvg := volAvg / 5

//Define candlestick pattern recongition (Feature 4)
bool reversalPatternUp = false
bool reversalPatternDown = false
if (close > close[1] and close[1] > close [2] and close[3] > close[2] and close > close[3])
    reversalPatternUp := true
    
if (close < close[1] and close[1] < close [2] and close[3] < close[2] and close < close[3])
    reversalPatternDown := true

//Execute trade (Feature 3 + 5)
if (crossUp)
    strategy.entry("long", strategy.long, when = ((volume * 0.85) > volAvg and close > a and reversalPatternUp == true))
    
if (crossDown)
    strategy.entry("short", strategy.short, when = ((volume * 0.85) > volAvg and close < a and reversalPatternDown == true))
    
//Exit strategy (New Feature)
close_condition_long = close < a
close_condition_short = close > a
if (close_condition_long)
    strategy.close("long")

if (close_condition_short)
    strategy.close("short")

//plot the EMAs
plot(a, title = "Fast EMA", color = color.green)
plot(b, title = "Slow EMA", color = color.blue)


//Some visual validation parameters
//plotchar(volAvg, "Volume", "", location.top, color.aqua) //*TEST* volume calc check
//plotshape(reversalPatternUp, style = shape.arrowup, color = color.aqua) //*TEST* reversal check
//plotshape(reversalPatternDown, style = shape.arrowup, location = location.belowbar, color = color.red) //*TEST* reversal check

Mais.