Estratégia de acompanhamento de cruzamento dourado e cruzamento da morte de EMA duplo.
Visão Geral
Esta estratégia calcula a EMA rápida e a EMA lenta e compara a relação de magnitude entre elas, gerando sinais de negociação de cruz de ouro e cruz da morte com base em duas EMAs. Trata-se de uma estratégia de acompanhamento de tendência. Quando a EMA rápida cruza acima da EMA lenta, gera um sinal de compra; quando a EMA rápida cruza abaixo da EMA lenta, gera um sinal de venda, implementando uma estratégia simples de seguir tendência.
Princípio da Estratégia
A lógica central da estratégia inclui principalmente as seguintes partes:
-
Cálculo da EMA rápida e EMA lenta: utilizando a função
ta.ema(), calcula-se a EMA rápida com comprimentofastInpute a EMA lenta com comprimentoslowInput. -
Configuração do período de backtest: através do parâmetro
useDateFilter, define-se se a data de backtest deve ser filtrada.backtestStartDateebacktestEndDatedefinem as datas de início e fim do backtest. -
Geração de sinais de negociação: usando as funções
ta.crossover()eta.crossunder(), compara-se a relação entre a EMA rápida e a EMA lenta. Quando a EMA rápida cruza acima da EMA lenta, gera-se um sinal de compra; quando a EMA rápida cruza abaixo da EMA lenta, gera-se um sinal de venda. -
Tratamento de ordens fora do período de backtest: fora do período de backtest, as ordens não executadas são canceladas e todas as posições são fechadas.
-
Plotagem das médias móveis: as médias móveis da EMA rápida e da EMA lenta são desenhadas no gráfico.
Vantagens da Estratégia
Esta é uma estratégia de acompanhamento de tendência muito simples, com as seguintes vantagens:
-
Lógica de estratégia simples, fácil de entender e implementar.
-
As EMAs suavizam os dados de preço, reduzindo negociações com ruído.
-
Parâmetros do período da EMA personalizáveis, adaptando-se a diferentes ambientes de mercado.
-
Período de backtest flexível, permitindo testes em intervalos de tempo específicos.
-
Possibilidade de otimizar condições de entrada e saída, combinando com outros indicadores.
Análise de Risco
A estratégia também apresenta alguns riscos a serem considerados:
-
A estratégia de duas EMAs é relativamente grosseira, incapaz de se adaptar de forma flexível às mudanças do mercado.
-
Existe o risco de negociações frequentes e repetitivas.
-
A configuração inadequada dos parâmetros da EMA pode levar a sinais de negociação incorretos.
-
Um período de backtest inadequado pode resultar em sobreajuste (overfitting).
-
Há o risco inevitável de drawdowns e perdas.
O risco pode ser controlado através de otimização de parâmetros, filtragem adequada de volatilidade e uso de stop loss.
Direções de Otimização
A estratégia pode ser otimizada nos seguintes aspectos:
-
Otimizar os parâmetros do período da EMA, selecionando a melhor combinação de parâmetros.
-
Adicionar outros indicadores como filtro para evitar negociações desnecessárias.
-
Adicionar estratégia de stop loss para controlar perdas por negociação.
-
Combinar filtros de tendência, volatilidade, etc., para reduzir a frequência de negociações.
-
Testar em diferentes contratos de ativos para encontrar os melhores objetos de aplicação da estratégia.
-
Utilizar custos como slippage e comissões para tornar o backtest mais realista.
Resumo
No geral, esta estratégia é uma estratégia muito simples de cruz de ouro e cruz da morte com duas EMAs. Sua lógica é clara e fácil de entender, gerando sinais de negociação através da comparação entre EMA rápida e EMA lenta. A vantagem é a simplicidade de implementação, mas também apresenta alguns problemas, como negociações frequentes e facilidade de sobreotimização. O próximo passo pode focar na otimização de parâmetros e controle de risco para tornar a estratégia mais robusta e prática.
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MollyETF_EMA_Crossover", overlay = true, initial_capital = 100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
- 1

