Stratégie de trading multi-période pondérée par le volume et par la moyenne mobile

VWAP EMA ATR RR TP SL
Date de création: 2025-02-20 13:25:02 Dernière modification: 2025-02-20 13:25:02
Copier: 2 Nombre de clics: 451
2
Suivre
319
Abonnés

Stratégie de trading multi-période pondérée par le volume et par la moyenne mobile Stratégie de trading multi-période pondérée par le volume et par la moyenne mobile

Aperçu

Il s’agit d’une stratégie de négociation combinant une moyenne pondérée en volume de transactions (VWAP) et une moyenne mobile d’indices pluricycliques (EMA). La stratégie est principalement utilisée pour le day trading et est particulièrement adaptée aux périodes de 15 minutes. La stratégie analyse la relation entre les prix et le VWAP et les différentes périodes d’EMA, combinant des informations sur le volume de transactions, pour déterminer les tendances du marché et les opportunités de négociation.

Principe de stratégie

La stratégie utilise les EMA de 10 cycles, 20 cycles et 200 cycles, ainsi que le VWAP comme indicateur central. La génération du signal de transaction est basée sur les conditions suivantes:

  • Conditions d’entrée multiples: le prix doit être supérieur à la fois au VWAP, 200EMA, 10EMA et 20EMA; le prix de clôture de la ligne K actuel est supérieur au prix d’ouverture; le VWAP est au-dessus du 200EMA; le 10EMA est au-dessus du 20EMA et le 20EMA est au-dessus du VWAP.
  • Conditions d’admission à tête nue: combinaison opposée à celle des têtes nombreuses.
  • Paramètres de stop-loss: utilisez le point le plus bas de la première ligne K de 10 lignes (plusieurs têtes) ou le point le plus élevé (une tête vide) plus ou moins ATR.
  • Objectif de profit: deux objectifs de profit/risque de 1:2 et 1:3 sont définis.

Avantages stratégiques

  1. Mécanisme de confirmation multiple: amélioration de la fiabilité des signaux de transaction grâce à l’utilisation conjointe de plusieurs indicateurs techniques.
  2. Gestion dynamique des risques: paramétrage dynamique des arrêts de perte basé sur l’ATR, capable de s’adapter aux changements de volatilité du marché.
  3. Objectif de profit clair: un ratio de risque/rendement fixe permet aux traders de contrôler leur risque.
  4. Le suivi de la tendance est associé à la dynamique: en combinant les différentes périodes, il permet de capturer la tendance et de ne pas rater les opportunités à court terme.

Risque stratégique

  1. Risque de retard: l’EMA et le VWAP sont des indicateurs de retard qui peuvent être retardés lors d’une évolution rapide du marché.
  2. Risque de choc: il peut y avoir trop de faux signaux de rupture pendant la phase de liquidation horizontale
  3. Risques de gestion de fonds: un rapport risque/rendement fixe peut ne pas être adapté à tous les environnements de marché.
  4. Effets sur les coûts des transactions: les transactions fréquentes peuvent entraîner des coûts plus élevés.

Orientation de l’optimisation de la stratégie

  1. Introduction d’un filtre de volatilité: vous pouvez ajouter une marge de pourcentage ATR pour éviter de négocier dans un environnement à faible volatilité.
  2. Optimisation du filtrage des heures: il est possible de définir les meilleures heures de négociation en fonction des caractéristiques des différents marchés.
  3. Résultat/risque ajusté en fonction de la dynamique du marché.
  4. Ajout de confirmation de transaction: un seuil de transaction minimum peut être défini pour améliorer la fiabilité de la percée.

Résumer

La stratégie construit un système de négociation complet en combinant plusieurs indicateurs techniques. Les principaux avantages de la stratégie résident dans les mécanismes de confirmation multiple et un système de gestion des risques bien développé. Bien qu’il existe un certain risque de retard, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’orientation de l’optimisation proposée.

Code source de la stratégie
/*backtest
start: 2024-02-21 00:00:00
end: 2024-11-24 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("VWAP EMA Breakout", overlay=true)

// Define Indicators
ema10 = ta.ema(close, 10)
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
vwap = ta.vwap(close)
atr = ta.atr(14)

// Price Conditions (Long)
priceAboveVWAP200EMA = close > vwap and close > ema200 and close > ema10 and close > ema20
bullishCandle = close > open

// Additional Conditions for VWAP and EMA Relationships (Long)
vwapAbove200EMA = vwap > ema200
emaConditions = ema10 > ema20 and ema20 > vwap and vwap > ema200

// Entry Conditions (Long)
longCondition = priceAboveVWAP200EMA and bullishCandle and vwapAbove200EMA and emaConditions

// Stop-Loss & Take-Profit (Long)
swingLow = ta.lowest(low, 10)
stopLossLong = swingLow - atr
riskLong = close - stopLossLong
takeProfitLong2 = close + (riskLong * 2) // 1:2 RR
takeProfitLong3 = close + (riskLong * 3) // 1:3 RR

// Execute Long Trade
if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("TP 1:2", from_entry="Long", limit=takeProfitLong2, stop=stopLossLong)
    strategy.exit("TP 1:3", from_entry="Long", limit=takeProfitLong3, stop=stopLossLong)

// Price Conditions (Short)
priceBelowVWAP200EMA = close < vwap and close < ema200 and close < ema10 and close < ema20
bearishCandle = close < open

// Additional Conditions for VWAP and EMA Relationships (Short)
vwapBelow200EMA = vwap < ema200
emaConditionsShort = ema10 < ema20 and ema20 < vwap and vwap < ema200

// Entry Conditions (Short)
shortCondition = priceBelowVWAP200EMA and bearishCandle and vwapBelow200EMA and emaConditionsShort

// Stop-Loss & Take-Profit (Short)
swingHigh = ta.highest(high, 10)
stopLossShort = swingHigh + atr
riskShort = stopLossShort - close
takeProfitShort2 = close - (riskShort * 2) // 1:2 RR
takeProfitShort3 = close - (riskShort * 3) // 1:3 RR

// Execute Short Trade
if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("TP 1:2", from_entry="Short", limit=takeProfitShort2, stop=stopLossShort)
    strategy.exit("TP 1:3", from_entry="Short", limit=takeProfitShort3, stop=stopLossShort)

// Plot Indicators
plot(ema10, color=color.red, title="10 EMA")
plot(ema20, color=color.green, title="20 EMA")
plot(ema200, color=color.purple, title="200 EMA")
plot(vwap, color=color.white, title="VWAP")