Stratégie d'achat et de vente VWAP et SuperTrend

VWAP ATR
Date de création: 2024-06-03 10:45:14 Dernière modification: 2024-06-03 10:45:14
Copier: 0 Nombre de clics: 1114
1
Suivre
1617
Abonnés

Stratégie d’achat et de vente VWAP et SuperTrend

Aperçu

Cette stratégie combine le VWAP (prix moyen pondéré par la transaction) et l’indicateur de super-tendance. Elle permet de juger des signaux d’achat et de vente en comparant la position relative du prix avec le VWAP et la direction de l’indicateur de super-tendance.

Principe de stratégie

  1. Pour calculer l’indicateur VWAP, utilisez la fonction ta.vwap, qui permet de personnaliser la longueur du VWAP.
  2. Pour calculer l’indicateur de super-tendance, utilisez la fonction ta.supertrend, qui permet de personnaliser les périodes et les multiples de l’ATR.
  3. Les conditions d’achat sont les suivantes: le prix actuel est VWAP et la direction de la tendance est positive.
  4. Les conditions de vente sont les suivantes: le prix actuel est inférieur au VWAP et la direction de la tendance est négative.
  5. Enregistrer l’état du signal précédent afin d’éviter la survenue de signaux isocellulaires. Un nouveau signal de transaction ne peut être généré que si le signal actuel est différent du signal précédent.

Avantages stratégiques

  1. La combinaison des deux indicateurs, VWAP et Supertrends, permet de juger plus globalement des tendances du marché et des points de basculement potentiels.
  2. L’indicateur VWAP prend en compte le volume des transactions et reflète mieux la réalité du marché.
  3. L’indicateur de super-tendance a la fonction de suivre les tendances et de filtrer les fluctuations, ce qui permet de capturer les principales tendances.
  4. En évitant les signaux répétés, on peut réduire la fréquence des transactions et ainsi réduire les coûts.

Risque stratégique

  1. Cette stratégie peut générer plus de faux signaux lorsque le marché est plus volatile ou lorsque la tendance est incertaine.
  2. Les performances de la stratégie dépendent de la sélection des paramètres VWAP et Supertrend, et différents paramètres peuvent avoir des résultats différents.
  3. La stratégie ne prend pas en compte la gestion des risques et le contrôle des positions, et nécessite une application pratique combinée à d’autres mesures pour contrôler les risques.

Orientation de l’optimisation de la stratégie

  1. Ajouter un mécanisme de confirmation de tendance, par exemple en utilisant une ligne moyenne ou d’autres indicateurs de tendance, pour filtrer davantage les signaux.
  2. Optimiser la sélection des paramètres pour trouver les meilleures combinaisons de longueurs VWAP, de cycles ATR et de multiplications en effectuant un retour sur les données historiques.
  3. Introduisez des mesures de gestion des risques, telles que la mise en place de stop-loss et de stop-loss, pour contrôler le risque d’une seule transaction.
  4. Envisagez d’ajouter des stratégies de gestion de fonds, telles que des ratios fixes ou la formule de Kelly, pour optimiser la taille de votre position.

Résumer

La stratégie VWAP et la stratégie de vente et d’achat de super-trends cherchent à capturer de manière globale les tendances du marché et les points de basculement potentiels en combinant deux types d’indicateurs différents. La logique de la stratégie est claire, facile à mettre en œuvre et à optimiser. Cependant, la performance de la stratégie dépend de la sélection des paramètres et manque de mesures de gestion des risques.

Code source de la stratégie
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="VWAP and Super Trend Buy/Sell Strategy", shorttitle="VWAPST", overlay=true)


//===== VWAP =====
showVWAP = input.bool(title="Show VWAP", defval=true, group="VWAP")
VWAPSource = input.source(title="VWAP Source", defval=hl2, group="VWAP")
VWAPrice = ta.vwap(VWAPSource)
plot(showVWAP ? VWAPrice : na, color=color.teal, title="VWAP", linewidth=2)


//===== Super Trend =====
showST = input.bool(true, "Show SuperTrend Indicator", group="Super Trend")
Period = input.int(title="ATR Period", defval=10, group="Super Trend")
Multiplier = input.float(title="ATR Multiplier", defval=2.0, group="Super Trend")


// Super Trend ATR
Up = hl2 - (Multiplier * ta.atr(Period))
Dn = hl2 + (Multiplier * ta.atr(Period))
var float TUp = na
var float TDown = na
TUp := na(TUp[1]) ? Up : close[1] > TUp[1] ? math.max(Up, TUp[1]) : Up
TDown := na(TDown[1]) ? Dn : close[1] < TDown[1] ? math.min(Dn, TDown[1]) : Dn
var int Trend = na
Trend := na(Trend[1]) ? 1 : close > TDown[1] ? 1 : close < TUp[1] ? -1 : Trend[1]


Tsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 ? color.green : color.red
plot(showST ? Tsl : na, color=linecolor, style=plot.style_line, linewidth=2, title="SuperTrend")


// Buy/Sell Conditions
var bool previousBuysignal = false
var bool previousSellsignal = false


buysignal = not previousBuysignal and Trend == 1 and close > VWAPrice
sellsignal = not previousSellsignal and Trend == -1 and close < VWAPrice


// Ensure the signals are not repetitive
if (buysignal)
    previousBuysignal := true
    previousSellsignal := false
else if (sellsignal)
    previousBuysignal := false
    previousSellsignal := true


// Execute buy and sell orders
if (buysignal)
    strategy.entry("Buy", strategy.long)
if (sellsignal)
    strategy.entry("Sell", strategy.short)


// Plot Buy/Sell Labels
//plotshape(buysignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.normal)
//plotshape(sellsignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.normal)