Stratégie de trading de suivi de tendance RSI du réseau neuronal dynamique

SMA RSI
Date de création: 2025-01-17 14:19:08 Dernière modification: 2025-01-17 14:19:08
Copier: 3 Nombre de clics: 462
1
Suivre
1617
Abonnés

Stratégie de trading de suivi de tendance RSI du réseau neuronal dynamique

Aperçu

Cette stratégie est un système de trading quantitatif basé sur la moyenne mobile, l’indicateur RSI et le stop loss suiveur. Il combine le suivi des tendances et les indicateurs de momentum dans l’analyse technique pour réaliser des transactions à risque contrôlé en définissant des conditions d’entrée et de sortie strictes. La logique principale de la stratégie est de rechercher des opportunités de survente pour entrer sur le marché dans une tendance à la hausse et d’utiliser des stop loss suiveurs pour protéger les bénéfices.

Principe de stratégie

La stratégie utilise la moyenne mobile simple (SMA) sur 200 jours comme base pour le jugement des tendances et la combine avec l’indice de force relative (RSI) pour générer des signaux de trading. Spécifiquement:

  1. Utilisez la moyenne mobile sur 200 jours pour déterminer la tendance générale et n’envisagez d’être long que lorsque le prix est supérieur à la moyenne mobile.
  2. Lorsque le RSI tombe en dessous du seuil prédéfini (par défaut 40), il est considéré comme un signal de survente.
  3. Lorsque les deux conditions ci-dessus sont remplies et que la période d’attente (par défaut 10 jours) est écoulée depuis la fermeture de la dernière position, un signal long est déclenché
  4. Protégez dynamiquement vos profits pendant le maintien de la position grâce au stop loss suiveur (par défaut 5 %)
  5. Lorsque le prix tombe en dessous du prix du stop loss suiveur ou tombe en dessous de la moyenne mobile sur 200 jours, fermez la position

Avantages stratégiques

  1. Combinez le double filtrage des tendances et du momentum pour améliorer la précision des transactions
  2. L’utilisation du mécanisme de suivi des stop loss peut efficacement verrouiller les bénéfices
  3. Définissez des intervalles de transaction pour éviter les transactions fréquentes
  4. Les paramètres sont hautement ajustables pour s’adapter à différents environnements de marché
  5. La logique de transaction est claire, facile à comprendre et à exécuter
  6. Calcul simple et haute efficacité

Risque stratégique

  1. Les décalages de la moyenne mobile peuvent entraîner des retards dans les signaux d’entrée et de sortie
  2. L’indicateur RSI peut générer de faux signaux dans un marché volatil
  3. Les stops suiveurs à pourcentage fixe peuvent ne pas convenir à toutes les conditions de marché
  4. L’optimisation des paramètres peut conduire à un surapprentissage
  5. Pourrait subir des baisses importantes dans des marchés volatils

Orientation de l’optimisation de la stratégie

  1. Présentation du pourcentage de stop suiveur adaptatif à la volatilité
  2. Ajouter un indicateur de volume comme confirmation auxiliaire
  3. Utilisez la moyenne mobile exponentielle au lieu de la moyenne mobile simple pour améliorer la sensibilité
  4. Ajoutez des indicateurs de sentiment du marché pour optimiser les opportunités de trading
  5. Développer un mécanisme d’optimisation dynamique des paramètres
  6. Mécanisme de confirmation de stratégie multi-période ajouté

Résumer

Il s’agit d’une stratégie de trading quantitative avec une structure complète et une logique claire. Il combine plusieurs indicateurs techniques pour rechercher des rendements stables tout en contrôlant les risques. Bien qu’il y ait une marge d’optimisation, le cadre de base présente une bonne praticité et une bonne évolutivité. La stratégie convient aux investisseurs à moyen et long terme et présente une bonne adaptabilité aux différents environnements de marché.

Code source de la stratégie
/*backtest
start: 2025-01-09 00:00:00
end: 2025-01-16 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy("200 SMA Crossover Strategy", overlay=false)

// Define inputs
smaLength = input.int(200, title="SMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiThreshold = input.float(40, title="RSI Threshold")
trailStopPercent = input.float(5.0, title="Trailing Stop Loss (%)")
waitingPeriod = input.int(10, title="Waiting Period (Days)")

// Calculate 200 SMA
sma200 = ta.sma(close, smaLength)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Plot the 200 SMA and RSI
plot(sma200, color=color.blue, linewidth=2, title="200 SMA")
plot(rsi, color=color.purple, title="RSI", display=display.none)

// Define buy and sell conditions
var isLong = false
var float lastExitTime = na
var float trailStopPrice = na

// Explicitly declare timeSinceExit as float
float timeSinceExit = na(lastExitTime) ? na : (time - lastExitTime) / (24 * 60 * 60 * 1000)
canEnter = na(lastExitTime) or timeSinceExit > waitingPeriod

buyCondition = close > sma200 and rsi < rsiThreshold and canEnter

if (buyCondition and not isLong)
    strategy.entry("Buy", strategy.long)
    trailStopPrice := na
    isLong := true

// Update trailing stop loss if long
if (isLong)
    trailStopPrice := na(trailStopPrice) ? close * (1 - trailStopPercent / 100) : math.max(trailStopPrice, close * (1 - trailStopPercent / 100))

// Check for trailing stop loss or sell condition
if (isLong and (close < trailStopPrice or close < sma200))
    strategy.close("Buy")
    lastExitTime := time
    isLong := false

// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=(isLong and close < trailStopPrice) or close < sma200, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")