Esta estratégia é chamada de
Esta estratégia utiliza principalmente o cruzamento da média móvel exponencial dupla (DEMA) e da média móvel exponencial tripla (TEMA) para gerar sinais de negociação.
A fórmula para a DEMA é:
DEMA = 2*EMA1 - EMA2
Onde a EMA1 e a EMA2 são médias móveis exponenciais com período N. A DEMA combina a suavidade da EMA e a capacidade de resposta.
A fórmula para TEMA é:
TEMA = 3*(EMA1 - EMA2) + EMA3
onde EMA1, EMA2 e EMA3 são médias móveis exponenciais com período N. TEMA filtra breakouts falsos por triplo suavização.
Quando o DEMA cruza acima do TEMA, um sinal de compra é gerado. Quando o DEMA cruza abaixo do TEMA, um sinal de venda é gerado. De acordo com o princípio de cruzamento, ele pode capturar a conversão do ciclo em tempo hábil.
Esta estratégia gera sinais de negociação do cruzamento DEMA e TEMA, combinando a capacidade de resposta de DEMA e a capacidade de filtragem de TEMA para melhorar a precisão.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DEMA-TEMA Cross Strategy", shorttitle="DEMA-TEMA Cross", overlay=true) // Input options for Double EMA (DEMA) dema_length = input.int(10, title="DEMA Length", minval=1) dema_src = input(close, title="DEMA Source") // Calculate Double EMA (DEMA) dema_e1 = ta.ema(dema_src, dema_length) dema_e2 = ta.ema(dema_e1, dema_length) dema = 2 * dema_e1 - dema_e2 // Input options for Triple EMA (TEMA) tema_length = input.int(8, title="TEMA Length", minval=1) tema_src = input(close, title="TEMA Source") // Calculate Triple EMA (TEMA) tema_ema1 = ta.ema(tema_src, tema_length) tema_ema2 = ta.ema(tema_ema1, tema_length) tema_ema3 = ta.ema(tema_ema2, tema_length) tema = 3 * (tema_ema1 - tema_ema2) + tema_ema3 // Crossover signals for long (small green arrow below candle) crossover_long = ta.crossover(dema, tema) // Crossunder signals for short (small red arrow above candle) crossunder_short = ta.crossunder(dema, tema) plotshape(crossunder_short ? 1 : na, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) plotshape(crossover_long ? -1 : na, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plot(dema, "DEMA", color=color.green) plot(tema, "TEMA", color=color.blue) if (crossover_long) strategy.entry("Long", strategy.long) if (crossunder_short) strategy.entry("Short", strategy.short)