La stratégie du RSI à double ligne de la bande de Bollinger

Auteur:ChaoZhang est là., Date: 2023-12-26 à 15h30:26
Les étiquettes:

img

Résumé

Cette stratégie combine les bandes de Bollinger avec l'indicateur d'indice de force relative (RSI). Elle nécessite des signaux des deux indicateurs - RSI suracheté / survendu ainsi que des ruptures des lignes supérieures / inférieures des bandes de Bollinger - avant d'émettre des signaux de trading. Cela rend les signaux de la stratégie plus stricts et fiables.

La logique de la stratégie

  1. Calculer les bandes de Bollinger composées de la ligne moyenne, de la ligne supérieure et de la ligne inférieure en fonction des prix de clôture au cours d'une période de référence.
  2. Calculer l'indicateur RSI pour juger si le marché est trop haussier ou baissier.
  3. Commercer à découvert uniquement lorsque l'indice de volatilité indique un surachat (supérieur au paramètre rsi_overbought) et que le prix dépasse la ligne supérieure de Bollinger.
  4. Commencez le trading long uniquement lorsque le RSI montre une survente (inférieure au paramètre rsi_oversold) et que le prix dépasse la ligne inférieure de Bollinger.

En exigeant l'accord des bandes de Bollinger et du RSI, cette stratégie évite d'agir sur des signaux trompeurs d'un seul indicateur, ce qui rend plus fiable.

Les avantages

  1. Utilise les forces des bandes de Bollinger et du RSI, rendant les signaux plus stricts et évitant les erreurs.
  2. Les bandes de Bollinger définissent des canaux dynamiques pour capturer les tendances de volatilité du marché.
  3. L'indicateur RSI mesure les scénarios de surachat/survente, évitant de poursuivre des pics ou de tuer des baisses.

Les risques

  1. Les paramètres de Bollinger inappropriés peuvent échouer à envelopper efficacement les prix.
  2. Les paramètres RSI incorrects peuvent ne pas permettre de juger avec précision des conditions réelles de surachat/survente.
  3. La stratégie elle-même ne peut pas déterminer la direction de la tendance, nécessitant d'autres indicateurs.

Pour faire face aux risques susmentionnés, il convient d'optimiser les paramètres, de tester rigoureusement les modèles et de déterminer les principales tendances à l'aide d'indicateurs supplémentaires.

Directions d'optimisation

  1. Testez les bandes de Bollinger avec différentes périodes de rétrospective pour trouver les paramètres optimaux.
  2. Testez différents paramètres RSI pour déterminer des réglages relativement meilleurs.
  3. Ajoutez d'autres indicateurs comme les moyennes mobiles pour déterminer la tendance globale.

Conclusion

Cette stratégie combine avec succès les forces des bandes de Bollinger et du RSI, émettant des signaux de trading uniquement lorsque les deux indicateurs sont d'accord. Cela évite d'agir sur des signaux trompeurs provenant d'un seul indicateur, rendant les transactions plus fiables. Néanmoins, les paramètres doivent être optimisés, les modèles strictement testés et les principales tendances déterminées avec d'autres indicateurs, afin d'améliorer encore la stabilité et la rentabilité de la stratégie.


/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
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(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
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper,  comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Plus de