
La stratégie repose principalement sur les signaux croisés des moyennes mobiles indicielles comme conditions d’entrée principales, tout en utilisant les VWAP et les moyennes mobiles simples comme filtres pour réduire les faux signaux et confirmer la direction des tendances plus larges du marché. En outre, la stratégie conçoit des croisements EMA rapides comme mécanisme d’exit agile, permettant au système de se stabiliser rapidement lors d’un renversement du marché, tout en évitant une sortie précoce lors d’une forte tendance.
Le principe central de la stratégie est la reconnaissance et la confirmation de tendances basées sur des cadres temporels à plusieurs niveaux. Plus précisément, la stratégie fonctionne comme suit:
Identifier les tendances: Utilisez un croisement des EMA de 17 cycles et de 31 cycles pour détecter les variations de la dynamique à moyen terme. Lorsque l’EMA à court terme est porté sur l’EMA à long terme, cela indique une tendance à la hausse possible; lorsque l’EMA à court terme est porté sur l’EMA à long terme, cela indique une tendance à la baisse.
Confirmation de la tendance: Confirmation de la tendance par le VWAP et le SMA de 69 cycles comme conditions de filtrage supplémentaires. Cela nécessite que les prix soient situés au-dessus de ces indicateurs (pour les signaux à plusieurs têtes) ou au-dessous (pour les signaux à vide) afin de réduire les signaux erronés dans les marchés à plat ou à tendance faible.
Logistique d’entrée:
Mécanisme de sortieLa stratégie utilise des croisements plus sensibles des EMA à court terme ((8 cycles et 9 cycles) comme signaux de sortie, permettant au système de réagir rapidement aux retournements de marché à court terme.
Le mécanisme de retour: la stratégie permet un renversement direct de la position. Si une position en cours est détenue mais déclenche une condition d’entrée à zéro, le système va d’abord liquider la position en cours, puis ouvrir une position à zéro (et vice versa). Ce mécanisme augmente la flexibilité de la stratégie dans un marché en évolution rapide.
Implémentation du code: stratégie utilisant les variables de Boole pour suivre l’état actuel de la positionlong_activeetshort_activeEn outre, les stratégies permettent aux traders de surveiller l’état du marché en affichant visuellement divers indicateurs et intersections.
Système de filtration à plusieurs couches: La construction d’un système de confirmation à plusieurs niveaux combinant les filtres EMA croisés, VWAP et SMA réduit considérablement la production de faux signaux et améliore la stabilité et la fiabilité de la stratégie.
Un mécanisme de retour flexible: la stratégie permet de passer directement du plus-value au moins-value (ou du moins-value au plus-value) en fonction des conditions du marché, sans avoir besoin d’attendre un signal de sortie indépendant pour ensuite entrer dans le marché. Cette conception permet d’ajuster plus rapidement la position en cas de revers de tendance et de réduire les pertes potentielles.
Logistique d’entrée et de sortie séparée: Utilisation de paires d’EMAs de différentes périodes comme signaux d’entrée et de sortie, optimisant le moment de la transaction. Les EMA de périodes plus longues (de 17 et 31) sont utilisées pour capturer les changements de tendance à moyen terme comme signaux d’entrée, tandis que les EMA de périodes plus courtes (de 8 et 9) sont utilisées pour les sorties sensibles, offrant une réponse plus rapide au contrôle du risque tout en conservant la capacité de suivre la tendance.
Confirmation de la tendance globaleLa stratégie permet de confirmer la tendance sur plusieurs dimensions en combinant le prix, le VWAP et la position relative du SMA, ce qui contribue à réduire les erreurs de négociation pendant les périodes de forte ou de faible tendance du marché.
Aide visuelle: La stratégie fournit une richesse d’indicateurs visuels, y compris une variété d’EMA, SMA, VWAP et des marqueurs de points de jonction clés, permettant aux traders de comprendre et de surveiller de manière intuitive l’état du marché et les signaux stratégiques.
Ajustabilité des paramètres: Les paramètres de la stratégie (par exemple, les cycles des EMA, SMA) peuvent être personnalisés à l’aide de boîtes de saisie, permettant aux traders d’optimiser les ajustements en fonction des différents environnements de marché et types de transactions.
Risque de retardLa stratégie utilise plusieurs moyennes mobiles et conditions de filtrage, ce qui peut entraîner un retard relatif du signal d’entrée, en particulier dans les marchés qui évoluent rapidement. Cela peut entraîner une perte de la phase initiale de la tendance, ce qui réduit les gains potentiels. La solution consiste à ajuster les cycles des EMA et SMA en fonction des caractéristiques de volatilité de certains marchés, en utilisant des cycles plus courts pour les marchés rapides.
Restrictions de conditions multiples: Les conditions d’entrée multiples de la stratégie (cross-EMA plus les prix par rapport à la position des VWAP et SMA) peuvent réduire la fréquence des transactions, ce qui entraîne la perte de certaines opportunités de négociation potentiellement avantageuses. Il peut être envisagé d’assouplir certaines conditions de manière appropriée dans un environnement de marché particulier, ou de développer des règles alternatives pour augmenter les opportunités de négociation.
Le manque de mécanismes clairs de prévention: la stratégie repose uniquement sur la croisée des EMA comme signal de sortie, sans fixation d’un niveau de stop ou d’arrêt explicite. Dans des conditions de marché extrêmes, cela peut entraîner des pertes plus importantes. Il est recommandé de mettre en œuvre des mesures de gestion des risques supplémentaires, telles que des stop dynamiques ou des stop à pourcentage fixe basées sur l’ATR.
Paramètre Sensibilité: La performance de la stratégie dépend fortement des cycles EMA et SMA choisis. Les paramètres par défaut [17,31,8,9,69] peuvent ne pas s’appliquer à tous les actifs ou périodes. La solution consiste à optimiser les paramètres d’ajustement en fonction de la variété de transactions et des conditions de marché spécifiques, ou à mettre en œuvre un mécanisme d’ajustement des paramètres adaptatifs.
Risques liés à une évolution de la nature du marché: les stratégies peuvent mal fonctionner lorsque le marché passe de la tendance à la secousse ou de la secousse à la tendance. La solution consiste à ajouter des mécanismes de détection de l’environnement du marché, tels que des filtres de volatilité ou des indicateurs de force de tendance, pour ajuster dynamiquement les paramètres de la stratégie ou les règles de négociation dans différents environnements de marché.
Effets sur le coût des transactions: Les revers fréquents peuvent augmenter les coûts de transaction, en particulier dans les marchés à faible volatilité. Il est recommandé de prendre en compte les coûts de transaction dans la stratégie et de limiter les revers trop fréquents dans certaines conditions.
Adaptation des paramètres: la mise en œuvre d’un mécanisme d’ajustement adaptatif des cycles EMA et SMA, en ajustant dynamiquement les paramètres en fonction de la volatilité du marché ou de l’intensité de la tendance. Par exemple, l’utilisation de cycles plus courts dans les marchés à forte volatilité et de cycles plus longs dans les marchés à faible volatilité. Cela permet à la stratégie de mieux s’adapter aux différents environnements de marché, de réduire le retard et d’améliorer la vitesse de réponse.
Augmentation des mécanismes d’arrêt et d’arrêtIntroduction dans la stratégie d’un stop-loss dynamique ou d’un stop-loss à taux fixe basé sur l’ATR (la portée de la fluctuation réelle) et d’un paramètre de stop-loss correspondant. Cela peut aider à contrôler le risque maximal d’une transaction unique, à prévenir les pertes excessives dans des conditions de marché extrêmes et à bloquer les bénéfices dans la tendance.
Ajout d’un filtre pour le volume des transactions: intégrer l’analyse des volumes dans la stratégie et exécuter des transactions uniquement lorsque le volume de transactions est suffisant ou présente un modèle spécifique. Cela contribue à améliorer la qualité du signal et à réduire les effets des points de glissement et des fausses ruptures causés par une faible liquidité.
Analyse intégrée de l’environnement du marché: ajouter des mécanismes d’identification de l’environnement du marché, tels que des indicateurs de volatilité, des indicateurs de force de tendance ou des analyses périodiques. Appliquer différentes règles de négociation ou paramètres de configuration dans différents environnements de marché (trend, choc, haute volatilité, basse volatilité), améliorer l’adaptabilité de la stratégie.
Optimisation de la logique inverse: amélioration du mécanisme de retournement direct actuel, avec possibilité d’introduire des conditions de confirmation supplémentaires ou de retarder l’exécution du retournement pour réduire les retournements trop fréquents dans les marchés horizontaux. Par exemple, il est possible de demander l’intensité du signal de retournement au-delà d’un certain seuil, ou d’observer des caractéristiques de marché supplémentaires avant le retournement.
Gestion partielle des positions: la mise en place d’une gestion de position plus sophistiquée, telle que l’entrée et la sortie en lots ou la modification de la taille de la position en fonction de l’intensité du signal. Cela permet de réduire le risque de trading en position complète tout en conservant une marge suffisante pour les tendances fortes.
Filtre par tempsAjout d’une fonction de filtrage temporel permettant d’éviter de négocier à des périodes de temps particulièrement basses ou élevées en termes de volatilité. Ceci est particulièrement utile pour les marchés où les crypto-monnaies sont négociées 24 heures sur 24, ce qui permet d’éviter de négocier à des périodes de faible liquidité ou de volatilité anormale.
Analyse de plusieurs périodesL’intégration d’une analyse multi-châtres permet d’utiliser des informations de tendance sur des périodes plus longues pour filtrer ou amplifier les signaux de la période actuelle. Cela aide à aligner les transactions sur les tendances du marché plus large et à réduire le risque de trading à contre-courant.
La stratégie de trading quantifiée de tendance croisée de filtrage de ligne moyenne multiple est un système de suivi de tendance bien conçu qui fournit un cadre de négociation capable à la fois de capturer les tendances et de gérer les risques en combinant plusieurs moyennes mobiles et VWAP. Le principal avantage de la stratégie réside dans son système de filtrage à plusieurs niveaux et son mécanisme de retournement flexible, qui lui permet de s’adapter efficacement à différents environnements de marché.
Cependant, la stratégie présente également des risques de retard, de sensibilité aux paramètres et d’absence de mécanisme de freinage explicite. La robustesse et la performance de la stratégie peuvent être considérablement améliorées par la mise en œuvre des mesures d’optimisation recommandées, telles que l’ajustement des paramètres adaptatifs, l’augmentation du mécanisme de freinage, l’intégration de l’analyse de l’environnement du marché et l’amélioration de la gestion des positions.
Dans l’ensemble, il s’agit d’une stratégie de trading avec une base solide, particulièrement adaptée au suivi des tendances à moyen et long terme. Cette stratégie offre un bon point de départ pour les traders qui cherchent à capturer des tendances claires tout en souhaitant réduire l’impact des faux signaux.
/*backtest
start: 2025-02-20 00:00:00
end: 2025-04-07 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("EMA+SMA+VWAP Trading Strategy ", overlay=true)
// Inputs
emaShortPeriod = input.int(17, title="EMA Entry Short")
emaLongPeriod = input.int(31, title="EMA Entry Long")
smaPeriod = input.int(69, title="SMA Longest")
emaShortPeriod2 = input.int(8, title="EMA Exit Small")
emaShortPeriod3 = input.int(9, title="EMA Exit Long")
// Calculate Indicators
emaShort = ta.ema(close, emaShortPeriod)
emaShort2 = ta.ema(close, emaShortPeriod2)
emaShort3 = ta.ema(close, emaShortPeriod3)
emaLong = ta.ema(close, emaLongPeriod)
vwap = ta.vwap(hlc3)
smalong = ta.sma(close, smaPeriod)
// Define Conditions
long_condition = ta.crossover(emaShort, emaLong) and close > vwap and close > smalong
short_condition = ta.crossunder(emaShort, emaLong) and close < vwap and close < smalong
long_exit_condition = ta.crossunder(emaShort2, emaShort3)
short_exit_condition = ta.crossover(emaShort2, emaShort3)
// Position Tracking
var bool long_active = false
var bool short_active = false
// Execute Trades with Reversal Logic
// Long Entry: Open long and close short if active
if long_condition
if short_active
strategy.close("Short") // Close short (buy to cover)
short_active := false
if not long_active
strategy.entry("Long", strategy.long) // Open long
long_active := true
// Short Entry: Open short and close long if active
if short_condition
if long_active
strategy.close("Long") // Close long (sell)
long_active := false
if not short_active
strategy.entry("Short", strategy.short) // Open short
short_active := true
// Normal Exits (no reversal)
if long_active and long_exit_condition and not short_condition
strategy.close("Long") // Sell to close long
long_active := false
if short_active and short_exit_condition and not long_condition
strategy.close("Short") // Buy to close short
short_active := false
// Plot Indicators
plot(emaShort, color=color.rgb(48, 240, 23), title="EMA Short")
plot(emaLong, color=color.rgb(39, 209, 252), title="EMA Long")
plot(vwap, color=color.rgb(8, 128, 175), title="VWAP")
plot(smalong, color=color.rgb(194, 12, 51), linewidth=2, title="SMA Long")
plot(ta.cross(emaShort, emaLong) ? emaShort : na, style=plot.style_cross, color=color.rgb(126, 248, 45), linewidth=3, title="EMA Cross")
plot(emaShort2, color=color.rgb(222, 23, 240), title="EMA Short 2")
plot(emaShort3, color=color.rgb(234, 148, 255), title="EMA Short 3")
plot(ta.cross(emaShort2, emaShort3) ? emaShort : na, style=plot.style_cross, color=color.rgb(250, 170, 230), linewidth=3, title="EMA Cross")