Tendência de seguir uma estratégia baseada na dupla EMA

Autora:ChaoZhang, Data: 2024-01-24 14:52:59
Tags:

img

Resumo

Esta estratégia é construída com base no indicador EMA duplo com o propósito de reconhecer as tendências de preços e seguir as tendências. Primeiro calcula a EMA de médio a longo prazo e a EMA de curto prazo, e depois implementa uma posição longa quando há uma cruz de ouro e uma posição curta quando há uma cruz de morte entre as duas EMA. Enquanto isso, a filtragem mais alta / mais baixa também é introduzida para eliminar ainda mais os falsos sinais.

Princípios de estratégia

Os principais indicadores desta estratégia são as duas EMAs, uma a curto prazo e outra a longo prazo.

EMA1: Período de EMA de médio a longo prazo, com incumprimento de 34 dias
EMA2: período de EMA de curto prazo, por defeito até 13 dias

Ema_sr: EMA de médio a longo prazo baseada no preço de fechamento
EMA: EMA mais elevada da EMA, período é EMA2
EMA: EMA mais baixa da EMA, período é EMA2

Ema_ysl: EMA utilizado para gerar sinais de negociação, calculado com base na relação entre ema_sr e highest/lowest_ema

cruzes detectam cruzes de ouro e morte entre ema_sl e ema_ysl, e, assim, alcançar a tendência seguindo.

A combinação de EMA dupla pode julgar as tendências de preços com mais precisão. A EMA de médio a longo prazo filtra o ruído de curto prazo, enquanto a EMA de curto prazo pode rastrear atempadamente as voltas das tendências de médio prazo. A introdução da EMA mais alta / mais baixa pode eliminar ainda mais sinais falsos e reduzir as negociações desnecessárias.

Análise das vantagens

A maior vantagem desta estratégia reside em sua identificação precisa da tendência. A própria EMA dupla é superior à EMA única, SMA e outros indicadores para capturar mudanças de tendência. E a aplicação de highest/lowest_ema pode efetivamente filtrar sinais falsos causados por pullbacks de curto prazo, o que é crítico para estratégias de tendência.

Além disso, os parâmetros desta estratégia são simples e fáceis de ajustar e otimizar. Os usuários só precisam se concentrar nos dois parâmetros EMA, o que é muito intuitivo. Isso também torna a estratégia fácil de entender e usar.

Análise de riscos

O principal risco desta estratégia é que não consegue identificar inversões de tendência. Quando o preço forma ajustes de longo prazo ou grandes voltas, o atraso da EMA dupla pode levar a perder os melhores pontos de entrada.

Além disso, a própria EMA não tem capacidade para responder a emergências.

Para atenuar os riscos acima, recomendamos reduzir adequadamente a duração da EMA de médio a longo prazo ou introduzir indicadores como o MACD para lidar com emergências.

Orientações de otimização

Esta estratégia pode ser ainda melhorada, nomeadamente nos seguintes domínios principais:

  1. Testar mais combinações de parâmetros EMA para encontrar os parâmetros ideais;

  2. Adicionar julgamento de volume para evitar a emissão de sinais errados quando oscila o preço;

  3. Combinar linhas de tendência, canais e outras ferramentas para avaliar com mais precisão os pontos de virada da tendência.

Através da otimização de parâmetros, adição de condições de filtro e outros meios, é promissor para melhorar ainda mais a estabilidade e rentabilidade da estratégia.

Resumo

Em geral, esta estratégia tem uma capacidade relativamente forte de identificar tendências, filtrando o ruído com a EMA dupla e suavizando efetivamente a curva de preços.

No entanto, a própria estratégia tem algum atraso na identificação oportuna de inversões de tendência. Este é o principal risco que enfrenta e também a direção chave para futuras otimizações. Esperamos aumentar ainda mais a robustez da estratégia através do ajuste de parâmetros, filtragem de sinal e outros meios, para que possa alcançar retornos constantes em mais ambientes de mercado.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Modified from kivancfr3762's A2MK script

strategy("EMA STRATEGY", overlay=true)

ema2=input(13, "EMA2 Length")
ema1=input(34, "EMA1 Length")

ema_sr = ema((max(close[1], high) + min(close[1], low)) / 2, ema1)

highest_ema = ema(highest(ema_sr, 3), ema2)
lowest_ema = ema(lowest(ema_sr, 3), ema2)
k1 = ema_sr > highest_ema
k2 = ema_sr < lowest_ema

ema_ysl = iff(k1, lowest_ema, highest_ema)


longCondition = crossover(ema_ysl, ema_sr)
if (longCondition)
    strategy.entry("Short", strategy.short)

shortCondition = crossunder(ema_ysl, ema_sr)
if (shortCondition)
    strategy.entry("Long", strategy.long)
    

Mais.