Stratégie de swing trading collaborative RSI et bandes de Bollinger

RSI BB MA SMA
Date de création: 2025-01-06 13:51:50 Dernière modification: 2025-01-06 13:51:50
Copier: 2 Nombre de clics: 481
1
Suivre
1617
Abonnés

Stratégie de swing trading collaborative RSI et bandes de Bollinger

Aperçu

Cette stratégie est une stratégie de swing trading qui combine l’indicateur RSI et le canal des bandes de Bollinger. Il prend des décisions de trading en identifiant les états de surachat et de survente du marché et en les combinant avec la position de prix dans les bandes de Bollinger. La stratégie adopte un paramètre de seuil RSI relativement lâche (60 pour le surachat et 40 pour la survente) et combine les pistes supérieure et inférieure des bandes de Bollinger pour déterminer le moment d’entrée et de sortie, tout en mettant en place un mécanisme de sortie de profit de 2 %.

Principe de stratégie

La logique fondamentale de la stratégie repose sur les éléments clés suivants :

  1. Indicateur RSI : utilisé pour mesurer l’état de surachat et de survente du marché, en utilisant 14 périodes comme période de calcul.
  2. Bandes de Bollinger : utilisez la moyenne mobile sur 20 périodes comme piste médiane, avec un multiple d’écart type de 2,0, pour former des pistes supérieure et inférieure.
  3. Moyenne mobile sur 50 périodes : utilisée comme référence de tendance.

Conditions d’achat :

  • Le prix est proche ou inférieur à la bande de Bollinger inférieure (en tenant compte d’un tampon de 1 %)
  • RSI inférieur à 40 (territoire de survente)

Conditions de vente :

  • Le prix est proche ou supérieur à la bande supérieure de Bollinger (en tenant compte d’un tampon de 1 %)
  • RSI supérieur à 60 (territoire de surachat)
  • Ou le bénéfice atteint 2%

Avantages stratégiques

  1. Mécanisme de confirmation multiple : Réduisez l’impact des faux signaux grâce à la coopération coordonnée des bandes RSI et de Bollinger.
  2. Contrôle parfait des risques : fixez des objectifs de profit clairs pour éviter les détentions excessives.
  3. Paramètres flexibles et réglables : les paramètres clés peuvent être optimisés en fonction des différentes conditions du marché.
  4. Tenez compte des coûts de transaction : la commission (0,1 %) et le glissement (3 pips) sont inclus dans le calcul.
  5. Bon effet de visualisation : les signaux de trading sont affichés de manière intuitive via des lignes et des zones remplies de différentes couleurs.

Risque stratégique

  1. Risque de marché volatil : des transactions fréquentes peuvent se produire dans un marché latéral et volatil. Solution : vous pouvez ajouter un filtre de moyenne mobile ou ajouter un mécanisme de confirmation de tendance.

  2. Risque de fausse cassure : une brève cassure des bandes de Bollinger par le prix pourrait déclencher un faux signal. Solution : vous pouvez ajouter une période de confirmation ou augmenter l’exigence d’amplitude de percée.

  3. Dépendance à l’environnement de marché : la performance de la stratégie peut varier selon les cycles de marché. Solution : Ajuster dynamiquement les paramètres en fonction des différentes caractéristiques du marché.

Orientation de l’optimisation de la stratégie

  1. Optimisation dynamique des paramètres :
  • Ajustez automatiquement l’écart type des bandes de Bollinger en fonction de la volatilité du marché
  • Ajustez dynamiquement les seuils de surachat et de survente du RSI en fonction des conditions du marché
  1. Ajouter des conditions de filtrage :
  • Ajouter un mécanisme de confirmation du volume
  • Présentation de l’indicateur de force de tendance
  1. Mécanisme de stop loss optimisé :
  • Ajout de la fonction de stop loss suiveur
  • Définir un stop loss dynamique basé sur l’ATR

Résumer

Cette stratégie construit un système de swing trading relativement robuste grâce à la synergie du RSI et des bandes de Bollinger. La principale caractéristique de la stratégie est de contrôler les risques grâce à un mécanisme de confirmation multiple tout en maintenant les opportunités de trading. Bien qu’il existe certains risques potentiels, la stabilité et la fiabilité de la stratégie peuvent être encore améliorées en optimisant les paramètres et en ajoutant des conditions de filtrage. La stratégie est adaptée à une utilisation sur des marchés présentant une volatilité plus élevée, mais des ajustements de paramètres correspondants doivent être effectués en fonction des caractéristiques spécifiques du marché.

Code source de la stratégie
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Demo GPT - Adjusted Swing Trading for SBI", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3)

// Input Parameters
rsiLength = input.int(14, minval=1, title="RSI Length")
rsiOverbought = input.int(60, minval=50, maxval=100, title="RSI Overbought Level") // Relaxed level
rsiOversold = input.int(40, minval=0, maxval=50, title="RSI Oversold Level")       // Relaxed level
bbLength = input.int(20, minval=1, title="Bollinger Bands Length")
bbMult = input.float(2.0, minval=0.1, maxval=5, title="Bollinger Bands StdDev Multiplier")
maLength = input.int(50, minval=1, title="Moving Average Length")

// RSI Calculation
rsi = ta.rsi(close, rsiLength)

// Bollinger Bands Calculation
bbBasis = ta.sma(close, bbLength)
bbDev = bbMult * ta.stdev(close, bbLength)
bbUpper = bbBasis + bbDev
bbLower = bbBasis - bbDev

// Moving Average
ma = ta.sma(close, maLength)

// Buy Signal: Price near or below lower Bollinger Band AND RSI below oversold level
buySignal = (close <= bbLower * 1.01) and (rsi < rsiOversold)

// Sell Signal: Price near or above upper Bollinger Band OR RSI above overbought level
sellSignal = (close >= bbUpper * 0.99) or (rsi > rsiOverbought)

// Date Range Inputs
startDate = input(timestamp("2018-01-01 00:00"), title="Start Date")
endDate = input(timestamp("2069-12-31 23:59"), title="End Date")
inDateRange = true

// Strategy Logic
if buySignal and inDateRange
    strategy.entry("Swing Long SBI", strategy.long)

if strategy.position_size > 0 and (sellSignal or close >= strategy.position_avg_price * 1.02)
    strategy.close("Swing Long SBI")

// Plotting
plot(bbBasis, title="Bollinger Bands Basis", color=color.blue)
plot(bbUpper, title="Bollinger Bands Upper", color=color.red)
plot(bbLower, title="Bollinger Bands Lower", color=color.green)
plot(ma, title="Moving Average", color=color.orange)
hline(rsiOverbought, "RSI Overbought", color=color.red, linestyle=hline.style_dotted)
hline(rsiOversold, "RSI Oversold", color=color.green, linestyle=hline.style_dotted)
plot(rsi, title="RSI", color=color.purple)

// Fill Bollinger Bands for Visualization
fill(plot(bbUpper), plot(bbLower), title="Bollinger Bands Background", color=color.rgb(33, 150, 243, 95))