
Le système de négociation croisée accélérée HMA est une stratégie de suivi de tendance globale qui combine les signaux croisés de Hull Moving Average (HMA) et de Curvature (Curvature) et un mécanisme de gestion du risque basé sur la gamme réelle moyenne (Average True Range, ATR). La stratégie détermine la direction de la tendance du marché en croisant des HMA rapides et lents, tout en utilisant l’indicateur de courbure pour sélectionner les signaux qui ont suffisamment de dynamisme et en utilisant ATR dynamiquement pour mettre en place des arrêts et des positions de perte, ce qui permet de réduire efficacement la volatilité du marché.
Les principes de base de cette stratégie s’articulent autour de trois composantes clés:
Système de signalisation croisée HMA:
Filtre à moteur de courbure:
Cadre de gestion des risques basé sur l’ATR:
La logique d’exécution des transactions est claire: lorsque le HMA rapide traverse le HMA lent et que la courbure est positive, l’ouverture de la position est plus élevée; lorsque le HMA rapide traverse le HMA lent et que la courbure est négative, l’ouverture de la position est vide. La stratégie d’exit utilise un stop loss de suivi basé sur l’ATR, qui est ajusté en conséquence lorsque le prix se déplace dans la direction favorable.
Une grande capacité d’adaptationLa HMA elle-même est sensible aux variations de prix et la stratégie globale peut ajuster automatiquement la distance de rupture et la taille de la position en fonction de la volatilité du marché, ce qui lui permet de maintenir une performance relativement cohérente dans différents environnements de marché.
Filtration de qualité: grâce à l’application d’indicateurs de courbure, la stratégie est capable d’identifier et de filtrer les signaux de manque de dynamique et d’entrer en jeu uniquement lorsque la tendance a suffisamment d’accélération, réduisant considérablement les fausses ruptures et les transactions inefficaces.
Les risques sont maîtrisésLe système de gestion des risques basé sur l’ATR garantit que le risque de chaque transaction est toujours maintenu à son niveau prédéterminé et qu’aucune transaction, quelle que soit la volatilité du marché, ne peut entraîner de pertes importantes.
Gestion dynamique des positionsStratégie: calcul des positions optimales en fonction de la volatilité du marché et de la dynamique des fonds du compte, réduction automatique des positions en cas de volatilité élevée, augmentation modérée des positions en cas de volatilité faible, équilibre entre l’efficacité des fonds et la maîtrise des risques.
Un cadre de négociation complet: La stratégie fournit un système de trading complet de la génération de signaux, des conditions d’entrée, du calcul des positions à la gestion des arrêts de perte, sans avoir besoin de compléter d’autres modules.
Capacité de négociation bidirectionnelle: Prise en charge de la négociation bidirectionnelle en cours et en négatif, permettant de rechercher des opportunités de profit dans diverses tendances du marché, sans se limiter à une seule direction.
Le marché de la victoire: En tant que stratégie de suivi des tendances, il est possible de subir de petites pertes consécutives, communément appelées “ blanchiment “, dans un environnement de marché horizontal ou fréquemment volatile. La solution consiste à ajouter un module d’identification de l’état du marché, à suspendre les transactions ou à ajuster les paramètres lorsqu’il est identifié qu’il s’agit d’un marché volatile.
Paramètre SensibilitéLes performances stratégiques sont sensibles aux paramètres tels que les cycles HMA, les seuils de courbure et les multiples ATR. Une mauvaise sélection des paramètres peut entraîner une survente des transactions ou la perte de tendances importantes. Il est recommandé d’optimiser les paramètres en les testant dans différents environnements de marché ou d’envisager de mettre en œuvre un mécanisme d’adaptation automatique.
Les points de glissement et les risques de liquidité: Dans les marchés très volatils, le prix d’exécution réel peut être très éloigné du prix de signal. En particulier pour les variétés moins liquides, ce glissement peut avoir un impact significatif sur la performance de la stratégie.
Les failles de risque systémique: la stratégie peut avoir une position plus importante dans un environnement de forte tendance, si le marché subit un revirement soudain (comme un choc majeur), le suivi des arrêts de perte peut ne pas être en mesure de protéger les fonds en temps opportun. La mise en place d’un seuil de stop-loss absolu ou l’introduction d’un mécanisme de détection des mutations de volatilité peuvent être envisagées comme protection supplémentaire.
Filtrage de la courbure trop strict: un seuil de courbure trop élevé peut entraîner une tendance initiale manquée, tandis qu’un seuil trop bas peut introduire un signal de bruit excessif. Il est nécessaire de trouver un point d’équilibre dans le backtest ou de considérer un ajustement du seuil en fonction de la dynamique du marché.
Confirmation de plusieurs périodes:
Threshold de la courbure d’adaptation:
Introduction de la confirmation de livraison:
Gestion intelligente des pertes et des pertes:
Ajout de l’analyse de la courbure de la différence HMA:
Optimisation des stratégies de gestion des fonds:
Le système de négociation croisée accélérée HMA est une stratégie de suivi de tendance bien conçue qui, en combinant le croisement HMA, le filtrage de la dynamique de la courbe et la gestion du risque ATR, construit un cadre de négociation complet et puissant. Le principal avantage de cette stratégie réside dans sa capacité d’adaptation et sa maîtrise complète du risque, qui permet de protéger les fonds de négociation tout en capturant les tendances du marché.
Les stratégies sont particulièrement adaptées aux marchés qui présentent des caractéristiques de tendance évidentes, mais peuvent être confrontées à des défis dans les marchés instables. Les performances des stratégies sont susceptibles d’être encore améliorées par la mise en œuvre des mesures d’optimisation recommandées, en particulier la confirmation des paramètres de multi-temps et d’adaptation.
Il est à noter que toute stratégie de trading doit être validée par un suivi historique et des transactions simulées adéquats, ainsi que par des ajustements de paramètres en fonction des caractéristiques spécifiques du marché et des préférences de risque personnelles. La stratégie fournit un cadre équilibré d’analyse technique, de théorie des dynamiques et de gestion des risques, mais sa mise en œuvre réussie nécessite toujours un ajustement minutieux et une surveillance continue des traders.
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("HMA Crossover + ATR + Curvature (Long & Short)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
fastLength = input.int(15, title="Fast HMA Period")
slowLength = input.int(34, title="Slow HMA Period")
atrLength = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, minval=0.1, maxval=10, title="Risk per Trade (%)")
atrMult = input.float(1.5, title="Stop Loss ATR Multiplier")
trailMult = input.float(1.0, title="Trailing Stop ATR Multiplier")
curvThresh = input.float(0.0, step=0.01, title="Curvature Threshold (Min Acceleration)")
// === Calculations ===
fastHMA = ta.hma(close, fastLength)
slowHMA = ta.hma(close, slowLength)
atr = ta.atr(atrLength)
// Curvature: approximate second derivative (acceleration)
curv = ta.change(ta.change(fastHMA))
// Entry Conditions
bullish = ta.crossover(fastHMA, slowHMA) and curv > curvThresh
bearish = ta.crossunder(fastHMA, slowHMA) and curv < -curvThresh
// Risk Management
stopLoss = atr * atrMult
trailStop = atr * trailMult
capital = strategy.equity
riskCapital = capital * (riskPercent / 100)
qty = riskCapital / stopLoss
// === Strategy Logic ===
if (bullish)
strategy.entry("Long", strategy.long, qty=qty)
strategy.exit("Long Trail Stop", from_entry="Long", trail_points=trailStop, trail_offset=trailStop)
if (bearish)
strategy.entry("Short", strategy.short, qty=qty)
strategy.exit("Short Trail Stop", from_entry="Short", trail_points=trailStop, trail_offset=trailStop)
plotshape(bullish, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(bearish, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")