
Cette stratégie combine deux indicateurs techniques, l’indice relativement faible (RSI) et les bandes de Bollinger (Bollinger Bands), pour générer un signal d’achat lorsque le prix est en dessous de la bande de Bollinger et un signal de vente lorsque le prix est au-dessus de la bande de Bollinger. La stratégie ne déclenche un signal de négociation que lorsque l’indicateur RSI et l’indicateur de Bollinger sont en survente ou en survente simultanément.
La double stratégie RSI et les courbes de Brent permet de juger de la situation du marché de manière plus globale en combinant des indicateurs de tendance et de dynamique et de donner des signaux de négociation correspondants. Cependant, la stratégie peut être moins performante dans les marchés instables et ne dispose pas de mesures de contrôle du risque.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger + RSI, Double Strategy (by ChartArt) v1.1", shorttitle="CA_-_RSI_Bol_Strat_1.1", overlay=true)
// ChartArt's RSI + Bollinger Bands, Double Strategy - Update
//
// Version 1.1
// Idea by ChartArt on January 18, 2015.
//
// This strategy uses the RSI indicator
// together with the Bollinger Bands
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// In this version 1.1 the strategy was
// both simplified for the user and
// made more successful in backtesting.
//
// List of my work:
// https://www.tradingview.com/u/ChartArt/
//
// __ __ ___ __ ___
// / ` |__| /\ |__) | /\ |__) |
// \__, | | /~~\ | \ | /~~\ | \ |
//
//
///////////// RSI
RSIlength = input(14,title="RSI Period Length")
RSIoverSold = 30
RSIoverBought = 70
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = 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=color.blue,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=color.red,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=color.green,title="Bollinger Bands Lower Line")
fill(p1, p2)
// Entry conditions
crossover_rsi = crossover(vrsi, RSIoverSold) and crossover(source, BBlower)
crossunder_rsi = crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)
///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
if (crossover_rsi)
strategy.entry("RSI_BB_L", strategy.long, comment="RSI_BB_L")
else
strategy.cancel(id="RSI_BB_L")
if (crossunder_rsi)
strategy.entry("RSI_BB_S", strategy.short, comment="RSI_BB_S")
else
strategy.cancel(id="RSI_BB_S")