Cette stratégie utilise des bandes de Bollinger et des indicateurs de RSI stochastique pour générer des signaux qui peuvent indiquer des renversements de prix. Par défaut, les signaux baissiers sont affichés sous forme de flèches rouges et les signaux haussiers sous forme de flèches vertes. Avant d'envoyer un signal, la stratégie recherche les conditions suivantes: (bullish) la bougie se ferme au-dessus de la bande de Bollinger supérieure, la bougie suivante se ferme à l'intérieur de la bande supérieure et le RSI stochastique est en dessous d'un seuil prédéfini (défaut 10); (baissier) la bougie se ferme en dessous de la bande de Bollinger inférieure, la bougie suivante se ferme à l'intérieur de la bande inférieure et le RSI stochastique est au-dessus d'un seuil prédéfini (défaut 90).
Le principe de base de cette stratégie est d'utiliser les bandes de Bollinger et le RSI stochastique, deux indicateurs techniques, pour capturer les signaux potentiels d'inversion des prix. Les bandes de Bollinger se composent d'une bande moyenne (généralement une moyenne mobile) et de deux bandes supérieures et inférieures (bande moyenne plus/moins les écarts standards), qui peuvent refléter la volatilité des prix. Lorsque le prix franchit la bande supérieure ou inférieure, cela indique généralement que le sentiment du marché est trop optimiste ou pessimiste, et le prix peut s'inverser. Le RSI stochastique est un indicateur stochastique appliqué au-dessus de l'indicateur RSI, qui reflète plus sensiblement l'état de surachat et de survente du marché.
La stratégie de signal extrême RSI stochastique de Bollinger Bands combine deux indicateurs techniques, les bandes de Bollinger et le RSI stochastique, en utilisant les ruptures de prix des bandes de Bollinger supérieures et inférieures et le RSI stochastique atteignant les zones extrêmes de surachat / survente comme signaux de renversement potentiels, formant une stratégie de trading simple et facile à utiliser. La stratégie présente des avantages tels que des signaux fiables et une large applicabilité, mais elle fonctionne mal sur les marchés de gamme, peut être à la traîne sur les marchés en tendance et est assez sensible aux paramètres.
/*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)