
La stratégie est un système de négociation dynamique à intervalles réguliers combinant les bandes de Bollinger et l’indice relativement faible RSI. Il capture les points de basculement du marché en surveillant les croisements des prix avec les bandes de Bollinger et les niveaux de survente et de survente du RSI. L’idée centrale de la stratégie est de rechercher des opportunités de rebond lorsque le marché est en survente et de s’arrêter à temps lorsque le marché est en survente.
La stratégie utilise la bande de Brin de 20 cycles et l’indicateur RSI de 14 cycles comme indicateur technique de base. La bande de Brin est composée de trois lignes: la voie moyenne ((20 cycles de moyenne mobile simple), la voie supérieure ((la voie médiane + 2 fois le décalage standard) et la voie inférieure ((la voie médiane - 2 fois le décalage standard)). Le signal d’achat est déclenché lorsque deux conditions sont réunies: le prix a franchi la bande de Brin de bas en haut et le RSI est inférieur à 45 ((1,5 fois le 30 normal). Le signal de vente est déclenché lorsque le prix est descendu vers le haut et le RSI est supérieur à 70.
Risque de choc du marché: les faux signaux de rupture peuvent être fréquents dans les marchés de choc horizontaux. Recommandation: Ajoutez un filtre de tendance et ne placez que lorsque la tendance est claire.
Risque de retard: Le retard causé par le calcul des moyennes mobiles peut affecter la rapidité du signal. Recommandation: Vous pouvez envisager d’utiliser des indicateurs à courte période comme confirmation auxiliaire.
Risque d’optimisation excessive: l’optimisation des paramètres peut entraîner une surcompatibilité avec les données historiques. Recommandation: Des tests approfondis dans différentes périodes et environnements de marché.
Ajout de filtres de tendance: vous pouvez introduire l’ADX ou les moyennes mobiles à long terme pour juger de la force de la tendance et ne négocier que lorsque la tendance est claire.
Optimisation des paramètres d’arrêt: la position d’arrêt peut être réglée dynamiquement en fonction de l’ATR, ce qui améliore la flexibilité du contrôle des risques.
Introduction de la confirmation de transaction: ajout d’une analyse de transaction, qui nécessite une confirmation de transaction lors d’une percée, pour améliorer la fiabilité du signal.
Amélioration de la gestion des positions: ajustement automatique de la taille des positions en fonction de la volatilité du marché et du risque du compte.
Il s’agit d’une stratégie mature combinant les indicateurs classiques de l’analyse technique, qui permet de maîtriser les grandes tendances et de contrôler les risques grâce à l’utilisation combinée des bandes de Brin et du RSI. La stratégie est conçue avec une conception claire, une mise en œuvre simple et une bonne pratique. Bien qu’il existe des risques inhérents, un système de trading robuste peut être construit avec des paramètres raisonnables et des mesures de gestion des risques.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("Bollinger Bands + RSI Strategy", overlay=true)
// Bollinger Bands Parameters
length = input.int(20, title="Bollinger Length")
src = close
mult = input.float(2.0, title="Bollinger Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// RSI Parameters
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50)
rsiOversold = input.int(30, title="RSI Oversold Level", maxval=50)
rsiValue = ta.rsi(src, rsiLength)
// Buy and Sell Conditions
buyCondition = ta.crossover(src, lower) and rsiValue < 1.5 * rsiOversold
sellCondition = ta.crossunder(src, upper) and rsiValue > rsiOverbought
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Basis")
p1 = plot(upper, color=color.red, title="Upper Band")
p2 = plot(lower, color=color.green, title="Lower Band")
fill(p1, p2, color=color.gray, transp=90)
// Plot RSI
//hline(rsiOverbought, "Overbought", color=color.red)
//hline(rsiOversold, "Oversold", color=color.green)
// Execute Orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// Display signals on the chart
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")