
Cet article décrit en détail une stratégie de négociation basse et haute déviant d’une tendance basée sur un indicateur relativement faible ((RSI)). Cette stratégie permet de capturer les occasions potentielles de renversement de tendance en identifiant les déviations entre le prix et l’indicateur RSI, fournissant aux traders des signaux d’entrée et de sortie précis. La stratégie combine de manière unique des signaux visuels et l’analyse des indicateurs techniques pour améliorer la précision et la rapidité des décisions de négociation.
Le principe de base de la stratégie est basé sur la théorie de la déviation des hauts et des bas de l’indicateur de force relative (RSI). La mise en œuvre concrète comprend les étapes clés suivantes:
Le RSI dynamique dévie de la stratégie de tendance par une analyse précise des indicateurs techniques et des signaux visuels, offrant aux traders une méthode de trading de tendance relativement efficace. Grâce à une optimisation continue et à une gestion des risques, la stratégie devrait maintenir une performance stable dans différents environnements de marché.
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("RSI Divergence Strategy - Visible Signals", overlay=true)
// 1. Basic Inputs (Keep it simple)
rsiLength = input.int(14, "RSI Length")
lookback = input.int(10, "Lookback Period", minval=5)
oversold = input.int(30, "Oversold Level")
overbought = input.int(70, "Overbought Level")
// 2. Calculate Indicators
rsi = ta.rsi(close, rsiLength)
priceLow = ta.lowest(low, lookback)
priceHigh = ta.highest(high, lookback)
rsiLow = ta.lowest(rsi, lookback)
rsiHigh = ta.highest(rsi, lookback)
// 3. Simple Divergence Detection
bullishDiv = low == priceLow and rsi > rsiLow and rsi < oversold
bearishDiv = high == priceHigh and rsi < rsiHigh and rsi > overbought
// 4. Visual Signals (Large and Clear)
plotshape(bullishDiv, "Buy", shape.triangleup, location.belowbar,
color=color.new(color.green, 0), size=size.large)
plotshape(bearishDiv, "Sell", shape.triangledown, location.abovebar,
color=color.new(color.red, 0), size=size.large)
// 5. Optional: Add Background for Better Visibility
bgcolor(bullishDiv ? color.new(color.green, 90) : bearishDiv ? color.new(color.red, 90) : na)
// 6. Basic Strategy Execution
if bullishDiv
strategy.entry("Long", strategy.long)
if bearishDiv
strategy.entry("Short", strategy.short)
// 7. Debugging Table (To verify values)
var table debugTable = table.new(position.top_right, 4, 1)
if barstate.islast
table.cell(debugTable, 0, 0, "RSI: " + str.tostring(rsi))
table.cell(debugTable, 1, 0, "Price Low: " + str.tostring(priceLow))
table.cell(debugTable, 2, 0, "RSI Low: " + str.tostring(rsiLow))
table.cell(debugTable, 3, 0, "Signal: " + (bullishDiv ? "BUY" : bearishDiv ? "SELL" : "NONE"))
// Test Settings (paste these above the strategy call)
//rsiLength := 5
//lookback := 5
//oversold := 20
//overbought := 80