Stratégie de négociation de la bande de Bollinger et de l'indice RSI boursier

Auteur:ChaoZhang est là., Date: 21 septembre 2023
Les étiquettes:

Résumé

Cette stratégie combine les indices Bollinger Bands et Stoch RSI pour le trading de multiples indicateurs. Elle appartient au type de stratégie d'indicateurs combinés typique.

La logique de la stratégie

La stratégie repose sur deux indicateurs principaux:

  1. Les bandes de Bollinger

    Calculer les bandes supérieure, moyenne et inférieure. Un signal d'achat est généré lorsque le prix dépasse la bande inférieure.

  2. Indice de rentabilité de Stoch

    Calculer l'indicateur RSI du Stoch. Un signal d'achat est généré lorsque la ligne K traverse la ligne D.

La logique spécifique du trading est: ouvrir long lorsque l'éclatement inférieur des bandes de Bollinger et le croisement doré du RSI du Stoch se produisent ensemble.

La logique de sortie utilise les bandes de prise de profit et d'arrêt de perte: fermer pour le profit lorsque le prix touche à nouveau la bande supérieure ou moyenne, fermer pour la perte lorsque le prix se déplace en dessous de la bande inférieure.

Les avantages

  • Combine les bandes de Bollinger et le RSI de Stoch
  • Les bandes jugent la tendance globale, le RSI de Stoch optimise l'entrée
  • L'indice de volatilité de Stoch filtre les fausses écarts de bande
  • Les bandes intermédiaires et inférieures fournissent des sorties
  • Plusieurs paramètres réglables pour les optimisations

Les risques

  • Décalage des indicateurs basés sur l'AM, absence des meilleures données
  • Réaction lente à des événements soudains, basée uniquement sur des indicateurs
  • Des réglages de bande incorrects invalident les arrêts
  • Les paramètres du RSI de Bad Stoch génèrent de faux signaux
  • Une régulation distincte des paramètres est nécessaire pour différents produits

Les risques peuvent être réduits par:

  • Optimisation des paramètres pour une plus grande précision
  • Ajout de filtres de confirmation comme le MACD
  • Utiliser des arrêts de trailers au lieu des arrêts de bande
  • Paramètres d'essai pour différents produits
  • Système de dimensionnement de la position

Directions de renforcement

La stratégie peut être améliorée par:

  1. Optimisation des paramètres des bandes de Bollinger

    Ajuster les rapports de calcul supérieur/inférieur pour une meilleure adéquation

  2. Optimisation des paramètres de l'indicateur RSI de Stoch

    Trouver les valeurs optimales de K et de D

  3. Ajout d'indicateurs de confirmation tels que le MACD

    Évitez les faux signaux basés sur un seul indicateur

  4. Utilisation d'arrêts de profit au lieu d'arrêts fixes

    Arrêt de piste basé sur la volatilité des prix

  5. Paramètres d'essai séparés pour les différents produits

    Les paramètres optimaux varient selon les produits

Résumé

Cette stratégie tire parti des bandes de Bollinger pour la direction de la tendance et du Stoch RSI pour l'optimisation d'entrée, en profitant d'une approche multi-indicateurs. Mais des défis tels que l'optimisation de paramètres difficiles et l'exactitude du signal existent.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "BB+RSI v2", overlay = true)

price=close
////////// ///////  BB /////////////////////////

bblength = input(50)
bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band")
bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


bbbuy= crossover(price,lower)
bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis)



//////////////////// BB //////////////////////




////////////////////////  S RSI  /////////////////////

lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

SRSIbuy=crossover(k,d)

////////////////////// S  RSI  ///////////////////////

// Conditions



longcond = bbbuy and SRSIbuy
closelong = bbsell


monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longcond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( closelong  ) 

    strategy.close("BUY")







Plus de