Stratégie transversale de l'EMA

Auteur:ChaoZhang est là., Date: 28 septembre 2023 à 11 h 22 min 39 s
Les étiquettes:

Résumé

Cette stratégie construit un système de négociation basé sur le principe de croisement EMA pour négocier et capturer automatiquement les tendances du marché.

La logique de la stratégie

Cette stratégie est principalement basée sur le principe de croisement de deux moyennes mobiles, les EMA. L'une est l'EMA lente de 20 périodes, et l'autre est l'EMA rapide de 9 périodes. Lorsque l'EMA rapide (EMA9) traverse au-dessus de l'EMA lente (EMA20), un signal d'achat est généré. Lorsque l'EMA9 traverse en dessous de l'EMA20, un signal de vente est généré.

Plus précisément, la stratégie calcule les valeurs de deux EMA et compare leur relation de magnitude pour déterminer si un croisement se produit. Lorsque l'EMA9 est supérieur à l'EMA20, cela indique qu'une croix dorée se produit et que la variable booléenne bullish est définie sur true, ce qui signifie qu'un signal d'achat est généré. Lorsque l'EMA9 est inférieur à l'EMA20, cela indique qu'une croix morte se produit et que la variable booléenne bearish est définie sur true, ce qui signifie qu'un signal de vente est généré.

Dans le même temps, la stratégie utilise également la fonction croisée pour détecter les croisements entre EMA9 et EMA20. Lorsqu'un croisement ascendant se produit, c'est-à-dire que EMA9 franchit EMA20, bullish est également réglé sur true. Lorsqu'un croisement descendant se produit, c'est-à-dire que EMA9 franchit EMA20, bearish est également réglé sur true.

Cette double validation aide à éviter les signaux manquants. Enfin, la stratégie entre dans une logique longue ou courte basée sur les valeurs haussières et baissières pour compléter le système de trading automatisé.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L'utilisation du principe de croisement EMA permet de détecter efficacement les points d'inversion de la tendance du marché et de détecter les tendances.

  2. La combinaison EMA rapide et lente aplatit les tendances et détecte les renversements.

  3. La croix d'or classique pour acheter et la croix morte pour vendre est simple et intuitive.

  4. La logique de détection croisée ajoutée évite les signaux manquants.

  5. Système entièrement automatisé, pas besoin d'intervention manuelle, bons résultats de backtest.

  6. Les périodes EMA personnalisables permettent d'optimiser la stratégie.

Analyse des risques

Cette stratégie comporte également des risques:

  1. La détection des tendances croisées de l'EMA peut être tardive et manquer les points d'inversion.

  2. L'effet de la scie peut déclencher de faux signaux sur les corrections à court terme.

  3. Les périodes EMA fixes ne peuvent pas s'adapter aux changements du marché.

  4. Incapable d'évaluer la force de la tendance, peut se faire fouetter dans les marchés variés.

  5. Aucun stop loss signifie que les pertes pourraient s'étendre.

  6. Surmonté des systèmes automatisés, performances douteuses.

Pour faire face aux risques, des optimisations peuvent être apportées:

  1. Ajoutez d'autres indicateurs pour confirmer la tendance afin d'éviter les problèmes.

  2. Mettre en œuvre un stop loss pour limiter la baisse.

  3. Introduire une optimisation des paramètres pour les périodes EMA dynamiques.

  4. Ajoutez la détermination de la force de tendance pour éviter les échanges sur le marché.

  5. Utiliser des modèles d'ensemble pour améliorer la robustesse.

Directions d'optimisation

Cette stratégie peut être optimisée sous plusieurs aspects:

  1. Périodes de courbe EMA dynamique: Les périodes fixes de 20 et 9 ans peuvent être adaptées pour mieux suivre l'évolution des tendances du marché.

  2. Validation à plusieurs délais: Actuellement, un seul délai, peut vérifier les signaux sur plusieurs délais pour éviter de faux signaux.

  3. Combiner d'autres indicateurs: Incorporer des indicateurs tels que MACD, KD pour filtrer les signaux croisés et améliorer la précision.

  4. Arrêtez la perte: Actuellement pas de stop loss, peut ajouter un stop loss fixe ou à la traîne pour limiter la baisse.

  5. Optimisation des paramètres: Optimiser les périodes EMA pour trouver les meilleures combinaisons.

  6. Ensemble de modèles: Construire un ensemble de sous-stratégies avec différents paramètres de robustesse.

  7. Apprentissage automatique: Utiliser des réseaux neuronaux pour former et reconnaître les croisements pour un système intelligent.

Conclusion

Cette stratégie construit un système automatisé basé sur le principe de croisement classique de l'EMA. La logique globale est simple et claire. Mais des problèmes de stabilité existent. En introduisant des paramètres dynamiques, des combinaisons multi-indicateurs, des stop-loss, des modèles ensemble, etc., des améliorations significatives peuvent être apportées aux performances et à la robustesse en direct.


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

//For TRI'ers with a stinky trading view account.
//Some reccomended moving averages including the institutional moving averages.
//Much love to Brian for changing our lives.
//@version=4




strategy (title="Crossing Ema 20:9 by Sedkur", overlay=false)

src = close

ema20 = ema(src, 20)
ema9 = ema(src, 9)

plot( ema20, color=color.orange, style=plot.style_line, title="EMA20", linewidth=2)
plot( ema9, color=color.blue, style=plot.style_line, title="EMA9", linewidth=2)

//bullish = (ema9>ema20)?true:false
bullish = cross(ema9, ema20) and (ema9>ema20)?true:false
bearish = cross(ema9, ema20) and (ema20>ema9)?true:false
plotshape(bullish, style=shape.triangleup , location=location.belowbar, color=color.lime,size=size.tiny)
plotshape(bearish, style=shape.triangledown , location=location.abovebar, color=color.red,size=size.tiny)
alertcondition(bullish, title="Bullish", message="AL verdi")

if (bullish)
    strategy.entry("buy", strategy.long, comment="al", when = year>2016)
if (bearish)
    strategy.entry("sell", strategy.short, comment="sat", when = year>2016)
plot(strategy.equity)

Plus de