Tendência da EMA na sequência da estratégia de negociação

Autora:ChaoZhang, Data: 2023-09-19 19:38:53
Tags:

Resumo

Esta estratégia é uma estratégia típica de tendência de seguimento da EMA. Ela usa a cruz de ouro de uma EMA rápida e uma EMA lenta para determinar tendências de alta e a cruz da morte para determinar tendências de baixa, para negociações longas e curtas, respectivamente.

Estratégia lógica

A lógica central é:

  1. Calcular a EMA rápida, por exemplo, a EMA de 12 períodos
  2. Calcular a EMA lenta, por exemplo, a EMA de 26 períodos
  3. Quando a EMA rápida cruzar acima da EMA lenta, determinar tendência de alta para entrada longa
  4. Quando a EMA rápida cruzar abaixo da EMA lenta, determinar tendência de baixa para entrada curta
  5. Posição de saída atual quando a EMA rápida cruzar novamente abaixo da EMA lenta

O uso de EMAs de diferentes velocidades pode detectar efetivamente mudanças de tendência. A EMA rápida reage rapidamente às mudanças de preço para a detecção precoce de tendência, enquanto a EMA lenta filtra sinais falsos para garantir a confirmação da tendência. Juntos, eles formam um sistema de tendência confiável.

As cruzadas douradas sinalizam o início de uma tendência de alta para os longs, enquanto as cruzadas de morte sinalizam o início de uma tendência de queda para os shorts.

Vantagens

  • As EMA identificam eficazmente as tendências a médio e longo prazo
  • EMAs rápidas e lentas combinam-se para um sistema de tendência confiável
  • Lógica simples fácil de implementar
  • Parâmetros EMA configuráveis adequados a diferentes instrumentos
  • Risco de controlo de stop loss de cruzamento rápido da EMA

Riscos e atenuações

  • Incapacidade de prever pontos de inversão da tendência antecipadamente, algumas perdas
  • A má selecção dos parâmetros da EMA pode deixar de observar os pontos de mudança de tendência
  • Os parâmetros da EMA precisam de ser ajustados para adaptar-se às alterações das condições de mercado

Atenuantes:

  1. Usar paradas de intervalo para limitar perdas
  2. Adicionar outros indicadores para detectar potenciais inversões de tendência
  3. Otimizar os parâmetros para uma melhor identificação das tendências

Oportunidades de melhoria

A estratégia pode ser reforçada em domínios como:

  1. Aprendizagem de máquina para ajustar automaticamente parâmetros EMA para melhor adaptabilidade

  2. Valorização das posições baseada na volatilidade para ajustá-las à volatilidade do mercado

  3. Os osciladores como o RSI para ajustar os pontos de entrada

  4. Adição de paradas de trailing, paradas de captação de lucros para melhor gestão de riscos

  5. Análise de volume para avaliar as entradas/saídas de fundos para verificação de tendências

  6. Combinações de carteiras com estratégias não correlacionadas para reduzir os aproveitamentos e aumentar a estabilidade do rendimento

Conclusão

A estratégia de seguimento de tendências da EMA é uma maneira simples e prática de rastrear tendências de médio a longo prazo. Ela usa cruzes rápidas e lentas da EMA para o tempo de entrada. Fácil de implementar, também pode ser estendida em várias dimensões para maior adaptabilidade.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
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/
// © HomoDeus666

//@version=5

strategy("EMA12/26 with date backtest range (BTCpair)", overlay=true,initial_capital = 1,commission_type = strategy.commission.percent,currency = currency.BTC)

//input date and time
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2021"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2022"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
     
//check date and time option
inTradeWindow =  true
/// plot and indicator
fastEMA = ta.ema(close,12), slowEMA=ta.ema(close,26)
plot(fastEMA,color=color.green,linewidth = 2)
plot(slowEMA,color=color.red,linewidth=2)

//entry when condition
longCondition = ta.crossover(fastEMA,slowEMA)
if (longCondition) and inTradeWindow
    strategy.entry("buy", strategy.long)

if ta.crossunder(ta.ema(close, 12), ta.ema(close, 26)) and inTradeWindow
    strategy.close("buy")
    
// trades and cancel all unfilled pending orders
if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment="Date Range Exit")

Mais.