
Cette stratégie de trading quantitatif est un système de trading à courte échéance basé sur la gestion dynamique du risque basée sur les signaux croisés de deux EMA (moyennes mobiles indicielles) et ATR (moyennes réelles d’amplitude de fluctuation). Le noyau de la stratégie utilise la relation croisée des EMA à 9 cycles rapides et des EMA à 15 cycles lents pour capturer les changements de tendance à court terme du marché, et en combinaison avec le mécanisme de confirmation de prix pour filtrer les faux signaux, tout en définissant dynamiquement la position de stop-loss via l’indicateur ATR, afin de fixer le rapport de retour du risque (par défaut: 1:15).
Le principe central de la stratégie est de déterminer la direction des tendances à court terme en fonction de la relation entre les moyennes mobiles rapides et les moyennes mobiles lentes:
Les conditions d’admission sont les suivantes:
Conditions d’entrée à vide:
La stratégie implémente la logique de négociation complète dans le script Pine, comprenant la génération de signaux, le calcul des arrêts dynamiques, les paramètres de retour sur risque et la visualisation des graphiques. Le système capte les signaux de croisement EMA via les fonctions ta.crossover et ta.crossunder intégrées, et utilise ta.atr pour calculer la distance d’arrêt dynamique, assurant l’adaptabilité des contrôles de risque dans différents environnements de volatilité.
Les signaux sont clairs et précis: le croisement des deux EMA fournit un signal de changement de tendance visuellement intuitif, associé à un mécanisme de confirmation des prix, réduisant efficacement l’interférence des faux signaux.
Gestion dynamique du risque: l’utilisation de l’indicateur ATR pour ajuster dynamiquement la distance de stop-loss, permettant à la stratégie de s’adapter aux caractéristiques de volatilité des différents marchés, de réduire les stop-loss dans un environnement à faible volatilité et d’élargir les stop-loss dans un environnement à forte volatilité, plus conforme à la réalité du marché.
Ratio de risque/rendement fixe: Résolution de risque/rendement de 1:1,5 intégrée dans la stratégie (adaptable) qui assure aux traders une anticipation claire des risques et des rendements pour chaque transaction, contribuant à une rentabilité stable à long terme.
Fonction de rappel automatique: Grâce à la fonction de rappel de TradingView, les traders peuvent recevoir des signaux d’entrée en temps réel, sans avoir besoin de rester en veille, ce qui améliore l’efficacité des opérations.
Ajustabilité des paramètres: la stratégie permet d’ajuster le cycle EMA, le taux de rendement du risque et le multiplicateur de stop-loss, permettant aux traders de personnaliser les paramètres en fonction de leurs préférences en matière de risque et des caractéristiques de la variété de transactions.
Le code de la stratégie est simple et efficace: toute la logique de la stratégie est claire, la structure du code est compacte, facile à comprendre et à modifier, adaptée aux traders pour une optimisation et une extension supplémentaires.
Risque de choc du marché: dans les marchés de choc horizontal, les EMA se croisent fréquemment et génèrent de nombreux faux signaux, ce qui peut entraîner des arrêts continus. Méthode d’atténuation: suspendre l’utilisation de la stratégie lorsque le marché est visiblement dans une zone de choc, ou ajouter des conditions de filtrage telles que l’indicateur de force de la tendance.
Effets des points de glissement et des coûts de transaction: les transactions fréquentes entraînent des coûts de transaction plus élevés en tant que stratégie de courte ligne et peuvent entraîner des problèmes de points de glissement dans les marchés moins liquides. Méthode d’atténuation: réduire la fréquence des transactions de manière appropriée et choisir des variétés de transactions plus liquides.
Risque d’urgence: les marchés peuvent être surchargés ou très volatiles en cas de nouvelles importantes, ce qui peut entraîner l’invalidation du stop-loss. Méthode d’atténuation: définir une limite de perte maximale, suspendre la négociation avant la publication de nouvelles importantes.
Optimisation des paramètres de suradaptation: un ajustement excessif des paramètres pour les adapter aux données historiques peut entraîner une mauvaise performance de la stratégie à l’avenir. Méthode d’atténuation: utiliser des paramètres fixes pour un retour suffisamment long et laisser les données hors échantillon pour vérification.
Risque de panne technique: les systèmes de trading automatisés qui dépendent de la plate-forme et de la connexion réseau peuvent faire face à des pannes techniques. Méthode d’atténuation: mettre en place des programmes de trading de secours, vérifier régulièrement la stabilité du système.
Augmentation des filtres de tendance: en combinant des indicateurs de tendance à plus longue période, tels que le MACD ou l’ADX, et en ouvrant des positions uniquement dans la direction de la tendance principale, on réduit efficacement les faux signaux dans les marchés en crise. Une telle optimisation peut améliorer les chances de victoire, car les transactions de tendance qui se conforment à des périodes plus longues ont généralement plus d’avantages.
Intégration de la résistance au support: l’ajout de la résistance au support identifiée automatiquement dans la stratégie, l’augmentation du poids du signal à l’approche de la résistance au support ou à l’approche de la résistance au support peut améliorer la qualité du point d’entrée.
Optimisation des stratégies de stop-loss: l’introduction de mécanismes de stop-loss dynamiques, tels que le suivi des stops ou des objectifs de stop-loss multiples basés sur l’ATR, permet d’obtenir plus de bénéfices dans des conditions de tendance.
Augmentation du filtrage des périodes de négociation: caractéristiques de périodes actives pour différents marchés, ajout de conditions de filtrage du temps, évitement des périodes de marché moins volatiles ou irrégulières, amélioration de la qualité du signal.
Introduction de la confirmation de volume: l’utilisation du volume de transactions comme indicateur de confirmation auxiliaire, qui nécessite une augmentation du volume de transactions lors de l’apparition d’un signal, peut améliorer la fiabilité de la modification de la tendance.
Optimisation de la gestion des risques: ajustement automatique de la taille de la position en fonction de la volatilité historique, réduction de la position dans un environnement à forte volatilité et augmentation appropriée de la position dans un environnement à faible volatilité, pour obtenir une courbe des intérêts plus lisse.
La stratégie de quantification de la capture de tendance de l’EMA dynamique double avec le contrôle du vent ATR est un système de négociation de courte distance qui combine le signal croisé des indicateurs techniques et la gestion du risque dynamique. La stratégie capture les changements de tendance à court terme par la relation croisée des EMAs de 9 cycles et 15 cycles et utilise le paramètre de stop loss de l’indicateur ATR pour réaliser un contrôle quantitatif du risque.
/*backtest
start: 2024-03-26 00:00:00
end: 2024-09-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("9 & 15 EMA Scalping Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input Variables
fastEmaLength = input(9, title="Fast EMA Length")
slowEmaLength = input(15, title="Slow EMA Length")
riskRewardRatio = input.float(1.5, title="Risk-Reward Ratio") // 1:1.5 RR
slMultiplier = input.float(1.0, title="SL Multiplier") // Adjust SL distance
// EMA Calculation
fastEMA = ta.ema(close, fastEmaLength)
slowEMA = ta.ema(close, slowEmaLength)
// Conditions for Buy Entry
buyCondition = ta.crossover(fastEMA, slowEMA) and close > fastEMA and close > slowEMA
// Conditions for Sell Entry
sellCondition = ta.crossunder(fastEMA, slowEMA) and close < fastEMA and close < slowEMA
// Stop-Loss and Take-Profit Calculation
atrValue = ta.atr(14) // ATR for dynamic SL
longSL = close - (atrValue * slMultiplier)
longTP = close + ((close - longSL) * riskRewardRatio)
shortSL = close + (atrValue * slMultiplier)
shortTP = close - ((shortSL - close) * riskRewardRatio)
// Executing Trades
if buyCondition
strategy.entry("BUY", strategy.long)
strategy.exit("TP/SL Long", from_entry="BUY", stop=longSL, limit=longTP)
if sellCondition
strategy.entry("SELL", strategy.short)
strategy.exit("TP/SL Short", from_entry="SELL", stop=shortSL, limit=shortTP)
// Plot EMAs
plot(fastEMA, title="9 EMA", color=color.blue, linewidth=2)
plot(slowEMA, title="15 EMA", color=color.red, linewidth=2)
// Mark Buy/Sell Signals
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="BUY Signal")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="SELL Signal")
// Alerts
alertcondition(buyCondition, title="BUY Alert", message="BUY Signal - 9 EMA crossed above 15 EMA!")
alertcondition(sellCondition, title="SELL Alert", message="SELL Signal - 9 EMA crossed below 15 EMA!")