Stratégie quantitative RSI et bandes de Bollinger


Date de création: 2024-01-24 14:56:02 Dernière modification: 2024-01-24 14:56:02
Copier: 3 Nombre de clics: 637
1
Suivre
1617
Abonnés

Stratégie quantitative RSI et bandes de Bollinger

Aperçu

La stratégie utilise principalement l’indicateur de force relative (RSI) pour juger des signaux de négociation avec les bandes de Boehringer. Plus précisément, le RSI fait plus lorsque le RSI est bas et croise la bande de Boehringer et fait moins lorsque le RSI est haut et croise la bande de Boehringer.

Principe de stratégie

La stratégie commence par calculer le RSI et les bandes de Brin. L’RSI reflète la relative faiblesse de la transaction. La zone de Brin représente une zone de survente lorsque le RSI est inférieur à la zone de survente (par défaut 30), et une zone d’achat. La zone de Brin comprend le haut, le milieu et le bas, ce qui reflète bien la gamme de fluctuations des prix.

Avantages stratégiques

  1. Combinaison de l’indicateur RSI avec les bandes de Brin pour améliorer la précision des signaux
  2. L’indicateur RSI a filtré une partie du bruit
  3. Les bandes de Brin reflètent une large gamme de fluctuations actuelles du marché, et le signal est plus fiable.
  4. La stratégie de négociation est plus stricte, ce qui évite l’apparition de transactions invalides.

Risque stratégique

  1. Une mauvaise configuration des paramètres de la bande de Bryn peut rendre le signal de transaction inexact.
  2. Les paramètres de zone de survente RSI mal configurés peuvent également affecter le jugement des signaux
  3. La stratégie est plus stricte et peut laisser passer des opportunités commerciales.

Comment gérer les risques:

  1. Optimiser les paramètres de la courbe de Boolean et du RSI pour trouver la meilleure combinaison de paramètres
  2. Laxation appropriée des conditions de négociation des stratégies, ajout d’un certain nombre de transactions invalides pour obtenir plus d’opportunités

Orientation de l’optimisation de la stratégie

  1. Tester et optimiser les paramètres RSI et les paramètres des bandes de Bryn pour trouver les paramètres optimaux
  2. Augmentation des stratégies de stop loss pour contrôler le risque de transaction
  3. Envisager d’ajouter d’autres indicateurs techniques à la vérification du signal, tels que le MACD
  4. Tester l’optimisation des paramètres pour différentes variétés et périodes de temps

Résumer

L’ensemble de la stratégie est robuste, elle est associée efficacement à l’indicateur RSI et au stop-loss de Brin. L’efficacité de la stratégie peut être encore améliorée par le test et l’optimisation des paramètres.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BB + RSI 20MIN,", shorttitle="BBRSI 20MIN", overlay=true )
     
     // Strategy Tester Start Time
sYear = input(2019, title = "Start Year")
sMonth = input(04, title = "Start Month", minval = 01, maxval = 12)
sDay = input(01, title = "Start Day", minval = 01, maxval = 31)
sHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = true


///////////// RSI
RSIlength = input(9,title="RSI Period Length") 
RSIoverSold = input(30, minval=1,title="RSIL")
RSIoverBought = input(69, minval=1,title="RSIh")
price = open
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(60, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bb")
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 and startTime, 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 and startTime, stop=BBupper,comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

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