Tout le contenu en anglais
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 stratégie repose principalement sur deux indicateurs:
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.
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.
Les avantages de la combinaison de RSI et de bandes de Bollinger sont les suivants:
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.
Les bandes de Bollinger peuvent servir de niveaux de stop loss pour le contrôle des risques.
Des paramètres simples facilitent la mise en œuvre et le backtest.
Les paramètres du RSI peuvent être optimisés pour déterminer la meilleure fourchette de surachat/survente.
Différents prix peuvent être utilisés pour s'adapter à différents environnements de marché.
Cette stratégie comporte également certains risques:
L'excès de largeur des bandes de Bollinger conduit à une mauvaise attente de stop loss.
L'indicateur RSI n'est pas réglé correctement, ce qui entraîne un jugement erroné du niveau de surachat/survente.
Impossible de déterminer avec précision les points de renversement de tendance, risque de manquer de signaux.
Incapacité de contrôler efficacement les pertes, risque d'arrêt des pertes frappé par des fluctuations significatives des prix.
Quelques façons d'optimiser la stratégie:
Optimiser les paramètres du RSI pour déterminer la fourchette idéale de surachat/survente.
Optimiser le paramètre de largeur des bandes de Bollinger pour contrôler la plage de stop loss.
Ajouter d'autres indicateurs pour identifier les renversements de tendance et éviter les signaux manquants.
Appliquer des modèles d'apprentissage automatique pour déterminer le calendrier des transactions.
Utiliser différents ensembles de paramètres en fonction des environnements de marché variés.
Ajouter des mécanismes de stop loss dynamiques.
Développer des programmes d'optimisation automatique des paramètres.
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)