L'indicateur S&P500 Advanced RSI Indicator Trading Strategy est une stratégie à moyen et long terme de suivi de tendance pour le trading de l'indice S&P500. Cette stratégie combine plusieurs filtres avec des signaux de surachat et de survente du RSI pour contrôler le risque et réduire les faux signaux.
L'indicateur de base de cette stratégie est le RSI, qui utilise le RSI à 2 périodes pour déterminer les niveaux de surachat et de survente des prix.
Filtre RSI hebdomadaire: exige que le RSI hebdomadaire soit inférieur à un seuil pour éviter des positions longues trop agressives sur un marché haussier.
Filtre MA: exige que le prix soit au-dessus d'une certaine période MA pour assurer une entrée après le début d'une tendance haussière.
Filtre RSI secondaire: exige que l'indicateur RSI secondaire tombe également en dessous de la ligne de survente pour éviter de fausses ruptures.
Filtre de rupture ATR: évite de prendre du temps après une forte baisse de prix pour contrôler le risque.
La combinaison de ces filtres multiples permet d'identifier efficacement les points d'inversion des prix à moyen et long terme, de contrôler la fréquence des échanges et de réduire les risques.
La stratégie de négociation de l'indicateur avancé RSI S&P500 présente les avantages suivants:
La combinaison de plusieurs indicateurs auxiliaires réduit les faux signaux et améliore la fiabilité.
Le filtre de rupture ATR contrôle le risque en évitant d'acheter après une chute de prix.
Le filtre hebdomadaire RSI empêche les longs trop agressifs dans un marché haussier.
Le filtre MA assure l'entrée après le début d'une tendance haussière.
Le filtre RSI secondaire évite les fausses éruptions de RSI.
Convient à la détention à moyen et à long terme et évite les surtrades.
Les principaux risques de cette stratégie sont les suivants:
L'indicateur RSI, en tant qu'indicateur principal, est un peu en retard.
Les conditions de filtrage pourraient être trop strictes et manquer des opportunités.
L'arrêt de perte peut être retiré lors d'un flash crash.
Les RSI et les filtres simples ont des capacités limitées dans des conditions de marché complexes.
Les mesures d'atténuation correspondantes:
Ajustez les paramètres pour éviter de manquer des transactions.
Augmenter la taille des positions pour tenir compte de certaines transactions manquées.
Réduisez modérément les conditions de filtration pour augmenter la fréquence des échanges.
Considérez la possibilité de combiner plusieurs indicateurs pour une analyse de marché complexe.
La stratégie peut être encore optimisée dans les directions suivantes:
Testez en ajustant les paramètres du RSI pour trouver les lignes de surachat/survente optimales.
Test des paramètres de la période de l'AM pour déterminer les valeurs optimales.
Testez l'ajustement des paramètres ATR afin d'optimiser les filtres de rupture des prix.
Essayez de combiner d'autres indicateurs pour une meilleure analyse des marchés complexes.
Optimiser les paramètres hebdomadaires de l'indicateur RSI pour trouver les paramètres optimaux.
Optimiser les paramètres secondaires du RSI, y compris la période et les lignes surachetées/survendues.
L'indicateur S&P500 Advanced RSI Indicator Trading Strategy identifie les points d'inversion de tendance à moyen et long terme en utilisant l'indicateur RSI et de multiples conditions de filtrage pour contrôler le risque. Il utilise efficacement les forces de l'indicateur RSI pour bloquer les tendances à moyen et long terme et éviter les surtrades.
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // Lets connect on LinkedIn (https://www.linkedin.com/in/lets-grow-with-quality/) // Optimized for S&P500 Daily. Use it as a buy confirmation on certain levels (Springs, Pullbacks, ...) or let it run // without "Weekly RSI Filter" and pyramiding for 4 x more trades. // This strategy is optimized for minimum drawdowns and has several filters on board for use on different securities strategy("S&P500 RSI2 Studio", overlay=true) baseLength = input(2, title="Base RSI Length") overSold = input(10, title="Overbought Level") overBought = input(90, title="Oversold Level") overBoughtExit = input(70, title="Overbought Level Exit") enableWeeklyRsiFilter = input(true, title="Enable Weekly RSI Filter") weeklyOverSold = input(30, title="Weekly Oversold Level") weeklyOverBought = input(70, title="Weekly OverOverbought Level") weeklyRsiLength = input(2, title="weeklyRsiLength") enableWmaFilter = input(false, title="Enable MA Filter") wmaLength = input(100, title="WMA Length") exitRsiLength = input(4, title="Exit RSI Length") dailyRsiLength = input(4, title="Daily RSI Length") enable2ndRSIFilter = input(false, title="Enable 2nd RSI Filter") SecRSIFilterLengh = input(14, title="2nd RSI Filter Length") SecRSIFilterOverSold = input(20, title="2nd RSI Filter Oversold Level") enableAtrFilter = input(true, title="Enable ATR Filter") numAtrDays = input(14, title="Number of Days ATR Average") atrFilterFactor = input(2, title="ATR Filter Factor") weeklyRsi = request.security(syminfo.tickerid, "W", ta.wma(ta.rsi(close, weeklyRsiLength), 1)) exitRsi = request.security(syminfo.tickerid, "D", ta.wma(ta.rsi(close, exitRsiLength), 2)) dailyRsi = request.security(syminfo.tickerid, "D", ta.wma(ta.rsi(close, dailyRsiLength), 2)) price = close priceDropCondition = ta.atr(1) >= ta.atr(numAtrDays) * atrFilterFactor preventEarlyEntry = not priceDropCondition vrsi = ta.wma(ta.rsi(price, baseLength), 2) wma = ta.wma(price, wmaLength) buyCond1 = ta.crossunder(vrsi, overSold) buyCond2 = enableWeeklyRsiFilter ? weeklyRsi < weeklyOverSold : true buyCond3 = enable2ndRSIFilter ? ta.wma(ta.rsi(close, SecRSIFilterLengh),2) < SecRSIFilterOverSold : true buyCond4 = enableWmaFilter ? price > ta.wma(close, wmaLength) : true buyCond5 = enableAtrFilter ? preventEarlyEntry : true buy = buyCond1 and buyCond2 and buyCond3 and buyCond4 and buyCond5 if (not na(vrsi)) if buy strategy.entry("RSI2 Studio", strategy.long, comment="Long") if (exitRsi > overBoughtExit) strategy.close("RSI2 Studio", comment="Close Long")