
La stratégie VWAP est une stratégie qui suit le prix moyen d’une action sur une période donnée. La stratégie utilise le VWAP comme une référence pour prendre une position plus ou moins élevée lorsque le prix est supérieur ou inférieur au VWAP.
La stratégie commence par calculer le prix typique (la moyenne des prix les plus élevés, les plus bas et les prix de clôture) multiplié par la quantité de transaction, puis par la somme de la quantité de transaction. Ensuite, la valeur VWAP est calculée en divisant la somme de la quantité de transaction par la somme de la quantité de transaction.
La condition d’arrêt pour la prise de positions multiples est l’arrêt lorsque le prix augmente de 3% par rapport au prix d’entrée; la condition d’arrêt de perte est l’arrêt lorsque le prix baisse de 1% par rapport au prix d’entrée. La position de couverture est une condition similaire.
Les principaux avantages de la stratégie VWAP sont:
L’utilisation du VWAP, un indicateur statistiquement important reconnu, comme référence pour les signaux de trading, rend la stratégie plus efficace;
L’utilisation de signaux VWP et de stop-loss permet de gagner dans la tendance et de réduire les pertes.
La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre.
Cette stratégie comporte aussi des risques:
Le VWAP ne peut pas prédire les prix futurs, donc le signal VWAP peut être retardé;
Les conditions de stop-loss sont trop laxistes et risquent d’accroître les pertes.
Plus le temps de détection est long et plus il y a de signaux de transaction, plus l’effet du disque dur peut varier.
Ces risques peuvent être atténués par l’ajustement des paramètres, l’optimisation des algorithmes de stop-loss, etc.
Cette stratégie peut être optimisée dans les directions suivantes:
Optimiser les paramètres VWAP pour trouver le cycle de calcul optimal;
d’autres algorithmes de suivi des arrêts de perte, tels que les arrêts mobiles, les arrêts mobiles de l’indice, peuvent être testés;
D’autres indicateurs peuvent être combinés comme filtres pour éviter les erreurs de signal VWAP; par exemple, l’indicateur de puissance, l’indicateur de bande de Brin, etc.
Dans l’ensemble, les stratégies de valeur par échange utilisent le pouvoir prédictif de VWP, un indicateur important, pour mettre en place des conditions de stop-loss permettant d’obtenir des gains positifs à long terme. Cependant, il est nécessaire d’optimiser et de combiner d’autres stratégies pour réduire les risques liés aux fluctuations du marché et améliorer la marge de profit de la stratégie.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("VWAP Strategy by Royce Mars", overlay=true)
cumulativePeriod = input(14, "Period")
var float cumulativeTypicalPriceVolume = 0.0
var float cumulativeVolume = 0.0
typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume := cumulativeTypicalPriceVolume + typicalPriceVolume
cumulativeVolume := cumulativeVolume + volume
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume
// Buy condition: Price crosses over VWAP
buyCondition = crossover(close, vwapValue)
// Short condition: Price crosses below VWAP
shortCondition = crossunder(close, vwapValue)
// Profit-taking condition for long positions: Sell long position when profit reaches 3%
profitTakingLongCondition = close / strategy.position_avg_price >= 1.03
// Profit-taking condition for short positions: Cover short position when profit reaches 3%
profitTakingShortCondition = close / strategy.position_avg_price <= 0.97
// Stop loss condition for long positions: Sell long position when loss reaches 1%
stopLossLongCondition = close / strategy.position_avg_price <= 0.99
// Stop loss condition for short positions: Cover short position when loss reaches 1%
stopLossShortCondition = close / strategy.position_avg_price >= 1.01
// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=shortCondition or profitTakingLongCondition or stopLossLongCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Short", when=buyCondition or profitTakingShortCondition or stopLossShortCondition)
// Plot VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")