
Un système de trading de retournement de tendance à angles multiples mobiles est une stratégie de trading quantitative conçue spécifiquement pour les marchés horizontaux, combinant plusieurs techniques d’analyse de la moyenne mobile et de l’angle. Le cœur de la stratégie est la relation entre les moyennes mobiles de quatre paramètres différents (deux EMA et deux SMA) en surveillant les variations d’angle de la moyenne mobile à long terme pour juger du retournement de tendance du marché, afin de capturer des opportunités de trading à haute probabilité dans les marchés horizontaux. Le système se concentre particulièrement sur les signaux de croisement entre les MA50 et les EMA20 et combine les variations d’angle des MA150 pour filtrer les faux signaux et réaliser des entrées et des sorties précises dans les marchés en turbulence.
Le principe de fonctionnement de la stratégie est basé sur une analyse synchrone de quatre axes clés de moyenne mobile:
La logique centrale de la stratégie est la suivante:
La particularité de cette stratégie réside dans le fait qu’elle ne poursuit pas les tendances fortes, mais se concentre plutôt sur la saisie des occasions d’oscillations dans les marchés horizontaux, en filtrant les faux signaux de revers dans un environnement de forte tendance par l’analyse technique de l’angle.
Spécialiste du marché horizontalCette stratégie est conçue pour les marchés de volatilité horizontale et évite le piège de la “ poursuite de la chute ” typique des stratégies de suivi de tendance.
Mécanisme de confirmation multiple: Un mécanisme de confirmation à plusieurs niveaux a été construit grâce à l’analyse des moyennes mobiles et des angles de quatre périodes différentes, améliorant la qualité du signal.
Une analyse de l’innovationL’introduction du calcul de l’angle MA150 pour juger de la force et du renversement des tendances du marché est une innovation qui se distingue des systèmes traditionnels de courbe mobile.
Gestion automatisée des risques: La stratégie a intégré un mécanisme de placement automatique basé sur le renversement de la tendance, qui permet de se retirer immédiatement du marché lorsque la tendance majeure change de direction, ce qui permet de contrôler efficacement les risques.
Environnement de négociation visualiséLe “TBO Cloud” et le système de couleurs claires permettent aux traders d’avoir une compréhension intuitive de l’état actuel du marché et de la qualité du signal.
Paramètres modifiables: Tous les paramètres clés sont ajustables pour que la stratégie s’adapte à différents environnements de marché et styles de traders.
Capacité de négociation contre la tendanceEn identifiant les moments de faiblesse temporaire de la tendance, la stratégie peut saisir les occasions de reprise à court terme avant qu’elle ne se poursuive.
Le risque de fausses alertes: Dans les marchés à forte volatilité, les moyennes mobiles peuvent se croiser fréquemment pour produire de faux signaux, entraînant des sur-échanges et des pertes. La solution consiste à ajouter des conditions de filtrage supplémentaires ou à élargir le cycle des moyennes mobiles.
Problème de réaction retardée: En raison de l’utilisation de plusieurs moyennes mobiles, il peut y avoir un certain retard dans la réponse de la stratégie aux changements du marché, en manquant les meilleurs points d’entrée ou de sortie. Le retard peut être réduit en ajustant les paramètres EMA à plus courtes périodes.
Une tendance à l’exactitude: Le calcul de l’angle MA150 utilise des périodes fixes ((5)) pour calculer l’inclinaison et peut ne pas refléter avec précision l’intensité de la tendance dans différentes périodes. Il est recommandé d’ajuster ce paramètre en fonction de la dynamique des périodes de négociation.
Paramètre Sensibilité: Cette stratégie est sensible aux paramètres de moyenne mobile et aux paramètres de seuil d’angle. Les performances des différentes combinaisons de paramètres varient considérablement.
Dépendance à l’environnement de marché: Dans les marchés à forte tendance, la stratégie peut ne pas fonctionner correctement car elle est conçue pour les marchés à plat. Les traders doivent avoir la capacité d’identifier l’état du marché ou de combiner des filtres d’environnement de marché.
Manque de mécanisme de prévention: La stratégie n’a pas de mécanisme de stop-loss explicite, se basant uniquement sur le renversement du signal ou sur la modification de l’angle de la tendance. Dans des situations extrêmes, des pertes plus importantes peuvent être sujettes. Il est recommandé de compléter le mécanisme de stop-loss basé sur un ratio fixe ou une volatilité.
Ajustement des paramètres dynamiquesIl est possible d’introduire des indicateurs de volatilité (comme l’ATR) qui ajustent les périodes et les valeurs de la moyenne mobile en fonction de la volatilité du marché, permettant ainsi à la stratégie de s’adapter aux différentes conditions du marché.
Ajout à l’analyse des prix et quantités: La combinaison d’informations sur le trafic pour vérifier la fiabilité des signaux de croisement de ligne moyenne mobile permet de réduire efficacement les faux signaux en effectuant des transactions uniquement lorsque le croisement est accompagné d’une variation significative du trafic.
Analyse de plusieurs périodes: Introduire des jugements de tendance à des périodes plus élevées pour filtrer les signaux, par exemple en n’entrant que lorsque la direction de la tendance de la ligne solaire est en accord avec le signal de négociation actuel, pour améliorer le taux de réussite global de la stratégie.
Méthode de calcul de l’optimisation des anglesLe calcul de l’angle de cycle fixe est remplacé par un cycle d’adaptation basé sur les fluctuations du marché ou par des méthodes de mesure de l’intensité de la tendance plus avancées telles que l’analyse de régression, ce qui améliore la précision du jugement d’angle.
Augmentation des mécanismes de stop-loss et de profit: ajout de paramètres de stop loss basés sur l’ATR ou le support de la résistance, ainsi que des mécanismes de clôture des bénéfices basés sur le ratio de retour sur risque, amélioration du cadre de gestion des risques.
Filtre d’adhésion au marché: Développer un classificateur de l’état du marché pour identifier si le marché actuel est en tendance, horizontal ou chaotique, et activer la stratégie uniquement dans l’état du marché approprié.
Intégration des algorithmes d’apprentissage automatique: Optimisation du processus de génération et de filtrage des signaux à l’aide de la technologie d’apprentissage automatique, afin de prédire la probabilité de succès des signaux à l’aide de modèles de formation des données historiques.
Le système de négociation multi-mobile équivalent est une stratégie de quantification innovante spécialisée dans les marchés horizontaux, qui construit un cadre de négociation complet à l’aide d’une technique d’analyse des équivalents mobiles et des angles de quatre paramètres différents. Le principal avantage de la stratégie réside dans son approche d’analyse des angles exclusive et innovante pour les marchés horizontaux, capable d’identifier efficacement les points de basculement des tendances du marché et de filtrer les faux signaux. Malgré les risques liés à la sensibilité des paramètres et à la dépendance de l’environnement du marché, la stratégie est susceptible d’améliorer encore les performances en proposant des orientations d’optimisation telles que l’ajustement des paramètres dynamiques, l’analyse des cadres à long terme et l’amélioration des systèmes de gestion des risques.
/*backtest
start: 2024-05-20 00:00:00
end: 2025-05-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDC"}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pabloportugalgarcia
//@version=5
strategy("TBO - Bot", overlay=true)
// Inputs
len_ema20 = input.int(15, minval=1, title="Período Green EMA")
len_ema40 = input.int(100, minval=1, title="Período Red EMA")
len_ma50 = input.int(20, minval=1, title="Período Blue MA")
len_ma150 = input.int(200, minval=1, title="Período Orange MA")
pivot_len = input.int(20, minval=1, title="Período Pivô Suporte/Resistência")
angle_limit = input.float(5, minval=0, title="Ângulo mínimo da MA150 para considerar reversão (graus)")
angle_period = input.int(10, minval=1, title="Período para cálculo do ângulo MA150")
// Médias móveis
ema20 = ta.ema(close, len_ema20)
ema40 = ta.ema(close, len_ema40)
ma50 = ta.sma(close, len_ma50)
ma150 = ta.sma(close, len_ma150)
// Plots das médias/linhas
plot(ema20, color=color.lime, linewidth=1, title="Green EMA")
plot(ema40, color=color.red, linewidth=1, title="Red EMA")
plot(ma50, color=color.blue, linewidth=2, title="Blue MA")
plot(ma150, color=color.orange, linewidth=2, title="Orange MA")
// Nuvem EMA20-EMA40
bull = ema20 > ema40
fill(plot(ema20, color=color.new(color.green, 80)), plot(ema40, color=color.new(color.red, 80)), color=bull ? color.new(color.green, 80) : color.new(color.red, 80), title="TBO Cloud")
// Cruzamentos da Blue MA com Green EMA
maCrossUp = ta.crossover(ma50, ema20) // MA50 cruza PARA CIMA EMA20
maCrossDown = ta.crossunder(ma50, ema20) // MA50 cruza PARA BAIXO EMA20
// === Cálculo do declive e ângulo no período escolhido
ma150_slope = (ma150 - ma150[5]) / 5
ma150_angle = math.atan(ma150_slope) * 180 / math.pi
// Tendência baseada no ângulo
trendUp = ma150_angle > angle_limit
trendDown = ma150_angle < -angle_limit
// Detecta reversão baseada no ângulo
trendDownRevert = trendDown[1] and not trendDown
trendUpRevert = trendUp[1] and not trendUp
// ---- Sinais
buySignal = (ema20 < ema40) and maCrossDown and not trendDown // Só compra se MA150 não está caindo o suficiente
sellSignal = (ema20 > ema40) and maCrossUp and not trendUp // Só vende se MA150 não está subindo o suficiente
if (sellSignal)
strategy.entry("Sell", strategy.short, comment="Sell")
if (buySignal)
strategy.entry("Buy", strategy.long, comment="Buy")
// === FECHE todos os shorts quando:
// 1) Um novo sinal de BUY acontecer
// 2) OU a linha laranja deixar de cair (tendência de baixa reverter)
if (buySignal or trendDownRevert)
strategy.close("Sell", comment="Close shorts")
// === FECHE todos os longs quando:
// 1) Um novo sinal de SELL acontecer
// 2) OU a linha laranja deixar de subir (tendência de alta reverter)
if (sellSignal or trendUpRevert)
strategy.close("Buy", comment="Close Longs")
// Sinais visuais
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, size=size.small, color=color.lime, title="Buy")
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, size=size.small, color=color.blue, title="Sell")
// Debug: plot do ângulo em graus
plot(ma150_angle, color=color.orange, linewidth=1, title="Ângulo MA150")