Les ressources ont été chargées... Je charge...

Stratégie avancée de détection des écarts de juste valeur avec gestion dynamique des risques et bénéfices fixes

Auteur:ChaoZhang est là., Date: 2024-11-29 16:22:10
Les étiquettes:FVGSLTP

img

Résumé

Il s'agit d'une stratégie de trading basée sur la détection de l'écart de juste valeur (FVG), combinant une gestion dynamique des risques avec des objectifs fixes de prise de profit. Opérant sur un laps de temps de 15 minutes, la stratégie identifie les opportunités de trading potentielles en détectant les écarts de prix sur le marché. Selon les données de backtest de novembre 2023 à août 2024, la stratégie a réalisé un bénéfice net de 284,40% avec 153 transactions totales, en maintenant un taux de gain de 71,24% et un facteur de profit de 2,422.

Principe de stratégie

Le mécanisme de base consiste à détecter les écarts de juste valeur en surveillant les relations de prix sur trois bougies consécutives:

  1. FVG haussier: lorsque le haut de la bougie du milieu est inférieur au bas de la première bougie
  2. FVG baissier: lorsque le bas de la bougie du milieu est au-dessus du haut de la première bougie
  3. Les signaux d'entrée sont contrôlés par un paramètre de seuil FVG
  4. Le contrôle des risques utilise un pourcentage fixe (1%) du capital du compte comme stop loss.
  5. Le bénéfice net est fixé à 50 points.

Les avantages de la stratégie

  1. Gestion du risque scientifique: utilise le pourcentage du capital du compte pour le stop loss
  2. Des règles de négociation claires: des objectifs fixes de prise de profit éliminent les jugements subjectifs
  3. Excellente performance: un taux de réussite élevé et un facteur de profit indiquent la stabilité de la stratégie
  4. Implémentation simple: logique de code claire, facile à comprendre et à entretenir
  5. Haute adaptabilité: peut être adaptée aux différentes conditions du marché

Risques stratégiques

  1. Risque de volatilité du marché: les bénéfices à taux fixe peuvent être inflexibles sur les marchés très volatils
  2. Risque de dérapage: les transactions fréquentes peuvent entraîner des coûts de dérapage plus élevés
  3. Dépendance des paramètres: les performances dépendent fortement des paramètres de seuil du FVG
  4. Risque de fausse rupture: certains signaux FVG peuvent être de fausses ruptures
  5. Risque de gestion de trésorerie: un pourcentage fixe d'arrêt des pertes pourrait conduire à des retraits rapides

Directions d'optimisation

  1. Introduction d'indicateurs de volatilité pour l'ajustement dynamique des prises de bénéfices
  2. Ajouter des filtres de tendance pour éviter les échanges de marché variés
  3. Développer un mécanisme de confirmation de plusieurs délais
  4. Optimiser l'algorithme de dimensionnement de la position avec le système de position flottante
  5. Ajouter des filtres de temps de négociation pour éviter les périodes de forte volatilité
  6. Développer un système de notation de la force du signal pour une sélection commerciale de haute qualité

Résumé

Cette stratégie démontre des résultats impressionnants en combinant la théorie du juste écart de valeur avec la gestion scientifique des risques. Le taux de gain élevé et le facteur de profit stable indiquent sa valeur pratique.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fair Value Gap Strategy with % SL and Fixed TP", overlay=true, initial_capital=500, default_qty_type=strategy.fixed, default_qty_value=1)

// Parameters
fvgThreshold = input.float(0.5, "FVG Threshold (%)", minval=0.1, step=0.1)

// Fixed take profit in pips
takeProfitPips = 50

// Function to convert pips to price
pipsToPriceChange(pips) =>
    syminfo.mintick * pips * 10

// Function to detect Fair Value Gap
detectFVG(dir) =>
    gap = 0.0
    if dir > 0  // Bullish FVG
        gap := low[2] - high[1]
    else  // Bearish FVG
        gap := low[1] - high[2]
    math.abs(gap) > (close * fvgThreshold / 100)

// Detect FVGs
bullishFVG = detectFVG(1)
bearishFVG = detectFVG(-1)

// Entry conditions
longCondition = bullishFVG
shortCondition = bearishFVG

// Calculate take profit level
longTakeProfit = strategy.position_avg_price + pipsToPriceChange(takeProfitPips)
shortTakeProfit = strategy.position_avg_price - pipsToPriceChange(takeProfitPips)

// Calculate stop loss amount (5% of capital)
stopLossAmount = strategy.equity * 0.01

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Set exit conditions
if (strategy.position_size > 0)
    strategy.exit("Long TP", "Long", limit=longTakeProfit)
    strategy.close("Long SL", when=strategy.openprofit < -stopLossAmount)
else if (strategy.position_size < 0)
    strategy.exit("Short TP", "Short", limit=shortTakeProfit)
    strategy.close("Short SL", when=strategy.openprofit < -stopLossAmount)

// Plot signals
plotshape(longCondition, "Buy Signal", location = location.belowbar, color = color.green, style = shape.triangleup, size = size.small)
plotshape(shortCondition, "Sell Signal", location = location.abovebar, color = color.red, style = shape.triangledown, size = size.small)

Relationnée

Plus de