Cette stratégie est un système de suivi de tendance qui combine plusieurs moyennes mobiles de période avec le prix moyen pondéré par volume (VWAP). La stratégie identifie la direction de la tendance à travers le croisement de trois moyennes mobiles simples (SMA) - 9 périodes, 50 périodes et 200 périodes, tout en utilisant VWAP comme indicateur de confirmation de la force des prix, en mettant en œuvre un mécanisme de confirmation de signal de trading multidimensionnel.
La logique de base de la stratégie repose sur plusieurs éléments clés:
Les conditions d'entrée à long terme exigent:
Les conditions d'entrée à court terme exigent:
Suggestions de contrôle des risques:
Il s'agit d'un système de trading complet combinant plusieurs moyennes mobiles et VWAP, fournissant des signaux de trading fiables grâce à de multiples mécanismes de confirmation. Les atouts de la stratégie résident dans sa logique claire, sa facilité d'exécution et ses bonnes capacités de contrôle des risques. Bien qu'elle présente certains risques liés au retard et à la sensibilité des paramètres, ceux-ci peuvent être abordés grâce aux directions d'optimisation suggérées pour améliorer davantage la stabilité et l'adaptabilité.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-05 00:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA Crossover Strategy with VWAP", overlay=true) // Input lengths for SMAs sma9Length = 9 sma50Length = 50 sma200Length = 200 // Calculate SMAs sma9 = ta.sma(close, sma9Length) // 9-period SMA sma50 = ta.sma(close, sma50Length) // 50-period SMA sma200 = ta.sma(close, sma200Length) // 200-period SMA // Calculate VWAP vwapValue = ta.vwap(close) // Long entry condition: SMA 9 crosses above SMA 50 and SMA 200 is less than SMA 50, and close is above VWAP longCondition = ta.crossover(sma9, sma50) and (sma200 < sma50) and (close > vwapValue) if (longCondition) strategy.entry("Long", strategy.long) // Exit condition for long: SMA 9 crosses below SMA 50 longExitCondition = ta.crossunder(sma9, sma50) if (longExitCondition) strategy.close("Long") // Short entry condition: SMA 9 crosses below SMA 50 and SMA 200 is greater than SMA 50, and close is below VWAP shortCondition = ta.crossunder(sma9, sma50) and (sma200 > sma50) and (close < vwapValue) if (shortCondition) strategy.entry("Short", strategy.short) // Exit condition for short: SMA 9 crosses above SMA 50 shortExitCondition = ta.crossover(sma9, sma50) if (shortExitCondition) strategy.close("Short") // Plotting the indicators on the chart plot(sma9, color=color.blue, title="SMA 9") plot(sma50, color=color.orange, title="SMA 50") plot(sma200, color=color.red, title="SMA 200") plot(vwapValue, color=color.green, title="VWAP")