Cette stratégie est un système de négociation dynamique basé sur l'indicateur RSI, capturant les points tournants du marché à travers des zones de surachat/survente réglables combinées à des paramètres de sensibilité de convergence/divergence.
La stratégie utilise un RSI de 14 périodes comme indicateur de base, définissant 80 et 30 comme niveaux de référence de surachat et de survente. En introduisant un paramètre de sensibilité de convergence / divergence (défini à 3,0), elle ajoute une capacité d'ajustement dynamique à la stratégie traditionnelle du RSI. Les positions longues sont établies lorsque le RSI dépasse le niveau de surachat et fermées lorsque le RSI tombe en dessous du niveau de survente. De même, les positions longues sont établies lorsque le RSI tombe en dessous du niveau de survente et fermées lorsque le RSI dépasse le niveau de surachat. Chaque transaction utilise un contrat fixe de 10 pour assurer la stabilité de l'utilisation du capital.
Il s'agit d'une stratégie d'inversion de gamme dynamique basée sur l'indicateur RSI, permettant d'obtenir un système de trading relativement complet grâce à des paramètres flexibles et à des règles de trading claires. Les principaux avantages de la stratégie résident dans sa capacité d'ajustement dynamique et son contrôle clair des risques, tout en accordant une attention particulière aux risques potentiels sur les marchés agités et en tendance.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Options Strategy", overlay=true) // RSI settings rsiLength = input(14, title="RSI Length") rsiOverbought = input(80, title="Overbought Level") rsiOversold = input(30, title="Oversold Level") rsiSource = input(close, title="RSI Source") rsi = ta.rsi(rsiSource, rsiLength) // Convergence/Divergence Input convergenceLevel = input(3.0, title="Convergence/Divergence Sensitivity") // Order size (5 contracts) contracts = 10 // Date Range for Backtesting startDate = timestamp("2024-09-10 00:00") endDate = timestamp("2024-11-09 23:59") // Limit trades to the backtesting period inDateRange = true // RSI buy/sell conditions with convergence/divergence sensitivity buySignalOverbought = ta.crossover(rsi, rsiOverbought - convergenceLevel) sellSignalOversold = ta.crossunder(rsi, rsiOversold + convergenceLevel) buySignalOversold = ta.crossunder(rsi, rsiOversold - convergenceLevel) sellSignalOverbought = ta.crossover(rsi, rsiOverbought + convergenceLevel) // Execute trades only within the specified date range if (inDateRange) // Buy when RSI crosses above 80 (overbought) if (buySignalOverbought) strategy.entry("Buy Overbought", strategy.long, qty=contracts) // Sell when RSI crosses below 30 (oversold) if (sellSignalOversold) strategy.close("Buy Overbought") // Buy when RSI crosses below 30 (oversold) if (buySignalOversold) strategy.entry("Buy Oversold", strategy.long, qty=contracts) // Sell when RSI crosses above 80 (overbought) if (sellSignalOverbought) strategy.close("Buy Oversold") // Plot the RSI for visualization plot(rsi, color=color.blue, title="RSI") hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green)