
La stratégie combine deux indicateurs techniques, l’indice de force relative (RSI) et le canal de régression linéaire (LRC), afin de capturer les occasions de survente et de survente du marché. La stratégie émet un signal d’achat lorsque le prix touche le bas du canal de régression linéaire et que le RSI est inférieur à 30; la stratégie émet un signal de vente lorsque le prix touche le haut du canal de régression linéaire et que le RSI est supérieur à 70. Cette approche combinant le RSI et le LRC permet d’identifier efficacement les opportunités de négociation potentielles tout en réduisant la probabilité de faux signaux.
Le RSI est un indicateur dynamique utilisé pour mesurer l’ampleur et la direction des variations récentes des prix. Lorsque le RSI est inférieur à 30, le marché est considéré comme étant en survente; lorsque le RSI est supérieur à 70, le marché est considéré comme étant en survente. Le RSI est un indicateur de suivi de tendance composé d’une ligne de référence et de deux lignes parallèles (channel supérieur et canal inférieur).
La stratégie RSI et la stratégie de négociation de la chaîne de régression linéaire essaient de capturer les occasions de survente et de survente du marché en combinant des indicateurs de dynamique et des indicateurs de suivi de tendance. L’avantage de la stratégie réside dans sa logique claire, sa facilité d’exécution et sa capacité à s’appliquer à différentes périodes. Cependant, la stratégie présente également certains risques, tels que des faux signaux, une sensibilité aux paramètres et un manque de gestion des risques, etc.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI and Linear Regression Channel Strategy", overlay=true)
// Define input parameters
rsiLength = input(14, title="RSI Length")
channelLength = input(100, title="Linear Regression Channel Length")
rsiBuyThreshold = 30
rsiSellThreshold = 70
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Calculate Linear Regression Channel
basis = ta.linreg(close, channelLength, 0)
dev = ta.stdev(close, channelLength)
upperChannel = basis + dev
lowerChannel = basis - dev
// Plot Linear Regression Channel
plot(basis, color=color.blue, title="Basis")
plot(upperChannel, color=color.red, title="Upper Channel")
plot(lowerChannel, color=color.green, title="Lower Channel")
// Entry condition: Price touches lower channel and RSI crosses below buy threshold
longCondition = (close <= lowerChannel) and (rsi < rsiBuyThreshold)
// Exit condition: Price touches upper channel and RSI crosses above sell threshold
shortCondition = (close >= upperChannel) and (rsi > rsiSellThreshold)
// Strategy execution
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.close("Long")
// Plot buy/sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")