
La stratégie d’inversion de prix de confirmation multiple est un système de trading quantitatif combinant l’analyse de la forme de l’engulfage et des indicateurs de dynamique. La stratégie consiste principalement à identifier les formes engulfantes du marché et à les combiner avec la confirmation croisée de l’indicateur MACD pour capturer les points de retournement potentiels du marché. L’idée centrale de la stratégie est d’améliorer la fiabilité des signaux de négociation en confirmant plusieurs indicateurs techniques afin d’éviter les risques de fausses percées.
La stratégie fonctionne autour de deux éléments clés de l’analyse technique: la dérive et le croisement des indicateurs MACD.
Dévorer la reconnaissance de forme:
Confirmation croisée du MACD:
Logistique de la fenêtre de temps:
barsSinceBulletbarsSinceBearLes variables permettent de suivre le nombre de colonnes depuis la dernière apparition de l’engloutissement.windowBarsLes signaux de transaction sont déclenchés dans les colonnes (par défaut 3).Conditions d’entrée:
longCondition): Pendant la période de fenêtre après l’apparition de la forme de déglutition de l’observateur, le MACD traverse la ligne de signal.shortCondition): Pendant la période de fenêtre après l’apparition de la forme de déglutition, le MACD a traversé la ligne de signal en dessous de la ligne.Exécution de la transaction:
Mécanisme de confirmation multiple: La stratégie réduit le risque de faux signaux et améliore l’exactitude des transactions en combinant le graphe de coupe et l’indicateur technique. Le graphe d’absorption est une manifestation directe de l’action des prix, tandis que le MACD est un indicateur de la dynamique, qui peut être utilisé pour confirmer les signaux de retournement du marché sous différents angles.
Flexibilité de la fenêtre de temps: stratégie permettant à l’utilisateur de personnaliser le nombre maximal de colons que le croisement MACD doit produire après l’ingestion de la forme ((windowBarsCette flexibilité permet à la stratégie de s’adapter aux caractéristiques de différents marchés et périodes.
Une réponse visuelle claire: La stratégie marque sur le graphique les différents signaux (le mouvement d’absorption de la hausse/de la baisse, le croisement du MACD et le point d’entrée réel), ce qui aide le trader à comprendre et à évaluer intuitivement la performance de la stratégie.
Gestion automatique des positionsLa stratégie de traitement automatique des positions inverses de placement simplifie le processus de gestion des transactions et réduit la possibilité d’erreurs humaines.
Ajustabilité des paramètres: Les paramètres MACD (course rapide, lente et cyclique des lignes de signaux) peuvent être optimisés en fonction des différentes conditions du marché, ce qui améliore l’adaptabilité de la stratégie.
Risque de retardLe MACD, en tant qu’indicateur de retard, peut être en retard dans un marché en évolution rapide, ce qui rend les points d’entrée indésirables. En outre, attendre que les deux conditions soient réunies peut retarder davantage les points d’entrée et potentiellement manquer une partie des variations de prix.
Le marché horizontal est en baisse: Dans un marché horizontal où il n’y a pas de tendance claire, les formes d’absorption et les croisements MACD peuvent générer de nombreux faux signaux, entraînant des transactions fréquentes et des pertes potentielles.
Manque de mécanisme de préventionLa mise en œuvre de la stratégie actuelle n’a pas de mécanisme de stop loss explicite, ce qui pourrait entraîner un risque de baisse plus important en cas de reprise du marché.
Une dépendance excessive à un modèle spécifiqueLa stratégie s’appuie fortement sur une combinaison de morphologie de l’absorption et d’un croisement MACD, sans tenir compte d’autres indicateurs d’informations et d’indicateurs techniques susceptibles d’être importants.
Paramètre Sensibilité: les performances des stratégies peuvent être très sensibles aux paramètres MACD et aux paramètres de taille de la fenêtre. Une mauvaise sélection de paramètres peut entraîner une sur-optimisation et une mauvaise performance future.
Ajouter un filtre de tendanceIl est possible de s’assurer que la direction de la transaction est en accord avec la tendance principale en ajoutant des indicateurs de tendance tels que SMA50 (commenté dans le code) ou d’autres, par exemple, en faisant une plus-value uniquement lorsque le prix est supérieur à SMA50 et une moins-value lorsque le prix est inférieur à SMA50. Cela peut réduire considérablement le risque de transaction contre-courant.
Mise en place d’un mécanisme de prévention et de compensation: Ajouter à la stratégie des objectifs de stop-loss et de profit, tels que des objectifs de profit basés sur l’ATR ou des positions de support/résistance, pour mieux gérer les risques et bloquer les profits.
Sélection des paramètres d’optimisation: Optimisation de la rétroaction des paramètres MACD et de la taille de la fenêtre pour trouver la combinaison optimale de paramètres adaptée à un marché et à une période spécifiques. Considérez l’utilisation d’une méthode de paramétrage auto-adaptative pour ajuster automatiquement les paramètres en fonction de la volatilité du marché.
Ajouter une confirmation de transaction: intégrer l’analyse des volumes de transactions dans la stratégie pour s’assurer que les signaux de renversement sont suffisamment soutenus par les volumes de transactions, ce qui améliore la fiabilité du signal.
Intégration des autres indicateursConsidérez l’ajout d’autres indicateurs techniques tels que le RSI, l’indicateur aléatoire ou les bandes de Brin, afin de créer des conditions de négociation plus complètes et de réduire davantage les faux signaux.
Filtreur de tempsLe filtrage des heures de transaction est mis en place afin d’éviter de négocier pendant les périodes de publication de données économiques importantes ou de volatilité particulièrement élevée.
Optimiser le temps d’entrée: Étudier si les conditions d’entrée peuvent être modifiées pour améliorer le prix d’entrée et réduire les points de glissement possibles (par exemple, en attendant un retrait ou une confirmation de prix).
La stratégie de retournement de prix de confirmation multiple est un système de négociation quantitative qui combine des formes d’absorption et des croisements MACD, conçu pour capturer les retournements de marché par la confirmation de plusieurs indicateurs techniques. Les principaux avantages de la stratégie résident dans son mécanisme de confirmation multiple et sa rétroaction visuelle claire, ce qui contribue à réduire les faux signaux et à améliorer l’exactitude des transactions. Cependant, la stratégie comporte également des risques inhérents, tels que la latence, une mauvaise performance dans les marchés de gré à gré et le manque d’un mécanisme de gestion des risques clair.
Afin d’améliorer la robustesse et la rentabilité de la stratégie, il est recommandé de mettre en œuvre plusieurs optimisations clés: ajouter des filtres de tendance pour s’assurer que la direction des transactions est cohérente avec les principales tendances; mettre en œuvre des mécanismes de stop-loss et de profit appropriés pour gérer les risques; optimiser les paramètres MACD et la taille de la fenêtre pour s’adapter à des conditions de marché spécifiques; et envisager l’intégration d’autres indicateurs techniques pour créer des conditions de négociation plus complètes. Grâce à ces optimisations, les traders peuvent améliorer considérablement la performance de la stratégie, réduire les risques et s’adapter à différents environnements de marché.
Cette approche de confirmation à plusieurs niveaux représente une stratégie de négociation équilibrée qui tente à la fois de saisir les opportunités de revers potentiels et de réduire les risques en demandant plusieurs confirmations. Cela offre un point de départ solide pour les traders quantifiés qui cherchent à construire un système de négociation robuste basé sur l’analyse technique.
/*backtest
start: 2024-06-09 00:00:00
end: 2025-06-08 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Darren - Engulfing + MACD Cross", overlay=true)
// 1. Inputs
// smaLength = input.int(50, "SMA Length")
macdFast = input.int(12, "MACD Fast Length")
macdSlow = input.int(26, "MACD Slow Length")
macdSignal = input.int(9, "MACD Signal Length")
windowBars = input.int(3, "Max Bars Between Engulfing and MACD Cross")
// 2. Indicators
// sma50 = ta.sma(close, smaLength)
// plot(sma50, color=color.blue, title="SMA 50")
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
macdHist = macdLine - signalLine
plot(macdHist, title="MACD Histogram", style=plot.style_columns, color=(macdHist >= 0 ? color.green : color.red))
// 3. Detect Engulfing Patterns
bullEngulfing = (close[1] < open[1]) and (close > open) and (open < close[1]) and (close > open[1])
bearEngulfing = (close[1] > open[1]) and (close < open) and (open > close[1]) and (close < open[1])
// 4. MACD Crosses
macdCrossUp = ta.crossover(macdLine, signalLine)
macdCrossDown = ta.crossunder(macdLine, signalLine)
// 5. Bars Since Last Engulfing
barsSinceBull = ta.barssince(bullEngulfing)
barsSinceBear = ta.barssince(bearEngulfing)
// 6. Entry Conditions
longCondition = (barsSinceBull <= windowBars) and macdCrossUp //and (close > sma50)
shortCondition = (barsSinceBear <= windowBars) and macdCrossDown //and (close < sma50)
// 7. Plot Engulfing & MACD Crossover Markers
// Bullish engulfing on price chart
plotshape(bullEngulfing, title="Bull Engulf", style=shape.labelup, text="Bull", location=location.belowbar, color=color.green, size=size.small)
// Bearish engulfing on price chart
plotshape(bearEngulfing, title="Bear Engulf", style=shape.labeldown, text="Bear", location=location.abovebar, color=color.red, size=size.small)
// MACD cross‐up on price chart
plotshape(macdCrossUp, title="MACD Cross Up", style=shape.triangleup, text="Up", location=location.belowbar, color=color.lime, size=size.tiny)
// MACD cross‐down on price chart
plotshape(macdCrossDown, title="MACD Cross Down", style=shape.triangledown, text="Down", location=location.abovebar, color=color.orange, size=size.tiny)
// 8. Plot Entry Signals
plotshape(longCondition, title="Long Entry", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, title="Short Entry", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// 9. Entries & Exits
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.close("Short")
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.close("Long")