
Cette stratégie identifie les opportunités de vente et d’achat potentielles du marché en calculant l’indice de force relative (RSI). Elle utilise l’indicateur RSI pour déterminer le point où le prix pourrait passer d’une tendance à une contre-tendance afin de capturer les opportunités de revers.
L’indicateur central de la stratégie est le RSI, qui indique le nombre de jours de hausse des prix de clôture par rapport au nombre de jours de baisse des prix au cours d’une période donnée, et est utilisé pour déterminer si un actif est surévalué ou sous-évalué. Le RSI est affiché avec une valeur comprise entre 0 et 100, une valeur élevée indiquant une forte hausse du marché et une valeur faible indiquant une forte baisse du marché.
La stratégie définit d’abord les paramètres du RSI, y compris la longueur du cycle (par défaut 14) et les seuils de la zone de survente (par défaut 70 et 30). Ensuite, le RSI est calculé en fonction du prix de clôture. Un signal d’achat est généré lorsque le RSI dépasse les seuils de la zone de survente; un signal de vente est généré lorsque le RSI dépasse les seuils de la zone de survente.
La stratégie trace simultanément la courbe de l’indicateur RSI et la courbe de la marge. Les signaux d’achat et de vente sont marqués par des mots et des graphiques sur le graphique des prix. De plus, la stratégie calcule et trace le pourcentage de variation des prix depuis le signal de transaction précédent, permettant au trader de visualiser les mouvements des prix après le signal.
Cette stratégie est conçue selon le principe de trading inversé de l’indice d’intensité relative, principalement pour déterminer si un actif est sur-acheté ou sur-vendu de manière significative dans un court laps de temps, afin de capturer les opportunités de retournement ultérieures. Le calcul des variations en pourcentage et l’accompagnement d’indices de trading visualisés peuvent aider à la décision de trading. Les paramètres RSI peuvent être personnalisés et les utilisateurs peuvent les ajuster en fonction de leurs préférences personnelles.
/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved RSI Strategy", overlay=true)
// Define RSI parameters
rsiLength = input(14, title="RSI Length")
rsiOversold = input(30, title="Oversold Threshold")
rsiOverbought = input(70, title="Overbought Threshold")
// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)
// Define entry conditions
longCondition = ta.crossover(rsiValue, rsiOversold)
shortCondition = ta.crossunder(rsiValue, rsiOverbought)
// Plot RSI and thresholds
plot(rsiValue, title="RSI", color=color.blue)
hline(rsiOversold, title="Oversold Threshold", color=color.red)
hline(rsiOverbought, title="Overbought Threshold", color=color.green)
// Calculate percentage change since last signal
var float percentageChange = na
lastCloseValue = ta.valuewhen(longCondition or shortCondition, close, 1)
if longCondition or shortCondition
percentageChange := (close - lastCloseValue) / lastCloseValue * 100
plot(percentageChange, color=color.blue, style=plot.style_histogram, linewidth=1, title="% Change since last signal")
// Execute strategy
if longCondition
strategy.entry("RSI Long", strategy.long)
if shortCondition
strategy.entry("RSI Short", strategy.short)
// Plot shapes and text for buy/sell signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")