Croisement de moyenne mobile exponentielle combiné à une stratégie de prise de bénéfices par volume et par lots et de stop-loss suiveur

EMA SMA ATR TP SL 技术分析 趋势跟踪 量价关系 风险管理 分批止盈 追踪止损
Date de création: 2025-08-04 09:48:31 Dernière modification: 2025-08-04 09:48:31
Copier: 2 Nombre de clics: 210
2
Suivre
319
Abonnés

Croisement de moyenne mobile exponentielle combiné à une stratégie de prise de bénéfices par volume et par lots et de stop-loss suiveur Croisement de moyenne mobile exponentielle combiné à une stratégie de prise de bénéfices par volume et par lots et de stop-loss suiveur

Aperçu de la stratégie

La stratégie est basée sur des signaux croisés d’indicateurs mobiles rapides et lents (EMA) comme conditions d’entrée, et sur la confirmation de la synthèse de la circulation pour améliorer la qualité du signal. Le mécanisme de sortie utilise une conception de triple garantie, comprenant deux arrêts fixes basés sur des multiples d’ATR et un mécanisme de suivi des pertes, pour obtenir des bénéfices et protéger les fonds en divisant les positions en trois parties.

Principe de stratégie

La logique centrale de cette stratégie s’articule autour de plusieurs composantes clés:

  1. Signal d’entrée généré:

    • Utilisez des moyennes mobiles indicielles de deux périodes différentes (par défaut 21 et 55) pour identifier la direction de la tendance et les points de basculement potentiels
    • Un signal polyphasé est généré lorsque l’EMA rapide ((21 cycles) traverse vers le haut l’EMA lente ((55 cycles)
    • Un signal de vide est généré lorsque l’EMA rapide traverse l’EMA lente vers le bas
  2. Confirmation de la livraison:

    • Calculer le volume des transactions sur 20 cycles avec la moyenne mobile simple (SMA) comme référence
    • Un signal de transaction est confirmé uniquement si le volume de transactions en cours dépasse un certain nombre de fois le volume de transactions moyen (par défaut 1,2 fois)
    • Cette condition de filtrage garantit que les transactions ne sont effectuées que lorsque l’activité du marché augmente, renforçant ainsi la fiabilité du signal.
  3. Gestion des risques et mécanismes de sortie:

    • Utilisez l’amplitude réelle moyenne (ATR) pour ajuster dynamiquement les niveaux de stop-loss et de stop-loss afin de permettre à la stratégie de s’adapter aux différentes volatilités du marché
    • Diviser les positions en trois parties (<33%, 33%, 34%) et mettre en œuvre des stratégies de stop-loss et de suivi de stop-loss
    • La première cible est fixée à 1,5 fois l’ATR et s’applique à 33% des positions
    • Le second but est fixé à 2,5 fois l’ATR et s’applique à 33% des positions
    • Les positions restantes (34%) utilisent un mécanisme de suivi des arrêts avec un arrêt à 1,5 fois la distance ATR et des conditions d’activation à 1,5 fois la distance ATR.

Cette stratégie de sortie à plusieurs niveaux assure à la fois le blocage d’une partie des gains en cas de faibles gains et permet de maximiser le potentiel de gains des positions restantes dans un contexte de forte tendance. En même temps, le mécanisme de suivi des arrêts de perte offre une protection dynamique pour la dernière partie des positions, empêchant efficacement le retour des gains déjà réalisés.

Avantages stratégiques

  1. Une conception simple et efficace:

    • Les stratégies sont basées sur des indicateurs techniques largement utilisés (EMA), faciles à comprendre et à mettre en œuvre.
    • Il n’y a pas de calculs compliqués ou de logiques incompréhensibles et convient à tous les types de traders, y compris les débutants.
  2. Le prix de la quantité et la qualité du signal:

    • Filtre efficacement les signaux de basse fréquence qui pourraient être de fausses percées en demandant la confirmation de la transaction
    • Les seuils de transaction sont conçus pour être calculés de manière dynamique (en fonction du volume de transaction moyen récent), ce qui permet à la stratégie de s’adapter à différents environnements de marché et à différentes périodes.
  3. Une gestion complète des risques:

    • La conception de l’arrêt par lots équilibre le besoin de localiser les bénéfices et de suivre les tendances
    • Les paramètres d’arrêt et d’arrêt dynamiques basés sur l’ATR permettent à la stratégie de maintenir un rapport risque/bénéfice cohérent dans différents environnements de volatilité
    • Le suivi des stop-loss protège efficacement les bénéfices réalisés, en particulier lors d’un renversement de tendance
  4. Très adaptable:

    • Les paramètres de stratégie peuvent être ajustés en fonction des variétés de transactions et des périodes de temps
    • Le code mentionne que la stratégie a bien fonctionné sur plusieurs variétés de transactions, montrant sa robustesse et son universalité.
  5. Intégration de la gestion des fonds:

    • La stratégie utilise par défaut le pourcentage d’intérêt du compte (<10%) pour la gestion des positions, évitant ainsi les risques excessifs que peut présenter un nombre fixe

Risque stratégique

  1. Le marché de l’électricité est en baisse:

    • En tant que stratégie de suivi des tendances, il est possible de générer de multiples faux signaux dans un marché oscillant horizontalement, entraînant de petites pertes consécutives.
    • Solution: ajouter des filtres supplémentaires pour les environnements de marché, tels que l’ADX ou l’indicateur de volatilité, pour négocier uniquement dans des environnements clairement tendanciels
  2. Paramètre Sensibilité:

    • Le choix de paramètres tels que le cycle EMA, le multiplicateur de volume de transaction et le multiplicateur ATR a un impact significatif sur la performance de la stratégie
    • Différents environnements de marché peuvent nécessiter des paramètres différents, et une optimisation excessive peut entraîner un risque de suradaptation
    • La solution: effectuer une analyse de retournement étendue pour trouver une combinaison de paramètres qui se comportent de manière stable dans une variété de conditions de marché
  3. Le risque d’un glissement rapide:

    • Dans des conditions de marché extrêmes, les prix peuvent rapidement dépasser le niveau de stop loss, ce qui entraîne une exécution réelle moins bonne que prévue.
    • Solution: envisagez de fixer des limites de point de glissement maximal ou de négocier sur des délais plus longs pour réduire ces risques.
  4. Proportion de freinage fixe:

    • La stratégie actuelle consiste à bloquer les positions dans des proportions fixes (<33%/33%/34%) et peut ne pas être adaptée à toutes les conditions du marché.
    • Solution: envisager d’ajuster le ratio de lots en fonction de la volatilité du marché ou de l’intensité de la tendance
  5. Fluctuation des ventes:

    • Les volumes de transactions de certains marchés peuvent exister selon des modèles saisonniers ou temporels, et une simple moyenne de 20 cycles peut ne pas être suffisante pour capturer ces caractéristiques
    • Solution: mettre en œuvre des techniques plus sophistiquées de régularisation des transactions ou utiliser des seuils de transactions différents pour des périodes différentes

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres de résistance à la tendance:

    • Indicateurs de force de tendance tels que l’indice de direction moyenne intégrée (ADX) qui ne prennent des positions que sur des marchés clairement tendance
    • Cela réduirait considérablement le nombre de faux signaux dans les marchés en crise et augmenterait le taux de victoire global.
    • Mise en œuvre: ajoutadx = ta.adx(14)Calculé et ajouté aux conditions d’entréeand adx > 25Les conditions
  2. Optimisation de l’analyse des volumes:

    • Considérer l’utilisation d’indicateurs de volume de transaction relatif (RVI) ou de moyennes mobiles pondérées en volume de transaction (VWMA) en lieu et place de seuils de volume de transaction simples
    • Cela permet de capturer plus précisément les anomalies de transaction et de réduire les erreurs de jugement basées sur la transaction pure.
    • Mise en œuvre: calcul du décalage standard du volume d’affaires, en utilisant l’écart plutôt que le simple multiple pour juger de la rupture du volume d’affaires
  3. Ajuster dynamiquement le niveau de freinage:

    • Adaptation du multiplicateur d’arrêt en fonction de la volatilité du marché ou de la dynamique de la force de la tendance, avec un objectif d’arrêt plus éloigné dans une tendance forte
    • Mise en œuvre: les paramètres tp1Mult et tp2Mult peuvent être ajustés dynamiquement en combinant des lectures d’indicateurs de tendance (comme l’ADX)
  4. Optimiser le temps d’entrée:

    • Augmentation de la confirmation de la dynamique des prix, comme le RSI ou le MACD, comme condition de filtrage supplémentaire pour les signaux croisés EMA
    • Cela réduit les faux signaux qui peuvent apparaître au début d’un renversement de tendance.
    • Mise en œuvre: ajoutrsi = ta.rsi(close, 14)Et ajouter des conditions de direction dans les conditions d’entrée
  5. Ajouter un filtre temporel:

    • Filtration des périodes de transaction pour éviter les périodes de faible ou forte volatilité
    • Certaines variétés de transactions sont plus efficaces dans certaines périodes de temps, et des heures de négociation ciblées peuvent améliorer la performance globale.
    • Mise en œuvre: avec Pine ScripttimeLa fonction vérifie si le temps de transaction actuel est dans la période idéale
  6. Réaliser une gestion dynamique des positions:

    • Dimensions de positions ajustées dynamiquement en fonction de la performance récente du système, de la volatilité du marché ou d’autres indicateurs de risque
    • Cela permettra à la stratégie d’augmenter l’ouverture de risque dans des conditions de marché favorables et de réduire automatiquement le risque dans des conditions défavorables.
    • Mise en œuvre: Ajustez le paramètre de default_qty_value en fonction du nombre de pertes consécutives ou des variations des valeurs ATR par rapport aux niveaux historiques

Résumer

La stratégie de stop loss est un système de négociation sophistiqué et complet qui combine les méthodes classiques d’analyse technique et les techniques modernes de gestion des risques. Le principal avantage de cette stratégie réside dans sa simplicité et son adaptabilité. Elle fournit un signal d’entrée par la confirmation de la transaction en combinaison avec les signaux croisés EMA et permet un contrôle complet des risques de stop loss par le stop loss et le suivi des lots.

Malgré la bonne performance de la stratégie sur plusieurs variétés de transactions, il existe des risques potentiels et de la place pour l’optimisation. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’introduction de mesures telles que le filtrage de la force de la tendance, l’optimisation de l’analyse du volume de transactions, l’ajustement dynamique des niveaux d’arrêt, l’amélioration du timing d’entrée et la mise en œuvre d’une gestion dynamique des positions.

En fin de compte, cette stratégie montre comment construire un système de trading quantitatif qui est à la fois adapté à la compréhension des novices et qui a une valeur de négociation réelle grâce à un mécanisme de gestion des risques et de confirmation des signaux soigneusement conçu, tout en gardant la simplicité et l’intuition de la stratégie. Comme indiqué dans les notes du code, “Simple does it!”, Parfois, les stratégies les plus efficaces ne nécessitent pas une combinaison complexe d’indicateurs, mais une structure logique raisonnable et une conception complète de contrôle des risques.

Code source de la stratégie
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-03 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("EMA Crossover with Volume + Stacked TP & Trailing SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// 📊 Inputs
fastLen = input.int(21, title="Fast EMA")
slowLen = input.int(55, title="Slow EMA")
volMultiplier = input.float(1.2, title="Volume Threshold Multiplier")
atrLen = input.int(14, title="ATR Length")
tp1Mult = input.float(1.5, title="TP1 ATR Multiplier")
tp2Mult = input.float(2.5, title="TP2 ATR Multiplier")
trailOffsetMult = input.float(1.5, title="Trailing SL Offset (ATR)")
trailTriggerMult = input.float(1.5, title="Trailing SL Activation (ATR)")

// 📈 Indicators
fastEMA = ta.ema(close, fastLen)
slowEMA = ta.ema(close, slowLen)
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.orange, title="Slow EMA")

atr = ta.atr(atrLen)
avgVolume = ta.sma(volume, 20)
volumeCondition = volume > avgVolume * volMultiplier
plot(avgVolume, color=color.gray, title="Average Volume")

// 🚀 Entry Conditions
longCondition = ta.crossover(fastEMA, slowEMA) and volumeCondition
shortCondition = ta.crossunder(fastEMA, slowEMA) and volumeCondition

// 📌 Entry
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// 🎯 Take Profit Targets
tp1 = atr * tp1Mult
tp2 = atr * tp2Mult

// 🛡️ Trailing Stop Setup
trailOffset = atr * trailOffsetMult
trailTrigger = atr * trailTriggerMult

// 📤 Exit Logic for Long
if (strategy.position_size > 0)
    strategy.exit("TP1", from_entry="Long", profit=tp1, qty_percent=33)
    strategy.exit("TP2", from_entry="Long", profit=tp2, qty_percent=33)
    strategy.exit("Trail", from_entry="Long", trail_offset=trailOffset, trail_price=trailTrigger, qty_percent=34)

// 📤 Exit Logic for Short
if (strategy.position_size < 0)
    strategy.exit("TP1", from_entry="Short", profit=tp1, qty_percent=33)
    strategy.exit("TP2", from_entry="Short", profit=tp2, qty_percent=33)
    strategy.exit("Trail", from_entry="Short", trail_offset=trailOffset, trail_price=trailTrigger, qty_percent=34)

// 🧠 Visual Debug
plotshape(longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long Signal")
plotshape(shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Signal")