Stratégie d'inversion de volatilité VWAP Système de cassure longue et courte sur le canal d'écart type

VWAP SD SMA ATR RSI
Date de création: 2025-02-20 09:33:31 Dernière modification: 2025-02-20 09:33:31
Copier: 1 Nombre de clics: 469
2
Suivre
319
Abonnés

Stratégie d’inversion de volatilité VWAP Système de cassure longue et courte sur le canal d’écart type Stratégie d’inversion de volatilité VWAP Système de cassure longue et courte sur le canal d’écart type

Aperçu

La stratégie est un système de négociation basé sur le VWAP (Value-Weighted Average Price) et la chaîne de différence standard, qui permet de négocier en identifiant des modèles de retournement de prix à la frontière de la chaîne. La stratégie combine la dynamique et la philosophie de négociation de la régression de la valeur moyenne pour capturer des opportunités de négociation lorsque les prix franchissent les points techniques critiques.

Principe de stratégie

Le cœur de la stratégie est de construire un canal ascendant et descendant à l’aide d’un écart-type de 20 cycles avec le VWAP comme centre de prix. Cherchez des opportunités de plus près de la voie descendante et des opportunités de moins près de la voie supérieure.

  • Conditions multiples: le prix forme une inversion bullish sur la trajectoire descendante, puis franchit le sommet du précédent Yangtze
  • Conditions de creux: les prix forment une tendance baissière en hausse, puis franchissent un précédent creux négatif
  • Paramètres d’arrêt: faire plus en visant le VWAP et la voie supérieure, faire moins en visant la voie inférieure
  • Arrêt de perte: faire plus pour arrêter le point bas de la ligne d’inversion, faire moins pour arrêter le point haut de la ligne d’inversion

Avantages stratégiques

  1. La combinaison des avantages du suivi de la tendance et de la négociation d’un renversement permet de saisir à la fois la continuation de la tendance et les opportunités de renversement.
  2. L’utilisation du VWAP comme indicateur central permet de mieux refléter l’offre et la demande réelles du marché.
  3. La méthode de l’arrêt des lots permet de réaliser des bénéfices à différents prix.
  4. Les réglages de stop-loss sont raisonnables et permettent de contrôler efficacement les risques
  5. La logique de la stratégie est claire, les paramètres sont simples, faciles à comprendre et à exécuter

Risque stratégique

  1. Les stop-loss peuvent être déclenchés fréquemment dans des marchés très volatils
  2. La phase de tri horizontal peut générer trop de faux signaux
  3. Les cycles de temps sont plus sensibles aux calculs VWAP
  4. La largeur de la voie de décalage standard peut ne pas convenir à tous les environnements de marché
  5. Il est possible de rater des opportunités de tendance importantes

Orientation de l’optimisation de la stratégie

  1. Introduction de filtres de circulation pour améliorer la qualité du signal
  2. Augmentation des indicateurs de confirmation de tendance, tels que les systèmes de moyennes mobiles
  3. Adaptation dynamique des cycles d’écart-type aux différentes conditions du marché
  4. Optimiser le taux de dépôt par lots pour améliorer les bénéfices globaux
  5. Ajoutez un filtrage temporel pour éviter de négocier à des moments défavorables
  6. Envisager d’augmenter les indicateurs de volatilité et d’optimiser la gestion des positions

Résumer

Il s’agit d’un système de négociation complet qui combine VWAP, canal standard d’écart et forme de prix. La stratégie est négociée en recherchant des signaux de revers aux prix clés et en utilisant des arrêts par lots et des arrêts raisonnables pour gérer le risque. Bien qu’il existe certaines limites, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’orientation d’optimisation proposée.

Code source de la stratégie
/*backtest
start: 2025-01-20 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6  
strategy("VRS Strategy", overlay=true)  

// Calculate VWAP  
vwapValue = ta.vwap(close)  

// Calculate standard deviation for the bands  
stdDev = ta.stdev(close, 20) // 20-period standard deviation for bands  
upperBand = vwapValue + stdDev  
lowerBand = vwapValue - stdDev  

// Plot VWAP and its bands  
plot(vwapValue, color=color.blue, title="VWAP", linewidth=2)  
plot(upperBand, color=color.new(color.green, 0), title="Upper Band", linewidth=2)  
plot(lowerBand, color=color.new(color.red, 0), title="Lower Band", linewidth=2)  

// Signal Conditions  
var float previousGreenCandleHigh = na  
var float previousGreenCandleLow = na  
var float previousRedCandleLow = na  

// Detect bearish candle close below lower band  
bearishCloseBelowLower = close[1] < lowerBand and close[1] < open[1]  

// Detect bullish reversal candle after a bearish close below lower band  
bullishCandle = close > open and low < lowerBand // Ensure it's near the lower band  
candleReversalCondition = bearishCloseBelowLower and bullishCandle  

if (candleReversalCondition)  
    previousGreenCandleHigh := high[1]  // Capture the high of the previous green candle  
    previousGreenCandleLow := low[1]     // Capture the low of the previous green candle  
    previousRedCandleLow := na            // Reset previous red candle low  

// Buy entry condition: next candle breaks the high of the previous green candle  
buyEntryCondition = not na(previousGreenCandleHigh) and close > previousGreenCandleHigh  

if (buyEntryCondition)  
    // Set stop loss below the previous green candle  
    stopLoss = previousGreenCandleLow   
    risk = close - stopLoss // Calculate risk for position sizing  

    // Target Levels  
    target1 = vwapValue // Target 1 is at VWAP  
    target2 = upperBand  // Target 2 is at the upper band  

    // Ensure we only enter the trade near the lower band  
    if (close < lowerBand)  
        strategy.entry("Buy", strategy.long)  
        
        // Set exit conditions based on targets  
        strategy.exit("Take Profit 1", from_entry="Buy", limit=target1)  
        strategy.exit("Take Profit 2", from_entry="Buy", limit=target2)  
        strategy.exit("Stop Loss", from_entry="Buy", stop=stopLoss)  

// Sell signal condition: Wait for a bearish candle near the upper band  
bearishCandle = close < open and high > upperBand // A bearish candle should be formed near the upper band  
sellSignalCondition = bearishCandle  

if (sellSignalCondition)  
    previousRedCandleLow := low[1] // Capture the low of the current bearish candle  

    // Sell entry condition: next candle breaks the low of the previous bearish candle  
    sellEntryCondition = not na(previousRedCandleLow) and close < previousRedCandleLow  

    if (sellEntryCondition)  
        // Set stop loss above the previous bearish candle  
        stopLossSell = previousRedCandleLow + (high[1] - previousRedCandleLow) // Set stop loss above the bearish candle  
        targetSell = lowerBand // Target for sell is at the lower band  

        // Ensure we only enter the trade near the upper band  
        if (close > upperBand)  
            strategy.entry("Sell", strategy.short)  
            
            // Set exit conditions for sell  
            strategy.exit("Take Profit Sell", from_entry="Sell", limit=targetSell)  
            strategy.exit("Stop Loss Sell", from_entry="Sell", stop=stopLossSell)  

// Reset previous values when a trade occurs  
if (strategy.position_size > 0)  
    previousGreenCandleHigh := na  
    previousGreenCandleLow := na  
    previousRedCandleLow := na