Cette stratégie est appelée
Cette stratégie utilise principalement le croisement de la moyenne mobile exponentielle double (DEMA) et de la moyenne mobile exponentielle triple (TEMA) pour générer des signaux de trading.
La formule pour le DEMA est:
DEMA = 2*EMA1 - EMA2
où EMA1 et EMA2 sont des moyennes mobiles exponentielles avec période N. DEMA combine la douceur de l'EMA et la réactivité.
La formule de TEMA est:
Le taux de change de l'indicateur de change est le taux de change de l'indicateur de change.
où EMA1, EMA2 et EMA3 sont des moyennes mobiles exponentielles avec la période N. TEMA filtre les fausses ruptures par triple lissage.
Lorsque DEMA traverse au-dessus de TEMA, un signal d'achat est généré. Lorsque DEMA traverse au-dessous de TEMA, un signal de vente est généré. Selon le principe de croisement, il peut capturer la conversion du cycle en temps opportun.
Cette stratégie génère des signaux de trading à partir du croisement DEMA et TEMA, combinant la réactivité de DEMA et la capacité de filtrage de TEMA pour améliorer la précision.
/*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)