
Il s’agit d’une stratégie de trading quantitatif qui combine les trois principales méthodes d’analyse technique de l’analyse des prix de transaction (VSA), de l’indicateur de variation des convergences des moyennes mobiles (MACD) et de l’écart de valeur juste (FVG). Cette stratégie utilise des indicateurs techniques multidimensionnels pour confirmer les signaux de trading et identifier les zones de potentiel déséquilibre des prix via les zones de FVG, afin de capturer les opportunités de trading avec de fortes fluctuations sur le marché. La stratégie améliore la précision des transactions en tenant compte de manière intégrée des mouvements de prix, des anomalies de volume de transactions et des lacunes de la structure des prix, tout en renforçant l’intuitivité des jugements de trading grâce à une interface visuelle.
Les principes centraux de cette stratégie sont basés sur trois concepts de transaction indépendants mais interdépendants:
Analyse de l’indicateur MACD: La stratégie utilise 12, 26 et 9 comme paramètres pour calculer l’indicateur MACD. Lorsque la ligne MACD (la ligne rapide) se trouve au-dessus de la ligne de signal (la ligne lente) et est positive, elle est jugée comme un signal de hausse; inversement, lorsque la ligne MACD se trouve en dessous de la ligne de signal et est négative, elle est jugée comme un signal de baisse.
VSA (analyse des prix et des volumes): La stratégie détecte la relation entre le prix d’ouverture et le volume. Elle génère un signal de VSA baissier lorsque le prix de clôture est supérieur au prix d’ouverture et que le volume de transactions est supérieur à la moyenne des transactions sur 20 jours et que le prix de clôture dépasse le prix le plus élevé des 5 cycles précédents. Elle génère un signal de VSA baissier lorsque le prix d’ouverture est inférieur au prix d’ouverture et que le volume de transactions est supérieur à la moyenne des transactions sur 20 jours et que le prix d’ouverture dépasse le prix le plus bas des 5 cycles précédents.
Identification du déficit de juste valeur: Stratégie pour détecter les écarts de prix qui existent sur le marché. Identifié comme FVG à la hausse lorsque le prix le plus bas de la courbe est supérieur au prix le plus élevé des deux courbes précédentes et que la courbe précédente est en ligne droite; identifié comme FVG à la baisse lorsque le prix le plus élevé de la courbe est inférieur au prix le plus bas des deux courbes précédentes et que la courbe précédente est en ligne droite.
La génération d’un signal de transaction nécessite que les trois conditions soient réunies:
La stratégie visualise également les zones FVG en les encadrant en rectangles et en ajoutant des balises lors de la génération de signaux de transaction pour améliorer l’intuition des décisions de transaction.
Mécanisme de vérification multidimensionnelleLa combinaison de trois dimensions indépendantes: l’indicateur technique (MACD), l’analyse du volume de transactions (VSA) et l’analyse de la structure des prix (FVG) pour confirmer les signaux de transaction, réduit considérablement le risque de faux signaux et améliore la précision des transactions.
Capture déséquilibrée du marché: Le composant FVG est capable d’identifier efficacement les zones d’inégalité de prix sur le marché, qui représentent généralement des “vacuums de valeur” laissés par les institutions qui entrent et sortent rapidement du marché, offrant des opportunités de transactions à forte probabilité.
Confirmation de la livraison: Assurez-vous qu’il y a suffisamment de volumes de trading soutenus par les signaux de trading via l’analyse VSA, afin d’éviter de négocier dans un environnement de faible liquidité et de réduire le risque de points de glissement et de fausses percées.
Aide à la prise de décision visuelle: Stratégie: Les rectangles de la FVG et les balises de signaux de négociation permettent de visualiser les zones de négociation potentielles et les points d’entrée, aidant les traders à mieux comprendre la structure du marché et la logique des transactions.
Évitez les transactions excessivesLe mécanisme de filtrage de conditions multiples de la stratégie garantit que les signaux de transaction ne sont générés que lorsque des conditions strictes sont remplies, ce qui réduit efficacement les problèmes de surtransaction.
Contrôle de paramètres flexible: La conception du code permet à l’utilisateur d’ajuster les paramètres clés, y compris les paramètres MACD, la dépréciation des volumes de transaction des VSA et les cycles de référence des prix historiques, ainsi que la représentation visuelle des zones FVG, afin que la stratégie puisse s’adapter à différents environnements de marché et styles de négociation individuels.
Rarité du signal: Le MACD est un indicateur en retard qui peut entraîner une entrée tardive et un manque de point de prix optimal dans un marché en évolution rapide. La solution consiste à envisager l’introduction d’un indicateur d’alerte précoce plus sensible, tel que le RSI ou un indicateur aléatoire, en complément.
Faux signaux pendant les hautes ondes: Pendant les périodes de forte volatilité du marché, les composants VSA peuvent générer des signaux erronés en raison d’un volume de transactions important mais sans direction. Il est recommandé d’ajouter un filtre de taux d’oscillation du marché et d’augmenter les critères de confirmation du signal lorsque le taux d’oscillation est anormalement élevé.
Les limites de l’identification du FVG: La reconnaissance FVG actuelle ne prend en compte qu’un intervalle fixe de deux semaines, ce qui peut ne pas s’adapter à toutes les conditions du marché. Une fenêtre de temps d’ajustement dynamique de la reconnaissance FVG ou l’introduction d’une reconnaissance FVG sur plusieurs périodes de temps devraient être envisagées.
La réduction des pertes: La stratégie actuelle n’a pas de mécanisme de stop-loss clair, ce qui peut entraîner des pertes importantes en cas de reprise soudaine de la tendance. Il est recommandé de mettre en œuvre une stratégie de stop-loss basée sur l’ATR ou les points critiques de support / résistance.
L’instabilité du marché: La stratégie ne fait pas de distinction entre les marchés tendanciels et les marchés de choc, ce qui peut générer trop de signaux de négociation dans un environnement de marché inapproprié. Il convient d’envisager d’ajouter des composants de reconnaissance d’état de marché, d’appliquer différents paramètres ou logiques de négociation dans différents états de marché.
Une mauvaise gestion des fondsLa stratégie actuelle consiste à négocier en utilisant des positions fixes sans prendre en compte les ajustements de risque. Il est recommandé de mettre en place un mécanisme d’ajustement de la taille de la position basé sur la volatilité afin d’optimiser l’efficacité des fonds et la gestion des risques.
Intégration de l’analyse de plusieurs périodes: La stratégie actuelle ne fonctionne que sur un seul fuseau horaire et permet d’améliorer la qualité des transactions en intégrant la confirmation de tendances sur des fuseaux horaires plus élevés. La méthode de mise en œuvre consiste à utiliser la fonction de sécurité pour obtenir les signaux MACD et VSA des fuseaux horaires plus élevés et à ne les activer que lorsqu’ils sont conformes à la tendance des fuseaux horaires plus élevés.
Optimisation des paramètres d’adaptation: Modifier les paramètres fixes du MACD et du VSA en paramètres qui s’ajustent automatiquement en fonction de la volatilité du marché. Par exemple, prolonger le cycle MACD pour réduire le bruit dans les marchés à forte volatilité et raccourcir le cycle pour augmenter la sensibilité dans les marchés à faible volatilité. Cette optimisation peut être réalisée en calculant l’ATR récent et en ajustant les paramètres en conséquence.
Délai d’expiration du FVG: Les FVG actuels restent en vigueur une fois formés, mais en fait les FVG devraient avoir une validité ponctuelle. Il est recommandé d’ajouter un mécanisme de désactivation des FVG, par exemple en désactivant les FVG après un certain nombre de lignes K ou après un certain pourcentage de prix éloignés de la zone FVG. Cela peut réduire les transactions erronées basées sur des FVG obsolètes.
Intégration de l’analyse des flux de commandesL’analyse VSA peut être améliorée en intégrant des données plus détaillées sur les flux de commandes (par exemple, le pourcentage de commandes en vrac, les pressions de vente, etc.). Bien que cela nécessite des sources de données supplémentaires, cela peut considérablement améliorer l’exactitude de l’analyse du volume de transactions.
Architecture de gestion des risques: Ajout d’un système complet de gestion des risques comprenant:
Optimisation du machine learning: Considérez l’utilisation d’un modèle d’apprentissage automatique simple pour prédire l’efficacité des zones de FVG. Identifiez les combinaisons de caractéristiques dans lesquelles les FVG sont plus susceptibles d’être compensées par des modèles de formation sur les données historiques, ce qui améliore le taux de réussite des transactions FVG.
La stratégie VSA-MACD-FVG est un système de négociation multidimensionnel permettant d’identifier des opportunités de négociation à haute probabilité en combinant des indicateurs techniques de dynamique, une analyse de volume de transactions et une analyse de la structure des prix. Le principal avantage de la stratégie réside dans le mécanisme de confirmation multifactorielle qui filtre efficacement les faux signaux. Les principaux risques résultent de l’insuffisance d’adaptation du marché causée par la fixation des paramètres et de l’absence d’un système de gestion des risques.
La stratégie a le potentiel d’être un système de négociation plus robuste grâce à l’optimisation des directions de mise en œuvre des recommandations, en particulier l’analyse des cadres temporels multiples, les paramètres d’adaptation et un système de gestion des risques bien développé. Surtout, la stratégie doit être personnalisée en fonction du style de négociation et du marché cible et doit faire l’objet d’une vérification complète avant d’être mise en œuvre sur le terrain.
La stratégie est particulièrement adaptée aux traders à moyen et long terme, en particulier ceux qui se concentrent sur la structure du marché et les flux de capitaux importants. En ajustant et en complétant les mesures de contrôle des risques nécessaires, elle peut maintenir une performance relativement stable dans une variété d’environnements de marché.
/*backtest
start: 2025-01-18 19:45:00
end: 2025-02-26 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"TRUMP_USDT"}]
*/
//@version=5
strategy("VSA_MACD_FVG Strategy", overlay=true)
// === MACD Calculation ===
[macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9)
macdBullish = macdLine > signalLine and macdLine > 0
macdBearish = macdLine < signalLine and macdLine < 0
// === VSA Basic Implementation ===
vsaBullish = close > open and volume > ta.sma(volume, 20) and close > ta.highest(high, 5)[1]
vsaBearish = close < open and volume > ta.sma(volume, 20) and close < ta.lowest(low, 5)[1]
// === FVG (Fair Value Gap) Detection ===
fvgUpCondition = low > high[2] and close[1] > open[1]
fvgDownCondition = high < low[2] and close[1] < open[1]
var float fvgTop = 0.0
var float fvgBottom = 0.0
var bool inFVG = false
// Detect and Store FVG
if fvgUpCondition
fvgTop := low
fvgBottom := high[2]
inFVG := true
else if fvgDownCondition
fvgTop := low[2]
fvgBottom := high
inFVG := true
// Check if price is in FVG
priceInFVG = (high >= fvgBottom and low <= fvgTop)
// === Position Tracking ===
isLongOpen = strategy.position_size > 0
isShortOpen = strategy.position_size < 0
// === Trading Conditions ===
buySignal = vsaBullish and macdBullish and priceInFVG and not isLongOpen
sellSignal = vsaBearish and macdBearish and priceInFVG and not isShortOpen
// === Execute Trades ===
if buySignal
strategy.entry("Buy", strategy.long)
if sellSignal
strategy.entry("Sell", strategy.short)
// === Visual Markers ===
if buySignal
label.new(bar_index, low, "BUY",
color=color.green,
textcolor=color.white,
style=label.style_label_up)
if sellSignal
label.new(bar_index, high, "SELL",
color=color.red,
textcolor=color.white,
style=label.style_label_down)
// === Plot MACD for reference ===
plot(macdLine, "MACD", color=color.blue)
plot(signalLine, "Signal", color=color.orange)
plot(hist, "Histogram", style=plot.style_histogram, color=color.gray)