
La stratégie de sortie de rupture de tendance inverse est un système de trading quantitatif basé sur des hauts et des bas historiques de rupture de prix, combiné à un signal de retour de tendance comme mécanisme d’exit. La stratégie consiste à surveiller les prix les plus élevés et les plus bas des trois derniers jours de négociation, en effectuant des opérations d’entrée lorsque les prix franchissent ces niveaux critiques, et de sortie en position fixe lorsque des signaux de rupture de rupture inverse se produisent.
Le principe de base de la stratégie est basé sur deux concepts clés: les ruptures de prix et les retournements de tendance:
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
longEntry = close > high3
shortEntry = close < low3
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
longExit = shortEntry
shortExit = longEntry
Simple mais efficaceLa stratégie est basée sur des principes simples de comportement des prix, faciles à comprendre et à mettre en œuvre, sans nécessiter de mesures techniques complexes, ce qui réduit le risque de surajustement.
Une grande capacité d’adaptationEn utilisant des hauts et des bas de trois jours relativement récents comme référence, la stratégie est capable de s’adapter à différents environnements de marché et conditions de volatilité sans être ni trop sensible ni trop lente.
Règles claires d’entrée et de sortieLa stratégie fournit des signaux d’entrée et de sortie clairs, élimine les jugements subjectifs dans le processus de négociation et aide à maintenir la discipline de négociation.
Protéger contre la rétrogradation: Utilisez le renversement de tendance comme signal de sortie pour vous débarrasser rapidement de vos positions en cas de changement de direction du marché, contrôler efficacement les retraits et protéger les profits réalisés.
Une gestion complète des fondsLa stratégie consiste à gérer les positions en pourcentage de la valeur nette, une méthode plus flexible que le nombre fixe, qui permet d’ajuster automatiquement la taille des transactions en fonction de la taille du compte.
Les commentaires visuels sont clairsLes traders peuvent visualiser l’exécution de la stratégie en utilisant les marqueurs d’achat, de vente et de sortie sur le graphique stratégique, ce qui facilite l’analyse et l’optimisation de la stratégie.
Le risque d’une fausse percée: Il peut y avoir de fausses ruptures de courte durée sur le marché, ce qui entraîne des mouvements inverses rapides de la stratégie après l’entrée, entraînant des coûts et des pertes de transaction inutiles. Solution: Des filtres de confirmation peuvent être ajoutés, tels que la confirmation de la transaction ou l’attente d’un certain temps pour que le prix reste dans la position de rupture.
Risques liés à la fréquence des transactionsRésolution: Prolonger le cycle de référence ou ajouter une période de refroidissement pour réduire la fréquence des transactions.
Manque de mécanisme de préventionLa stratégie actuelle consiste à se contenter d’un retrait du signal de tendance inverse, ce qui peut entraîner des pertes plus importantes dans des conditions de marché extrêmes. La solution: ajouter un stop loss fixe ou un stop loss ajusté à la volatilité comme protection supplémentaire.
Risque de pénurie de marchéRésolution: définir le point de glissement maximal autorisé ou utiliser un ordre de stop-loss.
La tendance à l’absence d’environnement: Dans un environnement de marché turbulent, la stratégie de rupture de trois jours peut mal fonctionner, produisant plusieurs signaux erronés. Solution: Ajouter un filtre d’état du marché, appliquer la stratégie uniquement dans un environnement de marché où une tendance claire est identifiée.
Optimisation du cycle de référence: Le cycle de référence de trois jours fixe actuel peut ne pas être adapté à toutes les conditions du marché. Il est recommandé de réaliser un ajustement dynamique du cycle de référence, en ajustant automatiquement la longueur du cycle de rupture en fonction de la volatilité du marché, en utilisant un cycle plus long dans les marchés à forte volatilité et un cycle plus court dans les marchés à faible volatilité.
Ajouter des conditions de filtrage: Des conditions de filtrage supplémentaires peuvent être introduites pour améliorer la qualité du signal, par exemple:
Amélioration du mécanisme de retraitEn plus de l’inversion de tendance, il y a un certain nombre de mécanismes de sortie qui peuvent être ajoutés:
Mise en place d’une gestion partielle des positions: La stratégie actuelle consiste à négocier à 100% de la valeur nette, en envisageant de modifier la taille de la position en fonction de la force du signal ou de la dynamique des conditions du marché, en augmentant la position sur des signaux plus positifs et en réduisant la position sur des signaux plus faibles.
Ajouter un filtrage de la période: confirmer la direction de la tendance sur des périodes plus longues, et ne négocier que dans la direction qui est conforme à la tendance à long terme, afin de réduire le risque de négocier à contre-courant. Cette analyse sur plusieurs périodes peut augmenter considérablement le taux de réussite de la stratégie.
La stratégie de sortie de rupture de tendance inverse de trois jours est un système de négociation qui combine les principes de rupture de prix et de suivi des tendances pour construire un signal d’entrée en surveillant les hauts et les bas des prix à court terme, tout en utilisant la rupture inverse comme mécanisme de sortie. L’avantage de la stratégie réside dans la simplicité de la conception, la clarté des règles et la capacité d’adaptation. Elle convient aux débutants et aux traders expérimentés.
/*backtest
start: 2025-03-30 00:00:00
end: 2025-04-29 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("3-Day Breakout Strategy with Trend Change Exit", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Calculate 3-day high/low (excluding current bar) ===
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
// === Entry conditions ===
longEntry = close > high3
shortEntry = close < low3
// === Track position state ===
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
// === Exit conditions ===
// Exit on trend reversal (new signal)
longExit = shortEntry // Exit long position when a short signal occurs
shortExit = longEntry // Exit short position when a long signal occurs
// === Execute entries ===
buySignal = longEntry and not isLong and not isShort
sellSignal = shortEntry and not isLong and not isShort
if (buySignal)
strategy.entry("Long", strategy.long)
if (sellSignal)
strategy.entry("Short", strategy.short)
// === Execute exits on opposite signal (trend change) ===
if (isLong and longExit)
strategy.close("Long")
if (isShort and shortExit)
strategy.close("Short")
// === Exit markers (on actual exit bar only) ===
exitLongSignal = wasLong and not isLong
exitShortSignal = wasShort and not isShort
// === Plot entry signals only on the entry bar ===
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// === Plot exit signals only on the exit bar ===
plotshape(exitLongSignal, title="Exit Long", location=location.abovebar, color=color.orange, style=shape.labeldown, text="EXIT")
plotshape(exitShortSignal, title="Exit Short", location=location.belowbar, color=color.orange, style=shape.labelup, text="EXIT")