
La stratégie est un système de suivi des tendances basé sur une combinaison d’indicateurs relativement faibles (RSI) et de moyennes mobiles (MA). Le cœur de la stratégie est de capturer les variations de la dynamique des prix à travers les indicateurs RSI, tout en utilisant la moyenne mobile sur 90 jours comme filtre de tendance, permettant un suivi efficace des tendances du marché. La stratégie utilise un RSI réglable pour dépasser les seuils de survente et de survente et définit un délai de retracement de 2500 jours pour garantir la viabilité et la stabilité de la stratégie.
La stratégie repose sur les éléments fondamentaux suivants :
Les conditions d’achat sont déclenchées lorsque le RSI atteint 70, tandis que les signaux de vente sont déclenchés lorsque le RSI atteint 62. Le système calcule automatiquement et exécute l’opération d’ouverture complète de la position lorsque les conditions d’ouverture sont remplies et que la période de retracement est en vigueur.
Suggestions de contrôle des risques :
Optimisation du système de signalisation:
Optimisation de la gestion des positions:
Optimisation du contrôle des risques :
Optimisation du système de détection:
La stratégie, combinée à l’indicateur de dynamique RSI et à un filtre de tendance à la ligne de la même longueur, a permis de construire un système de négociation relativement complet. L’avantage de la stratégie réside dans sa grande adaptabilité et sa maîtrise parfaite des risques, mais il faut toujours tenir compte de la sensibilité des paramètres et de l’impact des changements de l’environnement du marché.
/*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("Simple RSI Strategy - Adjustable Levels with Lookback Limit and 30-Day MA", overlay=true)
// Parameters
rsi_length = input.int(12, title="RSI Length", minval=1) // RSI period
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1, maxval=100) // Overbought level
rsi_oversold = input.int(62, title="RSI Oversold Level", minval=1, maxval=100) // Oversold level
ma_length = input.int(90, title="Moving Average Length", minval=1) // Moving Average period
// Calculate lookback period (2000 days)
lookback_period = 2500
start_date = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - lookback_period)
// RSI Calculation
rsi_value = ta.rsi(close, rsi_length)
// 30-Day Moving Average Calculation
ma_value = ta.sma(close, ma_length)
// Buy Condition: Buy when RSI is above the overbought level
long_condition = rsi_value > rsi_overbought
// Sell Condition: Sell when RSI drops below the oversold level
sell_condition = rsi_value < rsi_oversold
// Check if current time is within the lookback period
in_lookback_period = (time >= start_date)
// Execute Buy with 100% equity if within lookback period
if (long_condition and strategy.position_size == 0 and in_lookback_period)
strategy.entry("Buy", strategy.long, qty=strategy.equity / close)
if (sell_condition and strategy.position_size > 0)
strategy.close("Buy")
// Plot RSI on a separate chart for visualization
hline(rsi_overbought, "Overbought", color=color.red)
hline(rsi_oversold, "Oversold", color=color.green)
plot(rsi_value, title="RSI", color=color.blue)
// Plot the 30-Day Moving Average on the chart
plot(ma_value, title="30-Day MA", color=color.orange, linewidth=2)