Stratégie flexible de stop loss et de take profit basée sur le croisement MA/VWAP


Date de création: 2023-12-20 14:06:18 Dernière modification: 2023-12-20 14:06:18
Copier: 0 Nombre de clics: 734
1
Suivre
1621
Abonnés

Stratégie flexible de stop loss et de take profit basée sur le croisement MA/VWAP

Aperçu

Cette stratégie permet de capturer le mouvement des prix en calculant les moyennes mobiles rapides, les moyennes mobiles lentes et les moyennes pondérées en volume et en identifiant les signaux de croisement entre elles. Elle génère des signaux d’achat lorsque la MA rapide traverse le VWAP et la MA lente par le bas et des signaux de vente lorsque la MA rapide traverse le VWAP et la MA lente par le haut.

Principe de stratégie

Cette stratégie combine les avantages des moyennes mobiles et des moyennes pondérées en volume de transactions. Les moyennes mobiles permettent de filtrer efficacement le bruit du marché et de juger de la direction de la tendance. Les moyennes pondérées en volume de transactions reflètent plus précisément l’intention des grandes capitales.

Analyse des avantages

  • Le double filtrage MA réduit les faux signaux
  • Le VWAP peut détecter les intentions des grands capitalistes
  • Réglage flexible des paramètres MA pour s’adapter à différents cycles
  • Le contrôle des risques, combiné à un arrêt des pertes

Analyse des risques

  • Des signaux erronés peuvent apparaître à plusieurs reprises dans des marchés très volatiles
  • Les paramètres VWAP n’ont pas été définis pour déterminer avec précision les intentions financières
  • Le point d’arrêt est trop près pour suivre la tendance, trop loin pour courir le risque.

Direction d’optimisation

  • Optimiser les paramètres de MA et VWAP pour les différentes situations
  • Filtrez le signal en combinaison avec d’autres indicateurs tels que le RSI
  • Dynamique d’ajustement du taux de stop-loss

Résumer

La stratégie intègre les avantages des moyennes mobiles et du VWAP, identifie les signaux croisés par un double filtrage, est associée à un mécanisme d’arrêt de perte flexible et permet de contrôler efficacement les risques, ce qui constitue une stratégie de suivi de tendance recommandée.

Code source de la stratégie
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Flexible MA VWAP Crossover Strategy with SL/TP", shorttitle="MA VWAP Crossover", overlay=true)

// Input parameters
fast_length = input(9, title="Fast MA Length", minval=1)
slow_length = input(21, title="Slow MA Length", minval=1)
vwap_length = input(14, title="VWAP Length", minval=1)

// Stop Loss and Take Profit inputs
stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=5.0, step=0.1)
take_profit_percent = input(2.0, title="Take Profit (%)", minval=1.0, maxval=10.0, step=0.1)

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)
vwap = sma(close * volume, vwap_length) / sma(volume, vwap_length)

// Buy and sell conditions
buy_condition = crossover(fast_ma, vwap) and crossover(fast_ma, slow_ma)
sell_condition = crossunder(fast_ma, vwap) and crossunder(fast_ma, slow_ma)

// Plot the moving averages
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)
plot(vwap, title="VWAP", color=color.purple)

// Plot buy and sell signals
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, title="Buy Signal")
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, title="Sell Signal")

// Define stop loss and take profit levels
var float stop_loss_price = na
var float take_profit_price = na

if (buy_condition)
    stop_loss_price := close * (1 - stop_loss_percent / 100)
    take_profit_price := close * (1 + take_profit_percent / 100)

// Strategy entry and exit with flexible SL/TP
strategy.entry("Buy", strategy.long, when = buy_condition)

if (sell_condition)
    strategy.exit("SL/TP", from_entry = "Buy", stop = stop_loss_price, limit = take_profit_price)