Stratégie de croisement des moyennes mobiles à double et triple exponentiel

Auteur:ChaoZhang est là., Date: 2024-01-03 16:47:08 Je vous en prie.
Les étiquettes:

img

I. Vue d'ensemble de la stratégie

Cette stratégie est appelée Stratégie de croisement de moyenne mobile exponentielle double et triple. Elle combine les signaux de croisement de moyenne mobile exponentielle double (DEMA) et moyenne mobile exponentielle triple (TEMA) pour déterminer les entrées et les sorties.

II. Logique stratégique

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.

III. Avantages

  1. DEMA et TEMA optimisent l'EMA, améliorant ainsi la précision des transactions.
  2. Le DEMA assure la fluidité des prix, le TEMA filtre les contrefaçons, formant une synergie et améliorant le taux de victoire.
  3. En combinant DEMA rapide et TEMA lent, les signaux croisés sont plus fiables.
  4. La conversion des cycles de capture est effectuée en temps opportun sur la base du principe du croisement.

IV. Risques et solutions

  1. Le croisement fréquent sous volatilité provoque de faux signaux.
  2. Un paramètre défectueux affecte la qualité du signal.
  3. Manque de validation fondamentale: d'autres indicateurs ou modèles peuvent aider.

V. Optimisation

  1. Testez et optimisez les paramètres de DEMA et TEMA pour trouver la meilleure combinaison.
  2. Ajouter d'autres indicateurs techniques pour le filtrage, par exemple KDJ pour la tendance.
  3. Ajouter la prédiction d'apprentissage automatique pour valider les signaux et réduire les faux signaux.
  4. Vérifiez le volume des transactions ou le sentiment pour juger du vrai ou du faux croisement.

Résumé

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)


Plus de