Système de capture de tendance à triple filtre : stratégie combinée ASO-SSL-MBI

ASO SSL MBI ATR SMA
Date de création: 2025-06-16 15:02:06 Dernière modification: 2025-06-16 15:02:06
Copier: 2 Nombre de clics: 304
2
Suivre
319
Abonnés

Système de capture de tendance à triple filtre : stratégie combinée ASO-SSL-MBI Système de capture de tendance à triple filtre : stratégie combinée ASO-SSL-MBI

Aperçu

Le système de capture de tendance de la dynamique de triple filtrage est une stratégie de trading de tendance et de dynamique basée sur des règles qui intègre trois modèles techniques uniques (ASO, canal SSL et MBI) dans un moteur intégré. La stratégie est conçue pour les traders qui préfèrent des entrées bien filtrées, une réduction de l’interférence du bruit et une structure de trading claire.

Principe de stratégie

La logique centrale de cette stratégie repose sur la synergie de trois indicateurs techniques majeurs:

  1. L’ASO calcule l’humeur du marché en utilisant une formule personnalisée qui combine la pression intra-disque et la dynamique de la portée du groupe. L’indicateur dispose de trois modes de calcul qui permettent d’accentuer de manière flexible différents aspects du marché. L’ASO génère des signaux de croisement, un élément de confirmation clé dans la stratégie.

  2. Le canal SSL: c’est une méthode classique de suivi de tendances basée sur des moyennes mobiles de hauts et de bas. Il aide à filtrer les faux signaux et à aligner les transactions sur la direction du marché plus large.

  3. Indicateur de rupture dynamique (MBI): recherche les cas où le prix a franchi une limite récente. Il sert de déclencheur final après alignement des autres filtres. L’MBI fonctionne en vérifiant si le prix a franchi le plus haut/le plus bas niveau du cycle spécifique précédent (défaut 12).

Un signal de transaction est généré uniquement si les conditions suivantes sont remplies:

  • Une nouvelle cohérence des tendances ASO/SSL
  • La percée du MBI dans la même direction
  • Signaux de confirmation de la plus récente croix ASO (bullish ou bearish)

Plus précisément, les conditions d’entrée à plusieurs têtes sont les suivantes: MBI est positif (indiquant une rupture à la hausse), ASO est en hausse (ASO Bulls > ASO Bears), ASO vient de produire une croix de hausse, SSL est en hausse. Les conditions d’entrée à vide sont le contraire. Une fois la transaction déclenchée, le système utilise le multiplicateur d’ATR pour définir des niveaux d’arrêt et de perte dynamiques, permettant à la gestion des risques de s’adapter à la volatilité du marché.

Avantages stratégiques

  1. Mécanisme de confirmation multiple: la stratégie réduit considérablement les faux signaux et améliore la qualité des transactions en exigeant la cohérence de trois indicateurs indépendants. Cette méthode de “triple filtrage” garantit que seuls les signaux de tendance forts déclenchent les transactions.

  2. Gestion du risque adaptative: la stratégie utilise l’ATR pour calculer les niveaux d’arrêt et de perte, ce qui lui permet de s’adapter automatiquement en fonction de la volatilité du marché. Cela assure la cohérence de l’ouverture du risque dans différentes conditions de marché.

  3. Réglages de paramètres flexibles: les stratégies permettent aux utilisateurs d’ajuster les paramètres de chaque composant, y compris les cycles ASO et les méthodes de calcul, les cycles de moyenne mobile SSL, les périodes de rétroaction de rupture MBI et les réglages liés à l’ATR, afin de pouvoir être optimisés en fonction de différents environnements de marché et de vos préférences en matière de risque.

  4. Structure de négociation claire: les règles de la stratégie sont claires et faciles à comprendre, offrant aux traders des conditions d’entrée et de sortie claires, réduisant le besoin de jugement subjectif.

  5. Aucune transaction superposée: la stratégie est conçue pour ne pas ouvrir de nouvelles transactions avant la fermeture de la transaction en cours, ce qui aide à gérer les risques et à prévenir les transactions excessives.

  6. Combinaison de tendance et de dynamique: en combinant les indicateurs de suivi de tendance (SSL) et de rupture de dynamique (MBI), la stratégie permet de confirmer la dynamique tout en capturant la tendance, ce qui généralement conduit à des signaux de trading plus fiables.

Risque stratégique

  1. Risque d’excès de filtrage: la stratégie risque de manquer des opportunités de trading rentables en raison de la nécessité d’une cohérence des trois indicateurs indépendants. Dans certaines conditions de marché, ce filtrage strict peut entraîner une fréquence de trading inférieure.

Solution: envisager d’ajuster les paramètres de chaque indicateur pour s’adapter à différents environnements de marché, ou d’assouplir certaines conditions de manière appropriée dans des marchés très volatils.

  1. Sensitivité des paramètres: la performance d’une stratégie dépend fortement des paramètres choisis. Une configuration inappropriée des paramètres peut entraîner un excès de faux signaux ou la perte d’importants mouvements du marché.

La solution: effectuer un retour complet et une optimisation des paramètres pour trouver la combinaison de paramètres optimale pour un marché et une période particuliers. Envisager d’utiliser un retour progressif pour évaluer l’impact des changements de paramètres sur la performance.

  1. Risque de renversement de tendance: la stratégie est susceptible de subir un grand recul pendant un fort renversement de tendance, car elle a besoin que les trois indicateurs confirment un renversement pour changer de direction.

La solution: envisager d’ajouter des filtres d’intensité de tendance ou des mécanismes de régulation de la volatilité pour ajuster les actions stratégiques dans des conditions de marché extrêmes. Des mécanismes de stop-loss plus radicaux peuvent également être mis en œuvre pour atténuer les retraits potentiellement importants.

  1. Points de glissement et risque d’exécution: les prix d’exécution réels peuvent être significativement différents de ceux au moment de la génération du signal, en particulier dans les marchés à forte volatilité.

Solution: ajouter des simulations de points de glissement dans la rétroanalyse et utiliser un ordre de limite plutôt qu’un ordre de marché dans les transactions en temps réel. Envisager d’ajouter une marge de sécurité supplémentaire dans la stratégie pour gérer le risque d’exécution.

  1. La stratégie est entièrement basée sur l’analyse technique et ignore les facteurs fondamentaux, ce qui peut être une contrainte dans certaines conditions de marché.

La solution: envisager de compléter les signaux techniques avec des filtres fondamentaux ou des indicateurs de l’humeur du marché. Par exemple, ajouter des conditions de volatilité pour éviter de négocier lorsque le marché est trop volatile.

Orientation de l’optimisation de la stratégie

  1. Adaptation dynamique des paramètres: un mécanisme permettant d’ajuster automatiquement les paramètres de la stratégie en fonction des conditions du marché (par exemple, la volatilité ou l’intensité de la tendance). Par exemple, le multiplicateur ATR peut être augmenté dans un environnement à forte volatilité et réduit dans un environnement à faible volatilité. Cela permet de mieux s’adapter aux différentes conditions du marché et d’améliorer la stabilité de la stratégie.

  2. Ajout de filtres d’environnement de marché: introduire des filtres supplémentaires pour identifier l’environnement de marché actuel (tels que la tendance, la secousse ou le hasard) et ajuster les actions stratégiques en fonction des différents environnements. Par exemple, des conditions d’entrée plus strictes peuvent être nécessaires dans les marchés en secousse, tandis que certaines conditions peuvent être assouplies dans les marchés à forte tendance.

  3. Gestion partielle des positions: mise en place d’un système de gestion des positions plus sophistiqué, permettant des entrées et des sorties partielles en fonction de la force du signal, de la volatilité du marché ou d’autres facteurs. Cela peut aider à réduire le risque des méthodes de négociation “tout ou rien” et à fournir un contrôle du risque plus minutieux.

  4. Optimisation des filtres temporels: amélioration de la fonctionnalité de filtrage des temps de rétroaction existante, ajout de filtrage du temps dans la journée ou de filtrage du temps dans des conditions de marché spécifiques. Certains marchés peuvent présenter des caractéristiques de tendance plus évidentes à certaines périodes de temps, et des stratégies d’optimisation pour ces périodes peuvent améliorer la performance globale.

  5. Amélioration de l’indicateur: envisagez d’améliorer ou de remplacer les indicateurs existants. Par exemple, vous pouvez utiliser des moyennes mobiles adaptables au lieu des moyennes mobiles simples dans SSL, ou explorer d’autres méthodes de calcul ASO pour mieux capturer les changements de sentiment du marché.

  6. L’amélioration de l’apprentissage automatique: l’introduction d’algorithmes d’apprentissage automatique pour optimiser la sélection de paramètres ou pour prédire quelles stratégies peuvent fonctionner le mieux dans quelles conditions de marché. Cela peut aider le système à apprendre des données historiques et à s’adapter aux changements futurs du marché.

  7. Optimisation stop/stop loss: pour des stratégies de stop plus complexes, telles que le suivi des stops ou des stops dynamiques basés sur les niveaux de support/résistance. De même, des mécanismes de stop-loss intelligents basés sur la structure du marché peuvent être envisagés, et non seulement sur le multiplicateur ATR.

Résumer

Le système de capture de tendance à triple flux est une stratégie de négociation complète qui offre une méthode de suivi de tendance rigoureusement filtrée en intégrant l’indicateur ASO Sentiment, le canal de tendance SSL et l’indicateur de rupture de tendance MBI. Le principal avantage de la stratégie réside dans son mécanisme de confirmation multiple et son système de gestion des risques adaptatif, ce qui contribue à réduire les faux signaux et à s’adapter aux différentes conditions de volatilité du marché.

Bien que des risques potentiels existent, tels que l’excès de filtrage et la sensibilité des paramètres, ces problèmes peuvent être efficacement atténués par une optimisation appropriée des paramètres et des techniques de gestion des risques supplémentaires. Les orientations d’optimisation futures peuvent inclure l’ajustement dynamique des paramètres, le filtrage de l’environnement du marché et un système de gestion de position plus complexe, qui ont le potentiel d’améliorer encore la performance et la solidité de la stratégie.

Dans l’ensemble, cette méthode de triple filtrage offre un outil précieux aux traders qui recherchent une structure claire et des signaux de trading fiables. En combinant l’analyse de l’émotion, l’identification des tendances et la confirmation de la dynamique, la stratégie permet d’identifier des opportunités de trading à forte probabilité dans une variété de conditions de marché, tout en conservant une gestion prudente des risques.

Code source de la stratégie
/*backtest
start: 2024-06-16 00:00:00
end: 2025-06-14 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Darkoexe

//@version=5

strategy("PMZ's Triple Filter Trend Strategy {Darkoexe}", overlay=true, initial_capital=10000, pyramiding=2, margin_long=50, margin_short=50)



length=input.int(10,"ASO Period?",minval=1,maxval=100)
mode=input.int(0,"ASO Calculation Method:",minval=0,maxval=2)
intrarange=high-low
grouplow=ta.lowest(low,length)
grouphigh=ta.highest(high,length)
groupopen=open[length-1]
grouprange=grouphigh-grouplow
K1=intrarange==0 ? 1 : intrarange
K2=grouprange==0 ? 1 : grouprange
intrabarbulls=((((close-low)+(high-open))/2)*100)/K1
groupbulls=((((close-grouplow)+(grouphigh-groupopen))/2)*100)/K2
intrabarbears=((((high-close)+(open-low))/2)*100)/K1
groupbears=((((grouphigh-close)+(groupopen-grouplow))/2)*100)/K2
TempBufferBulls= mode==0 ? (intrabarbulls+groupbulls)/2 : mode==1 ? intrabarbulls : groupbulls
TempBufferBears= mode==0 ? (intrabarbears+groupbears)/2 : mode==1 ? intrabarbears : groupbears
ASOBulls=ta.sma(TempBufferBulls,length)
ASOBears=ta.sma(TempBufferBears,length)

//ASO

// Modification
var cross = false

var isASObull = ASOBulls>ASOBears ? true : false

if(ASOBulls>ASOBears and isASObull == false)
    isASObull := true
    cross := true

else if(ASOBulls<ASOBears and isASObull == true)
    isASObull := false
    cross := true

else
    cross := false

//SSL

len=input.int(title="SSL Period", defval=10)
smaHigh=ta.sma(high, len)
smaLow=ta.sma(low, len)
float Hlv = na
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh: smaLow
sslUp   = Hlv < 0 ? smaLow : smaHigh



//Modification
var isSSLbull = sslUp>sslDown ? true: false

if(sslUp>sslDown)
    isSSLbull := true

else if(sslUp<sslDown)
    isSSLbull := false


//MBI

per = input(12,title="MBI Period")
H = ta.highest(hl2,per)
hi = H[1]
L = ta.lowest(hl2,per)
lo = L[1]
cl = close

ind = cl>hi? 1 : cl<lo? -1 : 0


//Modification
var longCondition = false
var shortCondition = false

if(ind>0 and isASObull==true and cross==true and isSSLbull==true)
    longCondition := true

else if(ind<0 and isASObull==false and cross==true and isSSLbull==false)
    shortCondition := true

// Define strategy parameters
// risk_percent = input(2, title="Risk Percentage")
targetATR = input(1, title="Take Profit ATR ratio")
stopLossATR = input(1.5, title="Stop loss ATR ratio")
atrPeriod = input(14, title="ATR period")


ATR = ta.atr(atrPeriod)
// Calculate take profit level based on the reward ratio
take_profit_price = longCondition?  close + (targetATR*ATR): shortCondition? close - (targetATR*ATR): 0
stop_loss_price = longCondition?  close - (stopLossATR*ATR): shortCondition? close + (stopLossATR*ATR): 0


if (longCondition and strategy.opentrades == 0)

    // take_profit_price = close + targetATR*ATR
    // stop_loss_price = close - (stopLossATR*ATR)
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("Exit", from_entry="My Long Entry Id", stop=stop_loss_price, limit=take_profit_price)
    longCondition := false

else if (shortCondition and strategy.opentrades == 0)

    // take_profit_price = close - targetATR*ATR
    // stop_loss_price = close + (stopLossATR*ATR)
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("Exit", from_entry="My Short Entry Id", stop=stop_loss_price, limit=take_profit_price)
    shortCondition := false