
Il s’agit d’une stratégie de trading quantitative basée sur les écarts de juste valeur (Fair Value Gaps, FVG), inspirée des concepts de Smart Money Concepts (SMC) et de la théorie des déséquilibres de prix dans les transactions institutionnelles. La stratégie déclenche des transactions de signaux en identifiant des points de micro-débalance dans le marché lorsque les prix réentrent dans ces zones.
Le cœur de la stratégie est d’identifier et d’exploiter les lacunes de juste valeur (FVG). Les FVG sont des zones où les prix sautent sur une courte période de temps, ces zones représentent des niveaux de prix qui ne sont pas pleinement négociés sur le marché, et sont généralement considérées comme des zones où les prix sont susceptibles de se replier à l’avenir.
La stratégie est basée sur deux types de FVG:
La logique de la transaction est la suivante:
La stratégie contient également un filtre de dépréciation pour filtrer les lacunes suffisamment grandes pour éviter le moindre bruit du marché. L’utilisateur peut définir manuellement le pourcentage de dépréciation ou choisir le mode automatique pour que la stratégie ajuste les dépréciations en fonction de la dynamique de la volatilité historique.
Identifier la structure du micro-marchéLes stratégies captent les structures et les déséquilibres de micro-marchés qui peuvent être négligés par l’analyse technique classique et qui représentent souvent des traces de l’activité des fonds institutionnels.
Le point d’entrée exactLa stratégie fournit un signal d’entrée objectif et précis, réduisant les erreurs de jugement subjectives, grâce à des conditions de FVG clairement définies.
Des contrôles rigoureux des risques: Le paramètre de stop-loss fixe de 0,10% assure un contrôle strict du risque de chaque transaction, ce qui convient aux traders qui gèrent leurs fonds avec rigueur.
ÉvolutivitéLe cadre stratégique est conçu pour être flexible et s’adapter aux différentes conditions du marché en ajoutant des filtres supplémentaires ou en ajustant les paramètres.
Aucun problème de retouche: La mise en œuvre du code évite les problèmes de redimensionnement et assure la cohérence des résultats de l’historique avec les performances du disque réel.
Adaptation à plusieurs périodes: L’utilisateur peut personnaliser les paramètres de la fourchette de temps, ce qui permet à la stratégie de s’adapter à différents environnements de négociation, allant de 1 minute à des périodes de temps plus longues.
Fréquence élevée des transactions sur courte ligneLes stratégies ciblant les déséquilibres microscopiques peuvent générer de nombreux signaux de transaction, augmentant les coûts de transaction, ce qui est particulièrement important dans les environnements de transactions à haute fréquence.
Les nuisances sonores: Dans les marchés à faible volatilité ou horizontaux, les signaux FVG peuvent contenir plus de bruit, ce qui entraîne une augmentation des faux signaux.
Risque de stop-loss fixeLe stop fixe de 0,10% offre un contrôle strict du risque, mais peut être trop serré dans des marchés très volatils, ce qui entraîne des déclenchements fréquents.
Le risque d’un renversement: Dans un marché en forte tendance, un signal inverse du FVG peut conduire à des transactions contraires à la tendance dominante, augmentant ainsi la probabilité de pertes.
Paramètre Sensibilité: Le réglage des paramètres de seuil a un impact significatif sur la performance de la stratégie. Des paramètres inappropriés peuvent entraîner une suroptimisation ou un signal manqué.
Les moyens de réduire le risque sont les suivants:
Système adaptatif à la marge: La stratégie actuelle inclut déjà des options de dépréciation automatique, mais peut être optimisée davantage en tant que système d’adaptation basé sur des indicateurs de volatilité du marché (comme l’ATR), permettant à la FVG de s’adapter plus précisément à la situation actuelle du marché.
Confirmation de plusieurs périodes: Introduction de l’analyse multi-châtres, exécutant les transactions uniquement lorsque la direction de la tendance des cadres horaires plus élevés est conforme au signal FVG, améliorant ainsi le taux de victoire.
Défaillance / arrêt dynamiqueRemplacement du stop/stop fixe de 0,10% par un paramètre dynamique basé sur la volatilité du marché, élargissant automatiquement la zone de stop en cas d’augmentation de la volatilité et rétrécissant la zone en cas de baisse de la volatilité.
Confirmation de la transaction: Ajout d’une analyse de volume de transaction lors de la formation du FVG et de la réentrée des prix, exécutant les transactions uniquement si elles sont suffisamment soutenues par le volume de transaction, réduisant ainsi les faux signaux.
Catégorie des états du marché: système de reconnaissance automatique de l’état du marché (trend, intervalle, haute/basse volatilité), afin d’ajuster les paramètres de la stratégie ou de suspendre la négociation en fonction des différentes conditions du marché.
Le renforcement de l’apprentissage automatique: Analyse de la probabilité de succès des modèles FVG historiques par des algorithmes d’apprentissage automatique et élabore des modèles prédictifs pour évaluer la probabilité de succès potentiel des signaux FVG actuels.
Ces orientations d’optimisation améliorent non seulement la robustesse de la stratégie, mais également sa capacité à s’adapter aux différents environnements de marché, ce qui peut potentiellement améliorer la rentabilité globale et réduire les retraits.
La stratégie de l’écart de juste valeur est un système de négociation quantifié et techniquement sophistiqué, axé sur la capture des déséquilibres de prix dans la microstructure du marché. En identifiant et en exécutant avec précision le FVG, la stratégie fournit aux traders de courte ligne et aux traders algorithmiques un cadre de négociation avec des règles claires et des contrôles de risque stricts.
Bien que la stratégie ait déjà démontré sa capacité à capturer des déséquilibres de prix microscopiques dans sa version de base, les performances de la stratégie peuvent être encore améliorées par la mise en œuvre des directions d’optimisation proposées, en particulier par le système de paramètres adaptatifs et la confirmation de plusieurs périodes. C’est une méthode à considérer pour les traders qui cherchent à exécuter une stratégie de trading quantitative et rigoureuse dans un court laps de temps.
En fin de compte, le succès de la stratégie dépend de la compréhension approfondie du concept de FVG par le trader et de sa capacité à ajuster les paramètres en fonction des différentes conditions du marché. Combinée à une gestion appropriée des risques et à une optimisation continue, la stratégie de la faille de juste valeur peut être un outil efficace dans le portefeuille de transactions quantifiées.
/*backtest
start: 2024-07-09 00:00:00
end: 2025-07-04 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("FVG Strategy [algo ] - 0.10% TP/SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
thresholdPer = input.float(0, "Threshold %", minval = 0, maxval = 100, step = .1, inline = 'threshold')
auto = input(false, "Auto", inline = 'threshold')
tf = input.timeframe("", "Timeframe")
// SL/TP settings (0.10% each)
sl_pct = 0.10
tp_pct = 0.10
// === TYPE ===
type fvg
float max
float min
bool isbull
int t = time
// === DETECTION FUNCTION ===
detect() =>
var new_fvg = fvg.new(na, na, na, na)
threshold = auto ? ta.cum((high - low) / low) / bar_index : thresholdPer / 100
bull_fvg = low > high[2] and close[1] > high[2] and (low - high[2]) / high[2] > threshold
bear_fvg = high < low[2] and close[1] < low[2] and (low[2] - high) / high > threshold
if bull_fvg
new_fvg := fvg.new(low, high[2], true)
else if bear_fvg
new_fvg := fvg.new(low[2], high, false)
[bull_fvg, bear_fvg, new_fvg]
// === FVG Detection ===
[bull_fvg, bear_fvg, new_fvg] = request.security(syminfo.tickerid, tf, detect())
var fvg_records = array.new<fvg>(0)
var t = 0
if (bull_fvg or bear_fvg) and new_fvg.t != t
array.unshift(fvg_records, new_fvg)
t := new_fvg.t
// === ENTRY STRATEGY ===
if array.size(fvg_records) > 0
latest = array.get(fvg_records, 0)
// BUY Logic
if latest.isbull and close <= latest.max and close >= latest.min and strategy.position_size <= 0
sl = close * (1 - sl_pct / 100)
tp = close * (1 + tp_pct / 100)
strategy.entry("Buy FVG", strategy.long)
strategy.exit("TP/SL Long", from_entry="Buy FVG", stop=sl, limit=tp)
// SELL Logic
if not latest.isbull and close >= latest.min and close <= latest.max and strategy.position_size >= 0
sl = close * (1 + sl_pct / 100)
tp = close * (1 - tp_pct / 100)
strategy.entry("Sell FVG", strategy.short)
strategy.exit("TP/SL Short", from_entry="Sell FVG", stop=sl, limit=tp)
// === VISUALIZE FVG ZONES ===
plotshape(bull_fvg, title="Bullish FVG", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bear_fvg, title="Bearish FVG", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)