Estratégia de dupla cruz de ouro da EMA

Autora:ChaoZhang, Data: 2024-01-22 11:04:41
Tags:

img

Resumo

Esta estratégia gera sinais de negociação com base nos cruzes entre a linha EMA rápida e a linha EMA lenta. Quando a linha EMA rápida cruza acima da linha EMA lenta, um sinal de compra é gerado. Quando a linha EMA rápida cruza abaixo da linha EMA lenta, um sinal de venda é gerado. Esta estratégia utiliza a vantagem da média móvel para rastrear efetivamente a tendência do mercado e gerar sinais de negociação durante o início da tendência.

Estratégia lógica

Os indicadores principais desta estratégia são a linha EMA rápida e a linha EMA lenta. A estratégia configura duas linhas EMA com parâmetros diferentes, com 10 para a EMA rápida e 20 para a EMA lenta. A linha EMA de 10 dias responde mais rapidamente às mudanças de preço, enquanto a linha EMA de 20 dias responde mais lentamente. Quando a linha EMA de curto prazo cruza acima da linha EMA de longo prazo, isso significa que a linha média de curto prazo começa a liderar a linha de longo prazo para cima, o que implica que o mercado pode mudar para o estado de alta. Neste ponto, um sinal de compra é gerado. Pelo contrário, quando a EMA curta cai abaixo da EMA longa, isso significa que a EMA curta começa a perder seu poder de liderança à frente da EMA longa, o que implica que o mercado pode mudar para o estado de baixa.

Ao alavancar a lógica de cruzamento entre linhas EMA rápidas e lentas, esta estratégia captura os pontos de mudança da tendência do mercado em tempo hábil e gera sinais de negociação em conformidade. Enquanto isso, a própria EMA tem a capacidade de filtrar sinais falsos, evitando negociações excessivas durante a consolidação do mercado. Isso permite que a estratégia capture pontos de virada do mercado enquanto reduz os negócios errados, levando a uma lucratividade superior.

Análise das vantagens

  • Captura pontos de virada do mercado através de regras cruzadas da EMA para uma elevada rendibilidade
  • Utiliza linhas EMA rápidas e lentas para os seus respectivos méritos
  • A capacidade inerente de filtragem de ruído da EMA reduz os negócios errados
  • Simples de compreender, otimizar e alargar
  • Alta extensibilidade para incorporar outros indicadores auxiliares

Análise de riscos

  • Podem ocorrer sinais falsos frequentes durante os mercados limitados ao intervalo
  • Ajuste inadequado dos parâmetros da EMA pode causar a ausência de grandes curvas
  • O atraso na emissão pode resultar na perda de oportunidades de negociação a curto prazo
  • Incapacidade de se adaptar a turbulências drásticas do mercado

Para enfrentar esses riscos, podem ser introduzidas otimizações como adicionar regras de filtragem, combinar o MACD para evitar falsos sinais, usar a EMA adaptativa para acelerar a resposta, etc. Também são necessários mecanismos adequados de stop loss e take profit.

Orientações de otimização

As potenciais direcções para uma melhor otimização incluem:

  • Adicionar regras de filtragem dos sinais de entrada, por exemplo, combinar o volume de negociação
  • Incorporação de indicadores auxiliares como o MACD para sinais suplementares
  • Introdução da EMA adaptativa para ajustar os parâmetros dinamicamente
  • Aplicação de análises de quadros de tempo múltiplos para alavancar diferentes EMA
  • Otimizar estratégias de stop loss através de trailing stop, stop por cento etc.
  • Aproveitamento de tecnologias de IA para ajuste automático de parâmetros

Resumo

Esta estratégia capta pontos críticos de virada do mercado através da lógica de cruzamento de linhas EMA duplas, tornando-a eficaz para negociação ao vivo. Com filtros adicionais, indicadores de assistência e otimizações de stop loss, a estabilidade da estratégia pode ser ainda melhorada.


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

//@version=4
strategy("Backtest single EMA cross", overlay=true)

qty = input(100000, "Buy quantity")

testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin)
testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? 
   #00FF00 : na
testPeriod() => true


ema1 = input(10, title="Select EMA 1")
ema2 = input(20, title="Select EMA 2")

expo = ema(close, ema1)
ma = ema(close, ema2)

avg_1 = avg(expo, ma)
s2 = cross(expo, ma) ? avg_1 : na
//plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0)

p1 = plot(expo, color=#00FFFF, linewidth=2, transp=0)
p2 = plot(ma, color=color.orange, linewidth=2, transp=0)
fill(p1, p2, color=color.white, transp=80)

longCondition = crossover(expo, ma)

shortCondition = crossunder(expo, ma)


if testPeriod()
    strategy.entry("Long", strategy.long, when=longCondition)
    strategy.entry("Short", strategy.short, when=shortCondition)

plotshape(longCondition, title = "Buy Signal", text ="BUY", textcolor =#FFFFFF , style=shape.labelup, size = size.normal, location=location.belowbar, color = #1B8112, transp = 0)
plotshape(shortCondition, title = "Sell Signal", text ="SELL", textcolor = #FFFFFF, style=shape.labeldown, size = size.normal, location=location.abovebar, color = #FF5733, transp = 0)



Mais.