Les bandes de Bollinger + la double stratégie longue du RSI
Cette stratégie combine l'indicateur Bollinger Bands et l'indicateur RSI pour aller long lorsque les deux montrent un signal de survente et pour fermer la position longue lorsque les deux montrent un signal de surachat.
Cette stratégie combine les forces des bandes de Bollinger et des indicateurs RSI pour trader lorsque les deux montrent des extrêmes. Cela évite les faux signaux d'un seul indicateur et améliore la précision du signal. Par rapport aux versions précédentes, seule l'établissement de positions longues réduit le risque de trading. Des optimisations futures peuvent être effectuées grâce à l'ajustement des paramètres, des mécanismes de stop loss, en les combinant avec des indicateurs de tendance, etc. pour rendre la stratégie adaptable à différents environnements de marché.
/*backtest start: 2023-11-30 00:00:00 end: 2023-12-07 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Bollinger + RSI, Double Strategy Long-Only (by ChartArt) v1.2", shorttitle="CA_-_RSI_Bol_Strat_1.2", overlay=true) // ChartArt's RSI + Bollinger Bands, Double Strategy UPDATE: Long-Only // // Version 1.2 // Idea by ChartArt on October 4, 2017. // // This strategy uses the RSI indicator // together with the Bollinger Bands // to buy when the price is below the // lower Bollinger Band (and to close the // long trade when this value is above // the upper Bollinger band). // // This simple strategy only longs when // both the RSI and the Bollinger Bands // indicators are at the same time in // a oversold condition. // // In this new version 1.2 the strategy was // simplified by going long-only, which made // it more successful in backtesting. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // ///////////// RSI RSIlength = input(6,title="RSI Period Length") RSIoverSold = 50 RSIoverBought = 50 price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(200, minval=1,title="Bollinger Period Length") BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = crossover(source, BBlower) sellEntry = crossunder(source, BBupper) plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line") p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line") fill(p1, p2) ///////////// Colors switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na barcolor(switch1?TrendColor:na) bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy long = (crossover(vrsi, RSIoverSold) and crossover(source, BBlower)) close_long = (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)) if (not na(vrsi)) if long strategy.entry("RSI_BB", strategy.long, stop=BBlower, comment="RSI_BB") else strategy.cancel(id="RSI_BB") if close_long strategy.close("RSI_BB") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)