
Cette stratégie combine les bandes de Brin et l’indicateur RSI pour identifier les points de retournement potentiels du marché grâce à une méthode de double confirmation. Entrer dans une position de multiples lorsque le prix traverse la bande de Brin et que le RSI confirme une condition de survente. Entrer dans une position vide lorsque le prix traverse la bande de Brin et que le RSI confirme une condition de survente.
La stratégie est basée sur le principe de la régression des moyennes et fonctionne avec un mécanisme de confirmation dynamique. Les bandes de Brin aident à identifier les extrêmes de prix par rapport à la volatilité récente, tandis que le RSI confirme si le marché est réellement en survente ou en survente.
Sur la mise en œuvre du code, la stratégie utilise un SMA de 30 jours pour calculer l’axe central de la courbe de Brin, un facteur de différentiel standard de 2,0 et une confirmation de dynamique avec un RSI de 14 jours. Un signal de tête aérienne est déclenché lorsque le prix traverse la trajectoire et que le RSI est supérieur à 70; un signal de tête multiple est déclenché lorsque le prix traverse la trajectoire et que le RSI est inférieur à 30.
La stratégie de double confirmation de la reprise des valeurs moyennes avec la protection contre les arrêts de suivi représente une approche de trading de retournement de marché bien pensée. La stratégie vise à capturer les retournements de haute probabilité tout en filtrant les faux signaux grâce à la combinaison des signaux de volatilité des bandes de Brin et de la confirmation de la dynamique du RSI. Le mécanisme de gestion des risques intégré offre une couche de protection importante en fixant et en suivant les arrêts de suivi.
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("BB & RSI Trailing Stop Strategy", overlay=true, initial_capital=10000)
// --- Inputs for Bollinger Bands, RSI, and Trade Management ---
bb_length = input.int(30, title="BB Length", minval=1)
bb_mult = input.float(2.0, title="BB StdDev", minval=0.001, maxval=50)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1)
rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1)
// We only need an input for the fixed stop loss now.
fixed_stop_points = input.int(40, title="Fixed Stop Loss Points", minval=1)
// --- Define Trailing Stop Value ---
// The trailing stop is hardcoded to 40 points as requested.
trailing_stop_points = 40
// --- Calculate Indicators ---
// Bollinger Bands
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// RSI
rsi_value = ta.rsi(close, rsi_length)
// --- Plot the Indicators on the chart ---
plot(basis, "Basis", color=color.new(color.gray, 0))
plot(upper, "Upper", color=color.new(color.red, 0))
plot(lower, "Lower", color=color.new(color.green, 0))
// --- Define Entry Conditions ---
// Short entry when price crosses upper band AND RSI is overbought
short_condition = ta.crossover(close, upper) and (rsi_value > rsi_overbought)
// Long entry when price crosses under lower band AND RSI is oversold
long_condition = ta.crossunder(close, lower) and (rsi_value < rsi_oversold)
// --- Execute Trades and Manage Exits ---
if (strategy.position_size == 0)
// Logic for SHORT trades
if (short_condition)
strategy.entry("BB/RSI Short", strategy.short)
// Logic for LONG trades
if (long_condition)
strategy.entry("BB/RSI Long", strategy.long)
// Apply the fixed stop loss and trailing stop to any open position
strategy.exit(id="Exit Order",
loss=fixed_stop_points,
trail_points=trailing_stop_points,
trail_offset=0)