Esta é uma estratégia de negociação de média móvel dupla baseada no Detrended Synthetic Price (DSP). DSP é uma função que está em fase com o ciclo dominante de dados de preços reais, obtida subtraindo uma EMA de meio ciclo da EMA de ciclo trimestral.
Calcular a média HL xHL2 do preço de um ciclo de 1/2.
Calcular a EMA de 1/4 de ciclo (xEMA1) e a EMA de 1/2 de ciclo (xEMA2) de xHL2 com base no comprimento.
Obter DSP subtraindo xEMA2 de xEMA1.
Configure os parâmetros da faixa superior e inferior, vá longo quando o DSP cruza acima da faixa superior e vá curto quando cruza abaixo da faixa inferior.
O parâmetro inverso pode alternar entre a direção longa e curta.
Vantagens desta estratégia:
O DSP capta o ciclo de preços dominante, evitando a desorientação de ciclos menores.
O projeto de EMA dupla acompanha efetivamente as alterações do ciclo dominante.
As faixas superiores/inferiores simples evitam o excesso de negociação.
Mudança fácil entre longo/curto utilizando o parâmetro inverso, adaptável a diferentes ambientes de mercado.
Não é necessária a otimização de parâmetros complexos, simples e prático.
Principais riscos:
A configuração inadequada do ciclo DSP pode fazer com que o ciclo dominante seja perdido.
A largura da banda precisa de otimização, caso contrário pode ocorrer uma troca excessiva.
O projeto de ciclo fixo tem uma fraca adaptabilidade às violentas mudanças do mercado.
A negociação no DSP sozinho deixa a estratégia vulnerável a flagelos.
A ausência de stop loss pode levar a perdas significativas.
Melhorias:
Otimizar os parâmetros para encontrar a melhor combinação de ciclos.
Adicionar bandas dinâmicas com base na volatilidade.
Incorporar filtros de tendência e volatilidade para reduzir os falsos sinais.
Adicionar mecanismos de stop loss ou trailing stop para controlar o risco.
Teste em vários instrumentos para universalidade.
Introduzir aprendizado de máquina para otimização do ciclo DSP adaptativo.
Em geral, esta é uma estratégia de negociação de média móvel dupla muito simples e prática. É construída sobre bases sólidas de análise de ciclo, com DSP rastreando efetivamente o ciclo dominante. Com refinamentos na otimização de parâmetros, stop losses, condições de filtro e muito mais, pode se tornar uma estratégia de negociação quantitativa confiável.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-13 02:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 20/03/2017 // Detrended Synthetic Price is a function that is in phase with the // dominant cycle of real price data. This DSP is computed by subtracting // a half-cycle exponential moving average (EMA) from the quarter cycle // exponential moving average. // See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70. // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="D_DSP (Detrended Synthetic Price)", shorttitle="D_DSP") Length = input(14, minval=1) SellBand = input(25) BuyBand = input(-25) reverse = input(false, title="Trade reverse") hline(0, color=blue, linestyle=line) hline(SellBand, color=red, linestyle=line) hline(BuyBand, color=green, linestyle=line) xHL2 = hl2 xEMA1 = ema(xHL2, Length) xEMA2 = ema(xHL2, 2 * Length) xEMA1_EMA2 = xEMA1 - xEMA2 pos = iff(xEMA1_EMA2 > SellBand, 1, iff(xEMA1_EMA2 < BuyBand, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xEMA1_EMA2, color=blue, title="D_DSP")