
La stratégie utilise les bandes de Brin et les indices RSI aléatoires pour générer des signaux susceptibles d’indiquer un revirement de prix. Par défaut, les signaux de baisse sont affichés en rouge et les signaux de hausse en vert. Avant d’émettre un signal, la stratégie recherche les situations suivantes:
Le principe central de cette stratégie est d’utiliser les bandes de Boolean et le RSI aléatoire pour capturer les signaux de revers potentiels. Les bandes de Boolean sont constituées d’un moyen-trajet (souvent une moyenne mobile) et de deux trajets ascendants et descendants (souvent un écart standard de déduction) qui peuvent refléter les fluctuations des prix. Lorsque les prix franchissent la trajectoire ascendante ou descendante, cela signifie généralement que l’émotion du marché est trop optimiste ou pessimiste et que des revers peuvent survenir. Le RSI aléatoire repose sur l’indicateur RSI pour appliquer à nouveau l’indicateur aléatoire et refléter de manière plus agile l’état de survente du marché.
La stratégie de signal de crête RSI aléatoire en bandes de Brin est une stratégie de négociation simple et facile à utiliser, qui combine deux indicateurs techniques, la bande de Brin et le RSI aléatoire, afin de briser la bande de Brin et le RSI aléatoire pour atteindre la zone de crête de survente et de survente en tant que signal de revers potentiel. La stratégie présente les avantages de la fiabilité du signal, de la largeur d’application, etc., mais se comporte mal dans les marchés turbulents, peut être en retard dans les marchés tendanciels, et les paramètres sont également plus sensibles.
/*backtest
start: 2023-04-06 00:00:00
end: 2024-04-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(shorttitle='BBSR Extreme', title='Bollinger Bands Stochastic RSI Extreme Signal', overlay=true)
//General Inputs
src = input(close, title='Source')
offset = input.int(0, 'Offset', minval=-500, maxval=500)
//Bollinger Inputs
length = input.int(20, title='Bollinger Band Length', minval=1)
mult = input.float(2.0, minval=0.001, maxval=50, title='StdDev')
//Bollinger Code
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, 'BB Basis', color=color.new(#872323, 0), offset=offset)
p1 = plot(upper, 'BB Upper', color=color.new(color.teal, 0), offset=offset)
p2 = plot(lower, 'BB Lower', color=color.new(color.teal, 0), offset=offset)
fill(p1, p2, title='BB Background', color=color.new(#198787, 95))
//Stoch Inputs
smoothK = input.int(3, 'K', minval=1)
smoothD = input.int(3, 'D', minval=1)
lengthRSI = input.int(14, 'RSI Length', minval=1)
lengthStoch = input.int(14, 'Stochastic Length', minval=1)
upperlimit = input.float(90, 'Upper Limit', minval=0.01)
lowerlimit = input.float(10, 'Upper Limit', minval=0.01)
//Stochastic Code
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
//Evaluation
Bear = close[1] > upper[1] and close < upper and k[1] > upperlimit and d[1] > upperlimit
Bull = close[1] < lower[1] and close > lower and k[1] < lowerlimit and d[1] < lowerlimit
//Plots
plotshape(Bear, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny)
plotshape(Bull, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny)
// Alert Functionality
alertcondition(Bear or Bull, title='Any Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' BB Stochastic Extreme!')
alertcondition(Bear, title='Bearish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bearish BB Stochastic Extreme!')
alertcondition(Bull, title='Bullish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bullish BB Stochastic Extreme!')
if Bear
strategy.entry('Enter Long', strategy.long)
else if Bull
strategy.entry('Enter Short', strategy.short)