Stratégie d'écart de juste valeur inversée


Date de création: 2025-07-03 11:29:05 Dernière modification: 2025-07-04 11:38:50
Copier: 0 Nombre de clics: 290
2
Suivre
319
Abonnés

Stratégie d’écart de juste valeur inversée Stratégie d’écart de juste valeur inversée

Aperçu de la stratégie

Cette stratégie est un système de négociation basé sur l’inverted fair value gap (IFVG) combinant la confirmation de tendance et le suivi dynamique des arrêts de perte. Cette stratégie identifie d’abord les écarts de juste valeur dans le marché, puis cherche les signaux de retour de ces écarts, tout en confirmant la tendance globale du marché à l’aide d’une moyenne mobile simple (SMA), et enfin, en utilisant une moyenne réelle (ATR), en mettant en place un suivi dynamique des arrêts de perte pour optimiser la gestion des risques.

Principe de stratégie

Au cœur de la stratégie se trouve l’identification et l’exploitation des lacunes de juste valeur (FVG) pour inverser la tendance. Les principes de la stratégie peuvent être divisés en plusieurs étapes clés:

  1. FVG reconnu: La stratégie détecte d’abord l’écart de juste valeur, c’est-à-dire les zones de prix qui se forment lorsque le prix le plus bas d’une ligne K est supérieur au prix le plus élevé de la ligne K précédente (FVG baissier) ou lorsque le prix le plus élevé d’une ligne K est inférieur au prix le plus bas de la ligne K précédente (FVG baissière). Ces zones représentent des niveaux de prix non négociés lorsque le marché se déplace rapidement.

  2. Confirmé par IFVGL’IFVG est confirmée lorsque le prix est supérieur au sommet du FVG baissier et le prix de clôture est supérieur au prix d’ouverture, ou inférieur au sommet du FVG baissier et le prix de clôture est inférieur au prix d’ouverture.

  3. Confirmation de la tendance: La stratégie utilise les moyennes mobiles simples (SMA) à 50 et 200 cycles pour déterminer la tendance du marché. Lorsqu’une SMA à court terme (SMA à 50 cycles) est supérieure à une SMA à long terme (SMA à 200 cycles), une tendance haussière est confirmée; au contraire, une tendance baissière est confirmée.

  4. Conditions d’entrée:

    • Multiconditionnement: lorsque l’IFVG se forme, le prix est inférieur au point bas de l’IFVG et le marché est en hausse
    • Conditions de dépréciation: lorsque l’IFVG est formé, le prix est supérieur au pic de l’IFVG et le marché est en baisse
  5. Gestion des risques:

    • Le stop-loss initial est fixé à 0,5% du prix d’entrée
    • L’objectif de stop-loss est de 1,5% du prix d’entrée.
    • Démarrage du suivi dynamique des arrêts de perte lorsque les bénéfices atteignent la moitié de l’objectif de stop-loss (0,75%)
    • Tracking Stop Loss est basé sur l’ATR ((14) d’ajustement dynamique, assurant une plus grande réserve de prix en cas d’intensification des fluctuations du marché

Avantages stratégiques

  1. Mécanisme de confirmation multipleCette stratégie combine la structure des prix (IFVG), l’orientation des tendances (SMA) et la gestion dynamique des risques (ATR) pour former un système de filtrage à plusieurs niveaux qui réduit considérablement les faux signaux.

  2. La structure du marché est déterminanteEn identifiant les FVG et les IFVG, la stratégie est capable de capturer les changements de la microstructure du marché, qui représentent généralement des déséquilibres et des opportunités de direction possibles dans les forces d’achat et de vente à court terme.

  3. Conformité des tendancesLa stratégie consiste à négocier uniquement dans le sens de la tendance, évitant ainsi le risque élevé de négocier à contre-courant.

  4. Gestion dynamique des risques: La stratégie impose non seulement des niveaux fixes de stop-loss et de stop-loss, mais également un stop-loss de suivi dynamique basé sur l’ATR, capable d’adapter le niveau de protection en fonction de la volatilité du marché.

  5. Protéger le profit: Lorsque la transaction atteint la moitié de la valeur de la position de profit, le stop loss se déplace automatiquement au-dessus de la position de garantie, assurant que la transaction ne passe pas de la valeur de la position de profit à la valeur de la position de perte.

  6. Flexibilité du calendrier: Bien que les retours soient effectués sur des cycles d’une minute, la logique centrale de la stratégie (FVG, confirmation de tendance et arrêt dynamique) s’applique à plusieurs périodes.

Risque stratégique

  1. Problème de fiabilité du FVG: Dans les marchés à forte volatilité, les FVG peuvent apparaître fréquemment mais pas nécessairement avec une valeur de transaction, ce qui peut entraîner une sur-transaction. La solution consiste à ajouter des conditions de filtrage supplémentaires, telles que l’exigence que les FVG aient une largeur minimale ou se forment à proximité des niveaux de prix critiques.

  2. Les tendances définissent les limites: Utiliser seulement deux SMA pour définir une tendance peut générer de faux signaux dans un marché tremblant. La solution consiste à ajouter des indicateurs de confirmation de tendance supplémentaires, tels que l’ADX (indice de direction moyenne) pour mesurer la force de la tendance.

  3. Risque de rupture trop étroit: Le stop-loss fixe de 0,5% peut être trop étroit dans certaines variétés à forte volatilité et est facilement déclenché par le bruit du marché. La solution consiste à associer le paramètre de stop-loss à l’ATR pour l’adapter aux caractéristiques de volatilité des différentes variétés.

  4. Une mauvaise gestion des retraitsLa solution consiste à définir un seuil de retrait maximal acceptable, et à se retirer immédiatement s’il est dépassé.

  5. Paramètre Sensibilité: La performance de la stratégie est très sensible aux paramètres tels que le cycle SMA, le taux d’arrêt et la multiplication de l’ATR. La solution consiste à trouver une combinaison de paramètres robuste en optimisant la rétroaction et en la réévaluant régulièrement.

Orientation de l’optimisation de la stratégie

  1. Intégration de l’analyse de plusieurs périodes: L’intégration d’informations sur les FVG et les tendances à des périodes de temps plus longues dans le processus de décision peut améliorer la qualité du signal. Par exemple, il est possible de demander que les signaux sur un graphique d’une minute correspondent aux directions des FVG et des tendances sur un graphique de 15 minutes ou d’une heure.

  2. Système d’arrêt dynamiqueLes stratégies actuelles utilisent des stop-loss à taux fixe, qui peuvent être améliorées en stop-loss dynamiques basés sur l’ATR, ou en s’adaptant automatiquement aux objectifs de stop-loss en fonction de la volatilité du marché.

  3. Adaptation au retournement et à l’assainissement des marchés: Ajout d’une logique d’identification de l’environnement du marché, utilisant la stratégie actuelle pour les périodes de tendance claire et des critères d’entrée et de sortie différents pour les périodes de consolidation.

  4. Confirmation de la transaction: Analyse intégrée des volumes de transactions pour vérifier l’efficacité des FVG et des IFVG. Des écarts de prix vraiment significatifs sont souvent accompagnés de variations significatives des volumes de transactions.

  5. Optimisation du machine learning: Utilisation d’algorithmes d’apprentissage automatique pour identifier les combinaisons de caractéristiques FVG les plus prédictives, telles que la taille de l’ouverture, la vitesse de formation et la relation avec le support/résistance.

  6. Adaptation des paramètres: Développer un mécanisme permettant à la stratégie d’ajuster automatiquement ses paramètres en fonction de la performance récente du marché, par exemple en élargissant la zone de stop loss lorsque la volatilité augmente.

  7. Augmentation de la gestion des positions: La stratégie actuelle utilise des positions fixes ((10 unités), ce qui permet d’améliorer le système de gestion de position dynamique basé sur la volatilité et les mesures de risque, d’augmenter les positions sur des signaux à haute certitude et de réduire l’exposition sur des marchés à forte incertitude.

Résumer

La stratégie de confirmation de tendance inverse de l’écart de la juste valeur avec le suivi dynamique des arrêts de perte est un système de négociation à plusieurs niveaux qui combine organiquement l’analyse de la structure des prix (FVG et IFVG), la confirmation de tendance (SMA) et la gestion des risques dynamiques (ATR suivi des arrêts de perte). Le principal avantage de la stratégie réside dans son mécanisme de confirmation multiple et sa gestion des risques auto-adaptative, qui filtre efficacement les signaux de mauvaise qualité et protège les bénéfices réalisés.

Cependant, cette stratégie est également confrontée à des défis tels que la fiabilité des FVG, les limitations de la définition des tendances et la sensibilité des paramètres. Les orientations d’optimisation futures comprennent l’intégration de l’analyse des multiframes temporelles, le développement de mécanismes d’arrêt dynamiques, l’amélioration de l’adaptabilité dans différents environnements de marché et l’introduction de technologies d’apprentissage automatique pour optimiser la qualité du signal et la sélection des paramètres.

Grâce à ces améliorations, la stratégie a le potentiel de devenir un système de négociation plus stable et plus adaptable, capable de fonctionner de manière cohérente dans une variété de conditions de marché. En particulier, en renforçant sa capacité de réponse aux changements de la structure et de la volatilité du marché, la stratégie peut mieux s’adapter à l’environnement de marché en constante évolution, améliorer la rentabilité à long terme et la stabilité de la croissance des fonds.

Code source de la stratégie
/*backtest
start: 2025-05-31 00:00:00
end: 2025-06-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
args: [["RunMode",1,358374]]
*/

//@version=6
strategy("Inverted FVG Strategy with Trend Check and Trailing Stops", default_qty_value = 10, overlay=true)

// Function to detect FVG
fvgDetected(src, high, low) =>
    float prevHigh = na
    float prevLow = na
    float prevClose = na
    float fvgHigh = na
    float fvgLow = na
    bool fvg = false
    if (not na(src[3]))
        prevHigh := high[3]
        prevLow := low[3]
        prevClose := src[3]
        if (src[2] > prevClose and low[2] > prevHigh) or (src[2] < prevClose and high[2] < prevLow)
            fvg := true
            fvgHigh := low[2] > prevHigh ? high[2] : na
            fvgLow := high[2] < prevLow ? low[2] : na
    [fvg, fvgHigh, fvgLow]

// Detect FVG on the chart
[fvg, fvgHigh, fvgLow] = fvgDetected(close, high, low)

// Detect IFVG - Inversion of FVG
bool ifvg = false
float ifvgHigh = na
float ifvgLow = na

if (fvg)    
    if (high[1] > fvgHigh and close[1] > open[1]) or (high[1] < fvgLow and close[1] < open[1])
        ifvg := true
        ifvgHigh := close[1] > open[1] ? high[1] : na
        ifvgLow := close[1] <  open[1] ? low[1] : na

// Plot FVG and IFVG zones for visualization
plot(ifvgHigh, title="IFVG High", color=color.red, linewidth=2, style=plot.style_cross)
plot(ifvgLow, title="IFVG Low", color=color.red, linewidth=2, style=plot.style_cross)

// Trend Check using Simple Moving Averages
smaShort = ta.sma(close, 50)  // Short term SMA
smaLong = ta.sma(close, 200)  // Long term SMA
bool uptrend = false
bool downtrend = false

uptrend := smaShort > smaLong  // Up trend if short SMA is above long SMA
downtrend := smaShort < smaLong  // Down trend if short SMA is below long SMA

// Plot SMAs for visualization
plot(smaShort, title="SMA Short", color=color.blue, linewidth=1)
plot(smaLong, title="SMA Long", color=color.orange, linewidth=1)

// Trading logic with trend confirmation
longCondition = ifvg and close < ifvgLow and uptrend
shortCondition = ifvg and close > ifvgHigh and downtrend

// Risk Definition - 使用百分比
stopLoss = 0.005   // 0.5% 止损
takeProfit = 0.015  // 1.5% 止盈

if (longCondition and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)
    stopPrice = close * (1 - stopLoss)
    limitPrice = close * (1 + takeProfit)
    strategy.exit("Initial Long Exit", "Long", stop=stopPrice, limit=limitPrice)

if (shortCondition and strategy.position_size == 0)
    strategy.entry("Short", strategy.short)
    stopPrice = close * (1 + stopLoss)
    limitPrice = close * (1 - takeProfit)
    strategy.exit("Initial Short Exit", "Short", stop=stopPrice, limit=limitPrice)

// ATR for dynamic trailing stop
atr = ta.atr(14)

// Trailing Stop for Long Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size > 0)
    profitThreshold = takeProfit * 0.5  // 1.5% profit threshold
    if (close - strategy.position_avg_price >= strategy.position_avg_price * profitThreshold)
        // 将止损移动到盈亏平衡点加上一点利润
        trailingStopLong = math.max(strategy.position_avg_price * (1 + profitThreshold), close - (atr * 2))
        strategy.exit("Trailing Stop Long", "Long", stop=trailingStopLong)

// Trailing Stop for Short Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size < 0)
    profitThreshold = takeProfit * 0.5  // 1.5% profit threshold
    if (strategy.position_avg_price - close >= strategy.position_avg_price * profitThreshold)
        // 将止损移动到盈亏平衡点加上一点利润
        trailingStopShort = math.min(strategy.position_avg_price * (1 - profitThreshold), close + (atr * 2))
        strategy.exit("Trailing Stop Short", "Short", stop=trailingStopShort)