Estratégia de cruzamento da EMA dinâmica e do MACD

Autora:ChaoZhang, Data: 2024-02-06 14:29:23
Tags:

img

Resumo

Esta estratégia determina entradas e saídas com base nas situações de cruzamento da linha EMA rápida (3), linha EMA lenta (11) e linha EMA lenta (18), combinadas com cruzamento da linha zero do MACD. É uma estratégia dinâmica que utiliza a combinação de indicadores EMA e MACD duplos para decisões de negociação.

Estratégia lógica

A estratégia baseia-se principalmente em dois indicadores de análise técnica:

  1. A EMA Crossover utiliza o crossover da EMA rápida (3), da EMA lenta (11) e da EMA mais lenta (18) para determinar a tendência e como sinais de entrada e saída.

  2. O indicador MACD e seu cruzamento de linha zero. O MACD é composto por DIFF e DEA. O DIFF é construído por EMA rápida (3) menos EMA lenta (11).

De acordo com a combinação de cruzamento da EMA e cruzamento da linha zero do MACD, existem 3 oportunidades de entrada e 2 oportunidades de saída:

  1. A primeira oportunidade longa ocorre quando o MACD está acima da linha zero e tem um cruzamento ascendente.
  2. A segunda oportunidade longa ocorre quando a EMA rápida (3) cruza acima da EMA lenta (11).
  3. A terceira oportunidade longa com posição completa ocorre quando a EMA rápida (3) cruza acima da EMA mais lenta (18).
  4. O primeiro sinal de saída ocorre quando a EMA rápida (3) cruza abaixo da EMA lenta (11).
  5. O segundo sinal de saída ocorre quando o MACD está abaixo da linha zero e tem um cruzamento descendente.

Em resumo, esta estratégia faz pleno uso das vantagens do duplo sistema de cruzamento EMA e do indicador MACD. Ao ajustar dinamicamente os parâmetros das médias móveis e do MACD, pode melhorar a rentabilidade da estratégia.

Vantagens da estratégia

  1. Utiliza os pontos fortes do crossover EMA e do indicador MACD, melhorando a precisão através da confirmação de dois indicadores.

  2. Existem 3 oportunidades de entrada de longo prazo e 2 oportunidades de saída, aumentando a frequência de negociação e o potencial de lucro.

  3. Grande espaço para otimização de parâmetros dinâmicos. Os comprimentos de EMA rápida, EMA lenta, linha zero EMA e MACD podem ser todos otimizados.

  4. A lógica clara facilita a depuração e otimização.

Riscos da Estratégia

  1. Tanto o crossover EMA como o indicador MACD apresentam alguns sinais falsos, o que pode levar a perdas desnecessárias.

  2. Alta frequência de negociação com pequeno tamanho de stop loss em cada negociação, de modo que as perdas podem acumular-se.

  3. Dificuldade na otimização de parâmetros.

  4. O impacto dos custos comerciais deve ser plenamente considerado.

Para atenuar os riscos:

  1. Configure o stop loss adequado para limitar as perdas em operações individuais.

  2. Ajustar os parâmetros adequadamente para evitar a sobreajuste.

  3. Considere o impacto dos custos de negociação, como a redução da frequência de negociação.

Orientações para a otimização

  1. Alternativas de teste como as bandas de Bollinger, KDJ, etc.

  2. Optimização dos parâmetros de cruzamento da EMA: alteração da extensão da EMA rápida e lenta.

  3. Optimização dos parâmetros MACD: alteração dos comprimentos EMA de cálculo do DIFF e do DEA.

  4. Adicionar estratégias de stop loss: número de paradas de negociação, paradas de tempo, paradas de trailing, etc.

  5. Ajustar a frequência de entrada considerando os custos de negociação.

Resumo

Esta estratégia combina o sistema de crossover EMA duplo e o indicador MACD para construir uma estratégia de parâmetros dinâmicos com alta frequência de negociação e forte lucratividade. Além disso, a lógica clara torna fácil de entender e otimizar.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD+EMA crossovers Strategy custom",initial_capital=10000,max_bars_back=150,commission_type=strategy.commission.percent , commission_value=0.1, shorttitle="MACD+EMAcross",pyramiding = 10,default_qty_type=strategy.percent_of_equity,default_qty_value=33,overlay=false)

short = ema(close,3)
long = ema(close, 11)
long2 = ema(close, 18)
//plot(short, color = red, linewidth = 4)
//plot(long, color = blue, linewidth = 4)
//plot(long2, color = green, linewidth = 4)

isCross1 = crossover(short, long)
isCross2 = crossover(short, long2)
isCrossSell = crossunder(short, long)
//isCross3 = crossover(long, long2)

//plotshape(isCross1 and not isCross2, color=lime, style=shape.arrowup, text="1st in",size = size.tiny, location = location.belowbar)
//plotshape(isCross2 , color=lime, style=shape.arrowup, text="2nd in",size = size.tiny, location = location.belowbar)

//plotshape(isCross3 , color=lime, style=shape.arrowdown, text="All in",size = size.normal, location = location.abovebar)

//plotshape(isCrossSell , color=red, style=shape.arrowdown, text="SELL",size = size.small, location = location.abovebar)

fastLength = input(3)
slowlength = input(11)
MACDLength = input(27)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength) //signal
delta = MACD - aMACD // histograma

strategy.entry("MacdLE 1st in", strategy.long, comment="MacdLE 1st in",when=crossover(delta, 0))

strategy.entry("2nd in", strategy.long, comment="2nd in",when=isCross1)

strategy.entry("all in", strategy.long, comment="all in",when=isCross2)

strategy.close("2nd in",when=isCrossSell) 
strategy.close("all in",when=isCrossSell)
//strategy.close("2nd in",when=crossunder(delta, 0)) 
//strategy.close("all in",when=crossunder(delta, 0))
strategy.close("MacdLE 1st in",when=crossunder(delta, 0)) 
    
histColour = (delta > 0) ? green : (delta < 0) ? red :  #4169E1
    
plot(MACD,color=red,linewidth=2)
plot(aMACD,color=blue,linewidth=2)
plot(delta,style=histogram, color=histColour, linewidth=10)
plot(0,color=white)






Mais.