Cette stratégie est une approche quantitative de trading qui combine plusieurs moyennes mobiles avec des signaux de croisement d'oscillateur stochastique. Elle utilise des moyennes mobiles à court terme, à moyen terme et à long terme, ainsi que les caractéristiques de surachat/survente de l'oscillateur stochastique, pour capturer les renversements de tendance du marché et les opportunités de trading par le biais de confirmations de signaux multiples.
La stratégie utilise cinq moyennes mobiles (3 jours, 5 jours, 6 jours, 10 jours et 80 jours) et l'oscillateur stochastique. 1. Signal d'achat: lorsque MA10 traverse au-dessus de MA5 et MA6, coïncidant avec le passage de la ligne stochastique %K au-dessus de la ligne %D. 2. Signal de vente: lorsque le MA5 passe sous le MA10 et le MA6, coïncidant avec le passage de la ligne stochastique %D sous la ligne %K. La stratégie utilise un %K à 15 périodes et un %D à 9 périodes avec un assouplissement supplémentaire par des moyennes mobiles.
Cette stratégie établit un système de négociation complet grâce à la combinaison de plusieurs moyennes mobiles et d'un oscillateur stochastique. Ses forces résident dans la fiabilité du signal et la stabilité du système, bien que l'attention soit portée aux coûts de négociation et à l'adaptabilité aux conditions du marché.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Moving Average and Stochastic Crossover Strategy", overlay=true) // Calculate the moving averages ma3 = ta.sma(close, 3) ma5 = ta.sma(close, 5) ma6 = ta.sma(close, 6) ma10 = ta.sma(close, 10) ma80 = ta.sma(close, 80) // Stochastic Oscillator with settings %K(15), %D(9), and slowing 9 k = ta.stoch(close, high, low, 15) d = ta.sma(k, 9) slow_d = ta.sma(d, 9) // Buy signal confirmation: MA10 crosses above MA5, MA6, and K line crosses above D line buySignalConfirmation = ta.crossover(ma10, ma5) and ta.crossover(ma10, ma6) and ta.crossover(k, d) // Sell signal confirmation: MA5 crosses above MA10, MA6, and D line crosses above K line sellSignalConfirmation = ta.crossunder(ma5, ma10) and ta.crossunder(ma5, ma6) and ta.crossunder(d, k) // Strategy logic if (buySignalConfirmation) strategy.entry("Buy", strategy.long) if (sellSignalConfirmation) strategy.entry("Sell", strategy.short) // Plot the moving averages and Stochastic Oscillator for visualization plot(ma3, color=color.orange, title="MA3", linewidth=2) plot(ma5, color=color.blue, title="MA5", linewidth=2) plot(ma6, color=color.purple, title="MA6", linewidth=2) plot(ma10, color=color.green, title="MA10", linewidth=2) plot(ma80, color=color.red, title="MA80", linewidth=2) plot(k, color=color.blue, title="%K", linewidth=2) plot(d, color=color.red, title="%D", linewidth=2) plot(slow_d, color=color.purple, title="Slow %D", linewidth=2)