
La stratégie est un système de trading quantitatif qui combine plusieurs indicateurs techniques pour capturer les opportunités de retournement de la valeur moyenne du marché tout en suivant la direction de la tendance globale à des périodes plus élevées. La stratégie utilise principalement la technique de Heikin-Ashi pour lisser les mouvements de prix, en combinaison avec les bandes de Bollinger pour identifier les zones de survente et de survente et la confirmation de la tendance globale du marché par le croisement de l’EMA avec l’indice de la zone haute.
Le principe de base de cette stratégie repose sur les composants techniques clés suivants:
Calcul de la carte d’Achille: à l’aide d’une méthode de calcul spéciale (((prix d’ouverture + prix le plus élevé + prix le plus bas + prix de clôture) /4) pour créer un mouvement de prix lisse, réduire le bruit du marché et afficher plus clairement la direction de la tendance.
Application de la ceinture de Brin: Appliquer les bandes de Boolin aux prix de Heiken et Ashe pour créer des zones de support et de résistance dynamiques. Les paramètres des bandes de Boolin prennent par défaut une longueur de 20 cycles et un écart de 2 fois la norme, et peuvent être ajustés en fonction des caractéristiques du marché.
Confirmation de la tendance à l’EMA dans la zone haute: la stratégie utilise un croisement entre une EMA rapide ((9 cycles) et une EMA lente ((21 cycles) de la zone haute ((180 minutes par défaut) pour déterminer la tendance globale du marché. Lorsque l’EMA rapide est au-dessus de l’EMA lente, une tendance haussière est confirmée; à l’inverse, une tendance baissière est confirmée.
Mécanisme de génération du signal:
Cadre de gestion des risques:
Cette stratégie est essentiellement une stratégie hybride de “retrocession moyenne + suivi de tendance” qui cherche des opportunités de reprise après un écart de prix à court terme, tout en s’assurant que ces transactions sont conformes à la direction de la tendance globale sur des périodes de temps plus longues, ce qui augmente le taux de réussite.
Mécanisme de confirmation multipleCette stratégie a intégré plusieurs outils d’analyse technique (Haken Achill, Brin Belt, EMA Cross) pour former un système de confirmation multiple rigoureux, réduire les faux signaux et améliorer la précision d’entrée.
Conception de la transaction en cours: Confirmation de la tendance globale du marché par le croisement des EMA des zones de pointe, assurant que toutes les transactions sont conformes à la direction de la tendance dominante, évitant ainsi un risque élevé de trading à contre-courant.
Application du principe de la régression à la valeur moyenne: stratégie qui exploite les caractéristiques de la régression des valeurs moyennes du marché pour rechercher des opportunités de reprise après une courte déviation des prix (toucher les bandes de Brin), une idée de trading statistiquement prouvée.
Le bruit des prixLa technologie de Haiken Achievement Graphics réduit efficacement le bruit du marché, rendant la direction de la tendance et les points de retournement potentiels plus clairs et réduisant les erreurs de transaction causées par le bruit du marché.
Gestion systématique des risques: La stratégie intègre un cadre complet de gestion des risques, comprenant des paramètres de stop-loss clairs, des stratégies de profit partiel et un mécanisme de suivi des stop-loss, ce qui assure la maîtrise des risques d’une seule transaction tout en permettant aux bénéfices de continuer à croître.
Très adaptable: Bien que la stratégie dispose d’un paramètre par défaut, les paramètres clés (tels que les cycles EMA, la longueur et l’écart standard des bandes de Bryn, le choix du fuseau horaire le plus élevé) peuvent être ajustés en fonction des différentes conditions du marché et des variétés de transactions, offrant une bonne adaptabilité.
Les commentaires visuels sont clairs: La stratégie fournit des signaux visuels clairs (marquage en triangle et changement de couleur de fond), permettant aux traders d’identifier facilement les points d’entrée, ce qui améliore la disponibilité de la stratégie.
Retour à la valeur moyenne: Dans un marché à forte tendance, les prix peuvent continuer à s’écarter de la moyenne sans revenir, entraînant une série de transactions à perte. Ce risque est particulièrement évident lorsque la structure du marché change radicalement (comme les événements d’actualité majeurs).
Paramètre SensibilitéLa performance stratégique est sensible aux cycles EMA, aux paramètres des bandes de Brin et à la sélection des zones de pointe. Une configuration inappropriée des paramètres peut entraîner un trop grand nombre de faux signaux ou la perte d’importantes opportunités de négociation.
Points de glissement et risques d’exécutionStratégie: Utilise le plus haut/le plus bas de la barre précédente comme point d’arrêt, dans un marché très volatil, il peut y avoir un problème de point de glissement grave.
Le modèle historique est toujours efficace.La stratégie est basée sur l’hypothèse que les modèles de prix qui ont fonctionné dans le passé resteront valables dans le futur, mais que les conditions du marché peuvent changer.
Risques liés à la surventeDans un marché très volatil mais sans direction claire, la stratégie peut générer trop de signaux, ce qui entraîne des transactions fréquentes et une érosion des commissions.
La dépendance au marché uniqueLes stratégies peuvent bien fonctionner dans certaines conditions de marché, mais pas dans d’autres.
Adaptation des paramètresLes stratégies actuelles utilisent des cycles d’EMA fixes et des paramètres de la bande de Brin. Des mécanismes d’ajustement automatique basés sur la volatilité du marché peuvent être introduits. Par exemple, les bandes de Brin peuvent être resserrées pendant les périodes de faible volatilité (réduire l’écart-type) et les bandes de Brin peuvent être élargies pendant les périodes de forte volatilité.
Ajout d’un filtre de force de tendance: vous pouvez ajouter ADX (indice de direction moyenne) ou un indicateur similaire pour mesurer la force de la tendance et ne négocier que lorsque la force de la tendance atteint un certain seuil. Cela réduira les faux signaux dans les marchés en tendance faible ou en tremblement.
Améliorer les stratégies de stop loss: le stop fixe actuel peut être remplacé par un stop dynamique basé sur l’ATR (la moyenne de la portée réelle), qui reflète mieux la volatilité réelle du marché. En outre, un stop intelligent basé sur la structure des prix (comme le support / résistance le plus récent) peut être réalisé.
Augmenter le filtrage des heures de transactionAjout de filtres de temps de négociation, évitant les périodes de marché à faible liquidité ou à forte volatilité (comme les périodes d’ouverture et de fermeture du marché), ce qui réduira les mauvaises transactions causées par des fluctuations anormales du marché.
Coordination dans plusieurs cadres horaires: En plus de la confirmation de tendance EMA des fuseaux horaires hauts actuellement utilisée, il est possible d’ajouter la confirmation de plus de fuseaux horaires, formant un système de coordination multi-fuseaux horaires, améliorant encore la qualité de l’entrée.
Augmentation de l’analyse du volume des transactionsLe risque de fausse rupture est réduit en combinant les données de volume des transactions pour confirmer l’efficacité de l’action des prix, en particulier lors de la rupture et de la réévaluation des bandes de Brin.
Optimisation du machine learning: optimiser la sélection des paramètres et la génération de signaux en utilisant des techniques d’apprentissage automatique, afin d’adapter automatiquement les comportements stratégiques en fonction des différentes conditions du marché, ce qui permet un niveau plus élevé d’adaptabilité.
Intégrer un déclencheur de basePour les marchés les plus affectés par les fondamentaux, il est possible d’envisager l’intégration d’un déclencheur de données fondamentales, afin d’ajuster automatiquement ou de suspendre les transactions avant la publication de données économiques importantes, afin d’éviter un risque de volatilité élevé et imprévisible.
La stratégie de retournement des valeurs moyennes de la zone EMA des hautes heures de Hachem Akbar est un système de trading quantitatif bien structuré qui combine habilement les deux concepts de trading de suivi de la tendance et de retournement des valeurs moyennes. Grâce au traitement en douceur du graphique des hautes heures de Hachem Akbar, à la définition de la volatilité de la zone Brin et à la confirmation de la tendance des EMA des hautes heures, la stratégie est capable d’identifier des opportunités d’entrée à forte probabilité tout en réduisant le bruit du marché.
Le principal avantage de la stratégie réside dans son mécanisme de confirmation à plusieurs niveaux et son cadre complet de gestion des risques, ce qui lui permet de contrôler efficacement les risques tout en conservant un taux de réussite élevé. En particulier, sa conception partielle de prise de bénéfices et de suivi des arrêts de perte, qui protège les bénéfices réalisés et permet à la fois la croissance des positions rentables, reflète les principes éprouvés de la psychologie du trading.
Cependant, la stratégie est également exposée à des risques tels que l’échec de la régression moyenne, la sensibilité des paramètres et les changements de conditions du marché. La robustesse et l’adaptabilité de la stratégie peuvent être encore renforcées par la mise en œuvre de mesures d’optimisation telles que l’ajustement des paramètres d’adaptation, l’ajout de filtres d’intensité de tendance et l’amélioration des stratégies de stop-loss.
En fin de compte, la réussite de cette stratégie nécessite que les traders comprennent ses principes de base, choisissent le marché et le calendrier appropriés, et continuent de surveiller et d’ajuster les paramètres pour s’adapter à l’environnement de marché en constante évolution. C’est un système de trading à considérer pour les traders quantifiés qui cherchent à concilier rigueur technique et utilité.
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("EMATREND+HEIKENASHIENTRY", overlay=true, process_orders_on_close=true)
// === INPUT PARAMETERS ===
// Bollinger Bands Parameters
bbLength = input.int(20, title="Bollinger Bands Length", minval=1)
bbStdDev = input.float(2.0, title="Bollinger Bands Standard Deviation", minval=0.1, step=0.1)
// REPLACED SuperTrend with EMA Crossover Parameters
fastLength = input.int(9, title="Fast EMA Period", minval=1)
slowLength = input.int(21, title="Slow EMA Period", minval=1)
htf = input.timeframe("180", title="Higher Timeframe")
// === HEIKIN-ASHI CALCULATION ===
var float haOpen = na
haClose = (open + high + low + close) / 4
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, haOpen, haClose)
haLow = math.min(low, haOpen, haClose)
// === BOLLINGER BANDS ON HEIKIN-ASHI ===
basis = ta.sma(haClose, bbLength)
dev = bbStdDev * ta.stdev(haClose, bbLength)
upperBB = basis + dev
lowerBB = basis - dev
// === REPLACED SuperTrend with EMA Crossover Trend Detection ===
// Get HTF EMAs
htf_fast_ema = request.security(syminfo.tickerid, htf, ta.ema(close, fastLength), lookahead=barmerge.lookahead_off)
htf_slow_ema = request.security(syminfo.tickerid, htf, ta.ema(close, slowLength), lookahead=barmerge.lookahead_off)
// Determine trend direction
isBullishHTF = htf_fast_ema > htf_slow_ema
isBearishHTF = htf_fast_ema < htf_slow_ema
// === SIGNAL GENERATION ===
// Buy Conditions
redCandle1 = haClose[1] < haOpen[1] and (haLow[1] <= lowerBB[1] or haClose[1] <= lowerBB[1])
redCandle2 = haClose[2] < haOpen[2] and (haLow[2] <= lowerBB[2] or haClose[2] <= lowerBB[2])
redCandle3 = haClose[3] < haOpen[3] and (haLow[3] <= lowerBB[3] or haClose[3] <= lowerBB[3])
consecutiveBears = (redCandle1 and redCandle2) or (redCandle1 and redCandle2 and redCandle3)
greenConfirmation = haClose > haOpen
aboveBB = haClose > lowerBB
buySignal = isBullishHTF and consecutiveBears and greenConfirmation and aboveBB
// Sell Conditions
greenCandle1 = haClose[1] > haOpen[1] and (haHigh[1] >= upperBB[1] or haClose[1] >= upperBB[1])
greenCandle2 = haClose[2] > haOpen[2] and (haHigh[2] >= upperBB[2] or haClose[2] >= upperBB[2])
greenCandle3 = haClose[3] > haOpen[3] and (haHigh[3] >= upperBB[3] or haClose[3] >= upperBB[3])
consecutiveBulls = (greenCandle1 and greenCandle2) or (greenCandle1 and greenCandle2 and greenCandle3)
redConfirmation = haClose < haOpen
belowBB = haClose < upperBB
sellSignal = isBearishHTF and consecutiveBulls and redConfirmation and belowBB
// === RISK MANAGEMENT ===
var float entryPrice = na
var float initialStop = na
var float firstTarget = na
var bool firstTargetReached = false
var float trailStop = na
// Enter Long Positions
if buySignal
entryPrice := close
initialStop := low[1]
firstTarget := entryPrice + (entryPrice - initialStop)
firstTargetReached := false
trailStop := na
strategy.entry("Long", strategy.long)
// Enter Short Positions
if sellSignal
entryPrice := close
initialStop := high[1]
firstTarget := entryPrice - (initialStop - entryPrice)
firstTargetReached := false
trailStop := na
strategy.entry("Short", strategy.short)
// Manage Long Positions
if strategy.position_size > 0
if not firstTargetReached
if high >= firstTarget
strategy.close("Long", qty_percent=50)
firstTargetReached := true
trailStop := entryPrice
else
trailStop := math.max(trailStop, low[1])
currentStop = firstTargetReached ? trailStop : initialStop
if low <= currentStop
strategy.close("Long")
// Manage Short Positions
if strategy.position_size < 0
if not firstTargetReached
if low <= firstTarget
strategy.close("Short", qty_percent=50)
firstTargetReached := true
trailStop := entryPrice
else
trailStop := math.min(trailStop, high[1])
currentStop = firstTargetReached ? trailStop : initialStop
if high >= currentStop
strategy.close("Short")
// === VISUALIZATION ===
plot(upperBB, color=color.blue, title="Upper BB")
plot(basis, color=color.blue, title="Basis")
plot(lowerBB, color=color.blue, title="Lower BB")
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")
bgcolor(buySignal ? color.new(color.green, 90) : sellSignal ? color.new(color.red, 90) : na)
// === ALERT CONDITIONS ===
alertcondition(buySignal, title="EMATREND+HEIKENASHIENTRY Buy Alert", message="Buy Signal Triggered - EMATREND+HEIKENASHIENTRY")
alertcondition(sellSignal, title="EMATREND+HEIKENASHIENTRY Sell Alert", message="Sell Signal Triggered - EMATREND+HEIKENASHIENTRY")