Cette stratégie est une stratégie de trading de suivi de tendance et de rupture basée sur des moyennes mobiles exponentielles (EMA) sur plusieurs délais. Elle combine 5 moyennes mobiles exponentielles avec différentes périodes et possède de fortes capacités d'identification de tendance pour capturer les mouvements de prix à moyen et long terme le long de la tendance.
Les expositions à risque sont les expositions à risque qui ne sont pas couvertes par le règlement (UE) no 575/2013.
Règle de classement EMA: EMA12 > EMA15 > EMA18 > EMA21 > EMA24 comme signal d'achat; EMA12 < EMA15 < EMA18 < EMA21 < EMA24 comme signal de vente.
Les signaux de négociation ne sont déclenchés qu'après la date de début définie par l'utilisateur.
Entrée longue lorsque le signal d'achat est déclenché; entrée courte lorsque le signal de vente est déclenché.
La stratégie forme un canal de tendance en utilisant plusieurs EMA pour déterminer la direction de la tendance en fonction de la relation entre les bandes de canaux.
Des capacités solides en matière d'identification des tendances en utilisant plusieurs EMA comme canal de tendance.
La mise en place de périodes EMA rapprochées le rend sensible aux signaux de rupture de tendance et capable de détecter rapidement les tendances à moyen et à long terme.
La date de début personnalisable offre une flexibilité d'utilisation.
Gestion de capital personnalisable pour le contrôle par taille de commande.
Des règles de négociation claires et simples, adaptées à la suivi des tendances.
Les EMA ont par nature un effet de retard, ils peuvent manquer les fortes fluctuations de prix à court terme.
Les opérations de rupture sont sujettes à être piégées et nécessitent un stop loss raisonnable.
Des pertes potentielles énormes si la tendance est inversée.
Nécessité de choisir des produits adaptés, non applicables aux stocks extrêmement volatils.
Gestion des risques et optimisations correspondantes:
Ajustez les paramètres de l'EMA, optimisez la combinaison de périodes.
Ajouter d'autres indicateurs pour la validation de la direction de la tendance.
Réglez la perte d'arrêt appropriée au contrôle par perte d'ordre.
Ajoutez d'autres indicateurs comme MACD, KDJ pour améliorer la performance de la stratégie.
Ajouter la condition de volume de négociation pour éviter une fausse rupture.
Optimiser les périodes EMA pour trouver la meilleure combinaison.
Arrêter de négocier dans une plage de temps spécifique pour éviter les périodes de turbulence du marché.
Utiliser des méthodes d'apprentissage automatique pour optimiser dynamiquement les périodes et les paramètres de l'EMA.
En général, il s'agit d'une stratégie de suivi de tendance typique. Il capitalise sur les avantages des EMA en formant un canal de négociation en utilisant plusieurs EMA et en générant des signaux de négociation lorsque le prix sort du canal. Les avantages sont des règles de négociation simples et claires qui facilitent le suivi des tendances à moyen et long terme. Les inconvénients sont la sensibilité au bruit de marché à court terme et l'effet de retard inhérent.
/*backtest start: 2024-01-26 00:00:00 end: 2024-02-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Scalping Strategy - EMA", shorttitle="EMA Scalp", overlay=true) // User input for start date startDateInput = input(title="Start Date", defval=timestamp("2024-02-01")) // Calculate EMAs ema_12 = ta.ema(close, 12) ema_15 = ta.ema(close, 15) ema_18 = ta.ema(close, 18) ema_21 = ta.ema(close, 21) ema_24 = ta.ema(close, 24) // Plot EMAs plot(ema_12, color=color.red, title="EMA 12") plot(ema_15, color=color.orange, title="EMA 15") plot(ema_18, color=color.yellow, title="EMA 18") plot(ema_21, color=color.green, title="EMA 21") plot(ema_24, color=color.blue, title="EMA 24") // Define a start date for the strategy based on user input isAfterStartDate = true // Visualize the isAfterStartDate condition bgcolor(isAfterStartDate ? color.new(color.green, 90) : na, title="After Start Date") // Entry conditions buy_condition = (ema_12 > ema_15) and (ema_15 > ema_18) and (ema_18 > ema_21) and (ema_21 > ema_24) and isAfterStartDate sell_condition = (ema_12 < ema_15) and (ema_15 < ema_18) and (ema_18 < ema_21) and (ema_21 < ema_24) and isAfterStartDate // Execute trades using conditional blocks if (buy_condition) strategy.entry("Buy", strategy.long) if (sell_condition) strategy.entry("Sell", strategy.short)