Tendência de combo da EMA de Hull Zero Lag Seguindo a estratégia

Autora:ChaoZhang, Data: 2023-09-19 16:52:39
Tags:

Resumo

Esta estratégia usa uma combinação de EMA de atraso zero e EMA de casco para implementar o seguimento da tendência.

Estratégia lógica

Primeiro, calcule a EMA de atraso zero:EMA1 = ema(close, Period) EMA2 = ema(EMA1, Period) Difference = EMA1 - EMA2 ZeroLagEMA = EMA1 + Difference

Onde ZeroLagEMA é a EMA de atraso zero.

Calcule a curva suavizada Hull EMA:

```
n2ma = 2*wma(ZeroLagEMA, round(S_period/2))
nma = wma(ZeroLagEMA, S_period) 
n1 = wma(n2ma - nma, sqn)
```

Finalmente, determinar a direcção da tendência com base na relação de magnitude entre a actual Hull EMA (n1) e a Hull EMA (n2) dos períodos anteriores e formular a estratégia de negociação.

Análise das vantagens

A maior vantagem desta estratégia é a capacidade de capturar com precisão as direções da tendência.

  1. A EMA de atraso zero elimina o problema de atraso da EMA regular e pode capturar mudanças de preço mais rapidamente.

  2. A duplicação da EMA do casco suaviza os preços e filtra algum ruído para capturar as tendências com mais clareza.

Em comparação com a utilização da EMA ou da Hull EMA isoladamente, a combinação aproveita os pontos fortes de ambos para uma estratégia mais precisa e fiável.

Análise de riscos

Os principais riscos desta estratégia são:

  1. As definições inadequadas dos parâmetros Periodo e S_period podem fazer com que a estratégia seja insensível ao mercado e perca oportunidades de negociação.

  2. Em mercados variáveis, a EMA e a Hull EMA podem produzir mais falsos sinais de cruzamento que exigem cautela.

  3. Não pode gerir eficazmente as diferenças de preços do dia para o dia.

Por conseguinte, é necessário um teste cuidadoso dos parâmetros, os sinais dos indicadores devem ser interpretados com prudência e os riscos de diferença de preços devem ser evitados.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Combinações de parâmetros de ensaio em diferentes mercados e prazos para melhor adaptabilidade.

  2. Adicionar outros indicadores para filtrar falsos sinais de ruptura, tais como KDJ, MACD etc., para melhorar a estabilidade.

  3. Adicionar stop loss para controlar a perda de uma única transação.

  4. Otimizar o tempo de entrada para melhorar ainda mais a taxa de ganhos, por exemplo, evitando negociações contrárias à tendência.

Resumo

Esta estratégia usa o combo Zero Lag Hull EMA para capturar com precisão e sensibilidade as tendências do mercado para tendências de baixo risco após a negociação. Melhorias adicionais na estabilidade podem ser alcançadas através da otimização de parâmetros, filtragem de sinal, stop loss etc. No geral, a estratégia é simples, prática e adequada para pares e índices de moedas em tendência.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Zero Lag EMA combined with Hull moving average for smoothing purposes.
// author: email: sbginter@gmail.com

strategy("Ujanja", overlay=true)



Period = input(title="Period",defval=30, minval=1)
S_period=input(title="Smoother Period",defval=176)
EMA1= ema(close,Period)
EMA2= ema(EMA1,Period)
Difference= EMA1 - EMA2
ZeroLagEMA= EMA1 + Difference

n2ma=2*wma(ZeroLagEMA,round(S_period/2))
nma=wma(ZeroLagEMA,S_period)
diff=n2ma-nma
sqn=round(sqrt(S_period))


n2ma1=2*wma(ZeroLagEMA[1],round(S_period/2))
nma1=wma(ZeroLagEMA[1],S_period)
diff1=n2ma1-nma1
sqn1=round(sqrt(S_period))


n1=wma(diff,sqn)
n2=wma(diff1,sqn)

c=n1>n2?green:red
ma=plot(n1,color=c)


longCondition = n1>n2
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = longCondition != true
if (shortCondition)
    strategy.entry("Short", strategy.short)

Mais.