RSI Stratégie de négociation des bandes de Bollinger

Auteur:ChaoZhang est là., Date: le 18 septembre 2023 22:13:18
Les étiquettes:

Tout le contenu en anglais

Résumé

Cette stratégie identifie les signaux de trading en utilisant l'indicateur RSI pour déterminer les conditions de surachat/survente et en se combinant avec l'indicateur Bollinger Bands pour représenter la fourchette d'oscillation des prix. Elle génère des signaux d'achat et de vente lorsque l'indicateur RSI montre des niveaux de surachat ou de survente, tandis que le prix approche ou touche les bandes supérieures ou inférieures de Bollinger Bands.

La logique de la stratégie

La stratégie repose principalement sur deux indicateurs:

  1. Indicateur RSI évaluant le surachat/survente

Il calcule le RSI pour une certaine période et détermine s'il entre dans des zones de surachat ou de survente selon des paramètres prédéfinis, tels que le seuil de surachat à 40 et le seuil de survente à 45.

  1. Bandes de Bollinger indiquant la fourchette d'oscillation des prix

Il calcule les bandes de Bollinger pour une période et utilise les bandes supérieure et inférieure pour former un canal de prix, décrivant la plage d'oscillations de prix.

Sur la base de ce qui précède, les règles de négociation sont les suivantes:

Lorsque le RSI franchit le niveau supérieur à 45 dans la zone de survente, et que le prix franchit le niveau supérieur de la bande inférieure de Bollinger, un signal d'achat est généré. Lorsque le RSI passe sous 40 dans la zone de surachat, et que le prix traverse la bande supérieure de Bollinger, générez un signal de vente.

Analyse des avantages

Les avantages de la combinaison de RSI et de bandes de Bollinger sont les suivants:

  1. L'indicateur de volatilité identifie les niveaux de surachat/survente, les bandes de Bollinger déterminent la direction de la tendance des prix, se complétant mutuellement.

  2. Les bandes de Bollinger peuvent servir de niveaux de stop loss pour le contrôle des risques.

  3. Des paramètres simples facilitent la mise en œuvre et le backtest.

  4. Les paramètres du RSI peuvent être optimisés pour déterminer la meilleure fourchette de surachat/survente.

  5. Différents prix peuvent être utilisés pour s'adapter à différents environnements de marché.

Risques et solutions

Cette stratégie comporte également certains risques:

  1. L'excès de largeur des bandes de Bollinger conduit à une mauvaise attente de stop loss.

    • Ajustez le paramètre de largeur des bandes de Bollinger pour optimiser la plage de stop loss.
  2. L'indicateur RSI n'est pas réglé correctement, ce qui entraîne un jugement erroné du niveau de surachat/survente.

    • Optimiser les paramètres de l'indicateur RSI par le backtesting afin de déterminer la fourchette de trading optimale.
  3. Impossible de déterminer avec précision les points de renversement de tendance, risque de manquer de signaux.

    • Réduire le paramètre de la période des bandes de Bollinger pour capturer les renversements de tendance plus tôt.
  4. Incapacité de contrôler efficacement les pertes, risque d'arrêt des pertes frappé par des fluctuations significatives des prix.

    • Ajoutez un stop loss en mouvement ou dynamique pour optimiser les méthodes de stop loss.

Directions d'amélioration

Quelques façons d'optimiser la stratégie:

  1. Optimiser les paramètres du RSI pour déterminer la fourchette idéale de surachat/survente.

  2. Optimiser le paramètre de largeur des bandes de Bollinger pour contrôler la plage de stop loss.

  3. Ajouter d'autres indicateurs pour identifier les renversements de tendance et éviter les signaux manquants.

  4. Appliquer des modèles d'apprentissage automatique pour déterminer le calendrier des transactions.

  5. Utiliser différents ensembles de paramètres en fonction des environnements de marché variés.

  6. Ajouter des mécanismes de stop loss dynamiques.

  7. Développer des programmes d'optimisation automatique des paramètres.

Conclusion

En résumé, en combinant RSI et Bollinger Bands, cette stratégie forme des décisions commerciales relativement solides. La logique est simple et claire, bonne pour le contrôle des risques, mais a une marge d'optimisation. Améliorer davantage la stratégie grâce à l'optimisation des paramètres, l'optimisation des stop-loss, l'incorporation d'algorithmes, etc. peut la rendre plus adaptable à des environnements de marché complexes. La stratégie fournit des idées pour la construction de systèmes de trading et vaut la peine d'être étudiée et appliquée.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mdemoio


//@version=4
strategy("Madri", shorttitle="Madri", overlay=true)


// Version 1.1


///////////// RSI
RSIlength = input(2,title="A") 
RSIoverSold = 45
RSIoverBought = 40
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(150, minval=1,title="B")
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)


///////////// 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="Buy")
    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="Sell")
    else
        strategy.cancel(id="RSI_BB_S")

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

Plus de