DEMA Estratégia de média móvel exponencial dupla

Autora:ChaoZhang, Data: 2023-09-26 20:28:11
Tags:

Resumo

A estratégia de média móvel exponencial dupla DEMA é uma estratégia de negociação de curto prazo baseada na DEMA (Double Exponential Moving Average).

Estratégia lógica

A estratégia baseia-se principalmente em cruzes douradas e cruzes de morte entre a linha rápida DEMA e linha lenta DEMA para determinar os sinais de compra e venda.

Especificamente, a linha rápida é calculada como:

demaFast = 2 * ema(close, fastPeriod) - ema(ema(close, fastPeriod), fastPeriod)

E a linha lenta é:

demaSlow = 2 * ema(close, slowPeriod) - ema(ema(close, slowPeriod), slowPeriod)

Onde fastPeriod e slowPeriod representam os períodos da linha rápida e lenta, respectivamente.

Quando a linha rápida cruza acima da linha lenta, um sinal de compra é gerado.

buy = crossover(demaSlow, demaFast)
sell = crossunder(demaSlow, demaFast) 

A estratégia determina a direcção do comércio com base em cruzamento de linhas DEMA.

Análise das vantagens

Em comparação com as médias móveis tradicionais, as linhas DEMA são mais sensíveis e podem reagir às mudanças de preço mais rapidamente.

Além disso, as linhas DEMA incorporam a suavidade das médias móveis, o que ajuda a filtrar algum ruído do mercado e evitar sinais falsos.

Além disso, a combinação de linhas rápidas e lentas evita falsos cruzamentos até certo ponto.

Em resumo, a estratégia de média móvel exponencial dupla DEMA tem as vantagens de resposta rápida, filtragem de ruído e sinais estáveis e confiáveis.

Análise de riscos

Apesar de mais estáveis do que as EMAs, as linhas DEMA ainda podem sofrer de falsos cruzamentos, gerando sinais incorretos. Isso pode ser resolvido ajustando os parâmetros de período da linha rápida e lenta para garantir sensibilidade e estabilidade suficientes.

Além disso, como uma estratégia de curto prazo, é sensível aos custos de negociação. Frequência de negociação alta ou pequeno tamanho de negociação podem corroer os lucros. Parâmetros comerciais razoáveis devem ser definidos para controlar os custos.

Por último, nenhuma estratégia de indicadores técnicos pode evitar completamente o stop loss.

Orientações de otimização

Ainda há espaço para otimização:

  1. Teste diferentes combinações de períodos para encontrar os parâmetros ideais.

  2. Incorporar outros indicadores como o RSI para confirmar sinais e evitar falsos sinais.

  3. Otimizar mecanismos de stop loss, como trailing stop loss para bloquear lucros.

  4. Otimizar a gestão de capital, como o dimensionamento de posições com base no tamanho da conta, ou dimensionamento ajustado à volatilidade.

Conclusão

A estratégia de média móvel exponencial dupla DEMA é, em geral, uma estratégia de negociação de curto prazo estável. Tem capacidade de resposta rápida e suavização. Em comparação com SMAs, pode capturar mais oportunidades de curto prazo. Com ajuste de parâmetros e mecanismos adequados, a rentabilidade e a estabilidade da estratégia podem ser melhoradas. É adequado para investidores que desejam negociação de curto prazo de alta frequência.


/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

strategy(title = "DEMA Strategy", shorttitle = "DEMA Strategy",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)
//@Moneros 2017
//Based on The DEMA is a fast-acting moving average that is more responsive to market changes than a traditional moving average
// !!!!  IN ORDER TO AVOID REPAITING ISSUES !!!!
// !!!!  DO NOT VIEW IN LOWER RESOLUTIONS THAN res/2 PARAMETER  !!!!
// for example res = 120 view >= 60m  res = 60 view >= 30m
// the length of the DEMA sampling shouldn't be longer than a candle 



// Best profits tested on BTCUSD
//res = 105 slowPeriod = 2 fastPeriod = 32
//res = 125 slowPeriod = 3 fastPeriod = 21
//res = 120 slowPeriod = 2 fastPeriod = 32 
//res = 130 slowPeriod = 1 fastPeriod = 24 
//res = 40 slowPeriod = 4 fastPeriod = 93 
//res = 60 slowPeriod = 1 fastPeriod = 67 

fastPeriod    = input(defval = 32, title = "DEMA FAST Period", minval = 2)
slowPeriod = input(defval = 2, title = "DEMA SLOW Period", minval = 1)
res = input(title="Resolution  - not lower than chart", defval="120")


demaFast =  request.security(syminfo.tickerid, res, 2 * ta.ema(close, fastPeriod) - ta.ema(ta.ema(close, fastPeriod), fastPeriod)  )
demaSlow  = request.security(syminfo.tickerid,res, 2 * ta.ema(close, slowPeriod) - ta.ema(ta.ema(close, slowPeriod), slowPeriod)  )



plot(demaFast,color=color.red)
plot(demaSlow,color=color.lime)

buy = ta.crossover(demaSlow, demaFast)
sell = ta.crossunder(demaSlow, demaFast)


// value [1] for avoid repaiting bottom bars
bgcolor( buy[1] ? color.lime : na, transp=0)
bgcolor( sell[1] ? color.red : na, transp=0)


strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell ) 




Mais.