Stratégie de trading à double filtre basée sur le RSI et la moyenne mobile de tendance

RSI MA Trend SIGNAL FILTER ALERT
Date de création: 2025-02-21 14:05:21 Dernière modification: 2025-02-21 14:05:21
Copier: 2 Nombre de clics: 323
2
Suivre
319
Abonnés

Stratégie de trading à double filtre basée sur le RSI et la moyenne mobile de tendance Stratégie de trading à double filtre basée sur le RSI et la moyenne mobile de tendance

Aperçu

Cette stratégie est un système de trading à double filtrage combinant le RSI (indicateur relativement faible) et la courbe de tendance. La stratégie se déroule au niveau de la courbe solaire, en combinant le signal de surachat et de survente du RSI avec la courbe de tendance à long terme. Le cœur de la stratégie est d’ajouter un filtre de tendance sur la base du signal de trading RSI traditionnel pour améliorer l’exactitude et la fiabilité des transactions.

Principe de stratégie

La stratégie repose principalement sur les composants clés suivants:

  1. L’indicateur RSI est utilisé pour identifier les zones de sur-achat et de survente, avec un paramètre par défaut de 14 cycles
  2. Le niveau de survente est fixé à 70 et le niveau de survente à 30.
  3. La moyenne mobile simple à 200 cycles comme filtre de tendance
  4. Conditions d’achat: le RSI est en hausse depuis la zone de survente et le prix est au-dessus de la moyenne
  5. Conditions de vente: le RSI a dépassé la zone de survente et le prix est en dessous de la moyenne Les stratégies exécutent automatiquement les transactions à chaque signal et peuvent être configurées avec des rappels.

Avantages stratégiques

  1. Le mécanisme de double confirmation améliore considérablement la fiabilité des transactions
  2. Combinaison de tendances et de dynamiques pour réduire le risque de faux signaux
  3. Système d’exécution de transactions entièrement automatisé
  4. La flexibilité des paramètres permet d’optimiser la stratégie
  5. Alerte intégrée en temps réel pour une utilisation pratique
  6. L’interface visuelle affiche clairement les signaux de transaction
  7. Prise en charge de la rétroaction pour faciliter la vérification de la stratégie

Risque stratégique

  1. Les marchés en crise peuvent générer des signaux de trading fréquents
  2. Le point de basculement de la tendance pourrait être retardé
  3. Des paramètres incorrects peuvent affecter les performances de la stratégie
  4. Une forte volatilité du marché pourrait entraîner un retrait plus important. Il est recommandé de gérer les risques de la manière suivante:
  • Réalisez une position de stop loss raisonnable
  • Ajustement approprié de la taille de la position
  • Optimiser régulièrement les paramètres de stratégie
  • En combinaison avec d’autres indicateurs techniques

Orientation de l’optimisation de la stratégie

  1. Augmentation des filtres de volatilité et ajustement des critères de négociation pendant les périodes de forte volatilité
  2. Introduction d’un mécanisme d’adaptation des paramètres, permettant une adaptation dynamique des paramètres en fonction des conditions du marché
  3. Ajoutez un mécanisme de confirmation du volume pour améliorer la fiabilité du signal
  4. Développer des mécanismes de sortie plus sophistiqués pour optimiser les échéances
  5. L’intégration d’analyses à cycles multiples fournit une vision plus complète du marché

Résumer

La stratégie, combinée au RSI et à la courbe de tendance, construit un système de négociation stable. La stratégie est conçue de manière rationnelle, les règles d’opération sont claires et ont une bonne utilité. Grâce à une gestion raisonnable des risques et une optimisation continue, la stratégie est susceptible de générer des rendements stables dans les transactions réelles.

Code source de la stratégie
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Leading Indicator Strategy – Daily Signals", overlay=true, 
     pyramiding=1, initial_capital=100000, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=100)

/// **Inputs for Customization**
rsiLength   = input.int(14,  minval=1, title="RSI Period")
oversold    = input.float(30.0, minval=1, maxval=50, title="Oversold Level")
overbought  = input.float(70.0, minval=50, maxval=100, title="Overbought Level")
maLength    = input.int(200, minval=1, title="Trend MA Period")
useTrendFilter = input.bool(true, title="Use Trend Filter (MA)",
     tooltip="Require price above MA for buys and below MA for sells")

/// **Indicator Calculations**
rsiValue = ta.rsi(close, rsiLength)                      // RSI calculation
trendMA  = ta.sma(close, maLength)                       // Long-term moving average

/// **Signal Conditions** (RSI crosses with optional trend filter)
buySignal  = ta.crossover(rsiValue, oversold)            // RSI crosses above oversold level
sellSignal = ta.crossunder(rsiValue, overbought)         // RSI crosses below overbought level

bullCond = buySignal and (not useTrendFilter or close > trendMA)   // final Buy condition
bearCond = sellSignal and (not useTrendFilter or close < trendMA)  // final Sell condition

/// **Trade Execution** (entries and exits with alerts)
if bullCond
    strategy.close("Short",  alert_message="Buy Signal – Closing Short")   // close short position if open
    strategy.entry("Long",  strategy.long,  alert_message="Buy Signal – Enter Long")  // go long
if bearCond
    strategy.close("Long",   alert_message="Sell Signal – Closing Long")   // close long position if open
    strategy.entry("Short", strategy.short, alert_message="Sell Signal – Enter Short") // go short

/// **Plotting** (MA and signal markers for clarity)
plot(trendMA, color=color.orange, linewidth=2, title="Trend MA")
plotshape(bullCond, title="Buy Signal", style=shape.labelup, location=location.belowbar,
     color=color.green, text="BUY", textcolor=color.white)
plotshape(bearCond, title="Sell Signal", style=shape.labeldown, location=location.abovebar,
     color=color.red, text="SELL", textcolor=color.white)

// (Optional) Plot RSI in a separate pane for reference:
// plot(rsiValue,  title="RSI", color=color.blue)
// hline(oversold, title="Oversold",  color=color.gray, linestyle=hline.style_dotted)
// hline(overbought, title="Overbought", color=color.gray, linestyle=hline.style_dotted)