
La stratégie de retour SAR associée à plusieurs indicateurs et le modèle d’entrée de filtrage est une stratégie de trading quantitatif qui combine plusieurs indicateurs techniques, principalement en utilisant la ligne de parachute SAR (stop loss et revers) comme mécanisme de génération de signal central, tout en introduisant le RSI (indice de force relative), le RSI aléatoire, le MACD (mobile average convergence dispersion) et le LSMA (mobile average minimum multiplication) comme conditions de filtrage pour améliorer la qualité et la fiabilité du signal de trading. La stratégie est capable d’identifier simultanément les retours de marché à plusieurs cycles et de réduire le risque de faux sauts par le biais de retours de conditions multiples.
Le principe central de cette stratégie est de combiner plusieurs indicateurs techniques pour identifier les points de retournement du marché et de filtrer les signaux de mauvaise qualité par la vérification mutuelle entre les indicateurs. La logique de mise en œuvre est la suivante:
Signal de retour de SAR: Utilisation de la SAR parallèle comme mécanisme de génération de signaux de base. Lorsque le prix est traversé par SAR, un signal de revers est généré (sarReversalUp), et un signal de revers est généré (sarReversalDown) lorsque le prix est traversé par SAR.
Conditions de filtrage à plusieurs indicateurs:
Logique d’exécution de la transaction:
Optimisation des paramètres: La stratégie fournit plusieurs paramètres ajustables, y compris les valeurs initiales, incrémentielles et maximales du SAR, ainsi que les cycles RSI, la longueur et le décalage du RSI aléatoire et du LSMA, ce qui permet à la stratégie de s’adapter de manière flexible en fonction des différentes conditions du marché et des caractéristiques de la variété.
Mécanisme de vérification multiple: En combinant plusieurs indicateurs techniques, la stratégie est capable de vérifier l’efficacité des points de basculement du marché dans différentes dimensions, réduisant considérablement la probabilité de faux signaux. Le SAR capte les variations de la dynamique, le RSI mesure les surachats et les survente, le MACD confirme la direction de la tendance, le RSI aléatoire fournit une confirmation supplémentaire de la dynamique, tandis que le LSMA fournit un jugement sur la relation entre le prix et la moyenne mobile.
Adaptation des paramètres avec souplesse: La stratégie offre de nombreuses options de paramétrage que les traders peuvent optimiser en fonction des différents environnements de marché et des caractéristiques de la variété de transactions pour obtenir de meilleures performances.
Système d’arrêt automatique: L’indicateur SAR a lui-même la caractéristique d’un arrêt de perte dynamique, qui s’adapte en permanence à l’évolution de la tendance, offrant une fonctionnalité de gestion du risque intégrée à la stratégie.
Capacité de négociation bidirectionnelleLes stratégies permettent de saisir les opportunités d’opérations et de prises de position, de s’adapter aux différentes conditions du marché et de tirer le meilleur parti des fluctuations du marché.
Aide visuelle: La stratégie contient une représentation visuelle de plusieurs indicateurs permettant au trader de comprendre intuitivement les raisons pour lesquelles les signaux de trading sont générés, ce qui permet d’améliorer la stratégie et d’optimiser les paramètres.
Paramètre Sensibilité: La stratégie utilise plusieurs paramètres réglables, et les différentes combinaisons de paramètres ont un impact significatif sur la performance de la stratégie. Des paramètres SAR mal réglés peuvent entraîner un signal trop ou trop peu, et des paramètres de seuil pour le RSI et le RSI aléatoire peuvent également avoir un impact direct sur la qualité du signal. La solution consiste à déterminer la combinaison de paramètres optimale en faisant des retours historiques et à ré-optimiser régulièrement les paramètres pour s’adapter aux changements du marché.
Les risques liés aux fluctuations rapides du marché: Dans les marchés à forte volatilité, le SAR peut se renverser fréquemment, entraînant des signaux de trading excessifs et des arrêts fréquents. Pour atténuer ce risque, des conditions de filtrage de signaux peuvent être ajoutées ou la période d’observation peut être prolongée.
Faux retournement de tendance sur le marché: Dans un marché en forte tendance, il peut y avoir une reprise de la tendance initiale après une reprise brève, ce qui entraîne un signal erroné. La solution consiste à ajouter des conditions de filtrage de la force de la tendance ou à la confirmer en combinaison avec un indicateur de plus longue période.
Le retard de synchronisation des indicateurs: Le fait de remplir plusieurs critères simultanément peut entraîner un retard d’admission et la perte du meilleur point d’entrée. Cela peut être amélioré en optimisant les paramètres de chaque critère ou en prenant en compte le mécanisme de confirmation anticipée de certains critères.
Ne convient pas aux marchés à oscillation interzonale: La stratégie est principalement conçue pour le renversement de tendance, les marchés oscillante peuvent être moins performants sur de longues périodes. L’ajout d’une fonctionnalité d’identification de l’environnement du marché peut être envisagé pour passer à d’autres stratégies plus appropriées sur les marchés intermédiaires.
Mécanisme d’ajustement des paramètres dynamiquesLes stratégies actuelles utilisent des paramètres fixes, mais il est possible d’introduire des mécanismes d’ajustement des paramètres adaptatifs pour ajuster automatiquement les paramètres SAR, les valeurs RSI, etc. en fonction de la volatilité du marché. Par exemple, augmenter l’augmentation du SAR dans les marchés à forte volatilité et réduire les fausses percées; réduire la valeur initiale du SAR dans les marchés à faible volatilité et améliorer la sensibilité.
Accroître la reconnaissance de l’environnement du marché: Identifier l’environnement actuel du marché (trend, oscillation ou forte volatilité) en ajoutant l’ATR (amplitude réelle moyenne), un indicateur de volatilité ou un indice de force de tendance, et ajuster les paramètres de la stratégie ou changer la logique de négociation en fonction de l’environnement.
Filtre temporel introduit: pour les caractéristiques temporelles qui peuvent exister dans différents marchés, introduire des filtres de périodes de négociation, éviter les périodes de faible liquidité ou de forte volatilité, ou définir des paramètres d’optimisation pour des périodes spécifiques.
Optimisation des stratégies de préventionLes stratégies actuelles reposent principalement sur des positions de revers signalées et peuvent introduire des mécanismes d’arrêt dynamiques, tels que des arrêts mobiles basés sur l’ATR ou des arrêts de pourcentage basés sur la volatilité, qui bloquent une partie des bénéfices lorsque le profit atteint un certain niveau.
Construction par lots et éliminationConsidérez l’introduction d’un mécanisme de création et de liquidation des positions par lots plutôt que par lots entiers, afin de réduire le risque d’une seule opération et d’optimiser la gestion des fonds. Par exemple, il est possible d’établir une position de 50% lors d’un signal initial et d’augmenter la position à 100% lors d’un renforcement du signal.
Système de poids: mettre en place un système de pondération pour les différents indicateurs, en ajustant leur influence en fonction de leur performance dans différents environnements de marché, et en construisant un mécanisme de génération de signaux plus intelligent.
Optimisation du machine learning: l’introduction d’algorithmes d’apprentissage automatique, des modèles de formation basés sur des données historiques, pour prédire la probabilité de succès de chaque combinaison d’indicateurs dans différentes conditions de marché, afin d’ajuster dynamiquement les décisions de négociation.
La stratégie multi-indicateurs associant une stratégie de retour SAR et un modèle d’entrée de filtrage est un excellent exemple de fusion des indicateurs traditionnels d’analyse technique dans un système de trading quantitatif moderne. En combinant plusieurs indicateurs tels que le SAR, le RSI, le MACD, le RSI aléatoire et le LSMA, la stratégie fournit un signal de trading de haute qualité aux points de retournement du marché et réduit efficacement le risque de faux signaux grâce à un mécanisme de filtrage multi-conditionnel.
Le principal avantage de la stratégie réside dans son mécanisme de vérification à plusieurs niveaux et sa capacité d’ajustement de paramètres flexible, ce qui lui permet de s’adapter à différents environnements de marché. Cependant, la stratégie présente également des limites telles qu’une sensibilité élevée aux paramètres et un retard possible. La performance de la stratégie peut être encore améliorée en introduisant des améliorations telles que l’ajustement dynamique des paramètres, l’identification de l’environnement de marché et l’optimisation des mécanismes de freinage.
Pour les traders quantifiés, la stratégie fournit un cadre solide sur lequel la stratégie peut être personnalisée et étendue en fonction du style de négociation individuel et des caractéristiques du marché cible. Grâce à un retour d’expérience et à une optimisation continus, combinés à une compréhension approfondie du marché, la stratégie peut être développée en un système de trading efficace et fiable.
/*backtest
start: 2024-03-28 00:00:00
end: 2025-01-18 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("SAR Reversal Strategy with Filtered Entries & Opposite Exits", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Input Parameters ===
start = input(0.02, "SAR Start")
increment = input(0.02, "SAR Increment")
maximum = input(0.2, "SAR Maximum")
rsiPeriod = input(14, "RSI Period")
rsiOverbought = input(70, "RSI Overbought Level")
rsiOversold = input(30, "RSI Oversold Level")
stochLength = input(14, "Stoch RSI Length")
stochOverbought = input(80, "Stoch Overbought Level")
stochOversold = input(20, "Stoch Oversold Level")
lsmaLength = input(4, title="LSMA Length") // LSMA period input
lsmaOffset = input(9, title="LSMA Offset") // LSMA offset input
rsi = ta.rsi(close, rsiPeriod)
// === Stochastic RSI for Additional Confirmation ===
stochRsi = ta.stoch(rsi, rsi, rsi, stochLength)
// === Calculate Indicators ===
psar = ta.sar(start, increment, maximum)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// === LSMA Calculation ===
lsma = ta.linreg(close, lsmaLength, 0) // Least Squares Moving Average (LSMA)
// === Shift LSMA by User-Defined Offset ===
lsmaOffsetted = lsma[lsmaOffset]
// === Detect SAR Reversals ===
sarReversalUp = ta.crossover(close, psar) // SAR flips below price → long entry signal
sarReversalDown = ta.crossunder(close, psar) // SAR flips above price → short entry signal
// === Only Allow SAR Reversals If RSI & MACD Are Favorable ===
validLong = sarReversalUp and rsi > rsiOversold and macdLine > signalLine and stochRsi > stochOversold and close > lsmaOffsetted
validShort = sarReversalDown and rsi < rsiOverbought and macdLine < signalLine and stochRsi < stochOverbought and close < lsmaOffsetted
// === Execute Trades Only at SAR Reversals ===
if validLong
strategy.close("Short") // Close any short position
strategy.entry("Long", strategy.long)
if validShort
strategy.close("Long") // Close any long position
strategy.entry("Short", strategy.short)
// === Plot Indicators ===
plot(psar, title="Parabolic SAR", style=plot.style_cross, color=color.orange, linewidth=2)
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)
plot(macdLine, title="MACD Line", color=color.green)
plot(signalLine, title="Signal Line", color=color.red)
hline(stochOverbought,"stochRsi", color = color.yellow)
hline(stochOversold,"stochRsi", color = color.yellow)
// === Plot LSMA and Offset LSMA for Visualization ===
//...not in valid long/short check.... plot(lsma, title="LSMA", color=color.blue, linewidth=2)
plot(lsmaOffsetted, title="Offset LSMA", color=color.red, linewidth=2)
plot(stochRsi, title="stochRsi",color=color.yellow, linewidth=2)
// ✅ Floating Label for Stoch RSI (Top-Right of Chart)
var label stochLabel = na
label.delete(stochLabel) // Delete previous label to prevent duplicates
// experiment to show label above value at top of chart (only showed last value at end) stochLabel := label.new( bar_index, ta.highest(high, 10), text="Stoch RSI: " + str.tostring(stochRsi, "#.##"), color=color.blue, textcolor=color.white, size=size.small, style=label.style_label_upper_right)