RSI Bollinger Bands Stratégie de négociation à court terme

Auteur:ChaoZhang est là., Date: le 19 décembre 2023 11:31:09
Les étiquettes:

img

Résumé

Cette stratégie combine l'indice de force relative (RSI) et les bandes de Bollinger pour construire une stratégie de trading à court terme. Elle utilise principalement les signaux d'achat et de vente lorsque le RSI franchit les bandes de Bollinger supérieures ou inférieures.

La logique de la stratégie

  1. Calculer l'indicateur RSI à l'aide d'un paramètre de 14 périodes.
  2. Calculer la bande médiane de Bollinger en utilisant la moyenne mobile pondérée du RSI, avec une période fixée à 25.
  3. Calculez la bande supérieure et la bande inférieure des bandes de Bollinger. La bande supérieure est la bande moyenne plus l'amplitude, tandis que la bande inférieure est la bande moyenne moins l'amplitude. L'amplitude est réglée à 20 fois l'écart type du RSI.
  4. Allez long quand RSI franchit la bande inférieure, et allez court quand RSI franchit la bande supérieure.
  5. Mettre en place un mécanisme de stop loss qui, si le prix tombe en dessous de 6% du prix d'entrée long, ferme la position longue.

Analyse des avantages

Cette stratégie combine les atouts de l'indicateur RSI et des bandes de Bollinger pour le trading à court terme.

  1. L'indicateur RSI peut déterminer efficacement les scénarios de surachat et de survente.
  2. Les bandes de Bollinger sont dynamiques pour ajuster automatiquement la fourchette en fonction de la volatilité du marché.
  3. Le paramètre de stop loss est raisonnable avec une tolérance de 6% pour les fluctuations normales tout en contrôlant les pertes.

Analyse des risques

Les risques potentiels de cette stratégie comprennent:

  1. Le RSI présente des caractéristiques de retard et peut manquer des opportunités d'inversion rapide.
  2. Un paramètre de Bollinger Bands incorrect ou des fluctuations drastiques du marché peuvent provoquer de mauvais signaux.
  3. Un paramètre de stop-loss mal réglé peut entraîner des pertes inutiles.

Les solutions:

  1. Considérez la combinaison avec d'autres indicateurs tels que le KDJ pour un jugement complet.
  2. Optimiser dynamiquement les paramètres pour différents marchés.
  3. Test de retour et optimisation du paramètre stop loss pour un meilleur réglage.

Directions d'optimisation

Il est possible d'optimiser davantage:

  1. Modifier le stop-loss fixe en stop-loss dynamique suivant les fluctuations des prix.
  2. Ajouter des règles d'indice de largeur de bande de Bollinger pour mettre en pause les transactions lorsque les bandes s'étendent ou se contractent trop.
  3. Combinez des indicateurs de volume comme le flux monétaire de Chaikin pour une meilleure confirmation.

Résumé

En résumé, il s'agit d'une stratégie de trading à court terme relativement stable et fiable. En combinant les atouts du jugement sur les surachats et sur les surachats du RSI et la gamme adaptative des bandes de Bollinger, il forme un système à court terme avantageux. Avec le réglage des paramètres et le raffinement de la logique, cette stratégie peut réaliser des profits constants.


/*backtest
start: 2022-12-12 00:00:00
end: 2023-10-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("rsi+bb st", shorttitle="rsibb st 0.3")

len_rsi=input(14)
len_bb = input(25)
mul10 = input(20.0)
mul=mul10/10
sl100 = input(94.0, title='stop loss rate')
sl=sl100/100

lw = 3

vwma_e(src, len) =>
    ema(src*volume, len)/ema(volume,len)

rsi = rsi(close, len_rsi)
plot(rsi, color=blue, title= 'rsi blue', linewidth=lw)
plot(70, color=gray, title='line 70', linewidth=lw)
plot(30, color=gray, title='line 30', linewidth=lw)

bbg = stdev(rsi, len_bb)*mul
bbc = vwma_e(rsi, len_bb)
//bbc=ema(rsi,len_bb)
ratio = 0.6
bbc := bbc*ratio + 50*(1-ratio)

bbu = bbc+bbg
bbl = bbc-bbg
plot(bbu, color=green, title='bb_up green', linewidth=lw)
plot(bbl, color=red, title='bb_low red', linewidth=lw)
plot(bbc, color=#808000ff, title='bb center', linewidth=lw)

plot(50, color=black)

lc = crossover(rsi, bbl) //or crossover(rsi, bbc)
sc = crossunder(rsi, bbu)

last_pos = 0*close
if lc
    last_pos := 1
else
    last_pos := last_pos[1]
if sc
    last_pos := 2

last_price = 0*close
if last_pos[1] !=1 and last_pos == 1
    last_price := close
else
    last_price := last_price[1]
    
if last_pos==1 and close < last_price*sl
    lc:=false
    sc:=true
    last_pos:=2

if (lc)
    strategy.entry("long", strategy.long)

if (sc)
    strategy.entry("short", strategy.short)

Plus de