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

La VWAP et la stratégie d'achat/vente de Super Trend

Auteur:ChaoZhang est là., Date: 2024-06-03 à 10h45
Les étiquettes:VWAPATR

img

Résumé

Cette stratégie combine les indicateurs VWAP (Volume Weighted Average Price) et Supertrend. Elle détermine les signaux d'achat et de vente en comparant la position du prix par rapport au VWAP et la direction de l'indicateur de Supertrend. Un signal d'achat est généré lorsque le prix dépasse le VWAP et que la Supertrend est positive, tandis qu'un signal de vente est généré lorsque le prix dépasse le VWAP et que la Supertrend est négative.

Principe de stratégie

  1. Calculer l'indicateur VWAP en utilisant la fonction ta.vwap, avec une longueur VWAP personnalisable.
  2. Calculer l'indicateur Supertrend à l'aide de la fonction ta.supertrend, avec période ATR et multiplicateur personnalisables.
  3. Déterminer la condition d'achat: le prix actuel dépasse le VWAP et la direction de la Supertrend est positive.
  4. Déterminez la condition de vente: le prix actuel dépasse le VWAP et la direction de la Supertrend est négative.
  5. Enregistrer l'état du signal précédent afin d'éviter les signaux consécutifs dans la même direction.

Les avantages de la stratégie

  1. Combine les indicateurs VWAP et Supertrend pour une évaluation plus complète des tendances du marché et des points tournants potentiels.
  2. L'indicateur VWAP prend en compte le volume, reflétant mieux le mouvement réel du marché.
  3. L'indicateur Supertrend possède des caractéristiques de suivi des tendances et de filtrage des oscillations, ce qui permet de détecter les tendances majeures.
  4. Le mécanisme d'évitement des signaux en double réduit la fréquence des transactions et les coûts de transaction.

Risques stratégiques

  1. Pendant les périodes de forte volatilité du marché ou d'incertitude sur les tendances, la stratégie peut générer davantage de faux signaux.
  2. Les performances de la stratégie dépendent du choix des paramètres VWAP et Supertrend; différents réglages peuvent donner des résultats différents.
  3. La stratégie n'inclut pas la gestion des risques et la dimensionnement des positions, qui doivent être combinées à d'autres mesures de contrôle des risques dans les applications pratiques.

Directions d'optimisation de la stratégie

  1. Mettre en place un mécanisme de confirmation de tendance, tel que l'utilisation de moyennes mobiles ou d'autres indicateurs de tendance, pour filtrer davantage les signaux.
  2. Optimiser la sélection des paramètres en effectuant un backtesting des données historiques afin de trouver la meilleure combinaison de longueur VWAP, de période ATR et de multiplicateur.
  3. Mettre en œuvre des mesures de gestion des risques, telles que le stop-loss et le take-profit, pour contrôler le risque commercial individuel.
  4. Considérez l'intégration de stratégies de gestion de l'argent, telles que la fraction fixe ou le critère Kelly, pour optimiser la taille des positions.

Résumé

La stratégie VWAP et Supertrend Buy/Sell vise à capturer de manière complète les tendances du marché et les points tournants potentiels en combinant deux types d'indicateurs différents. La logique de la stratégie est claire et 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. Dans les applications pratiques, une optimisation et un raffinement supplémentaires sont nécessaires pour s'adapter aux différentes conditions du marché et aux exigences de négociation.


/*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)


Relationnée

Plus de