La stratégie de rupture des bandes de Bollinger

Auteur:ChaoZhang est là., Date: 2024-01-04 15h52 et 31
Les étiquettes:

img

Résumé

La stratégie de rupture des bandes de Bollinger est une stratégie de trading quantitative qui combine l'indicateur des bandes de Bollinger et l'indicateur de moyenne mobile pour effectuer des opérations de rupture dans certaines conditions de dynamique.

Principe de stratégie

La stratégie est principalement basée sur l'indicateur des bandes de Bollinger et l'indicateur de moyenne mobile de MA. Les bandes de Bollinger et les moyennes mobiles appartiennent à des indicateurs de tendance. Les bandes de Bollinger utilisent le concept d'écart type pour décrire la plage de fluctuation élevée et basse des prix. La moyenne mobile lissue les données de prix et juge la direction de la tendance des prix.

La logique de base de la stratégie est la suivante:

  1. Initialiser les paramètres des bandes de Bollinger et calculer le rail du milieu, le rail supérieur et le rail inférieur.

  2. Initialisez les paramètres de la moyenne mobile.

  3. Signal d'achat: lorsque le prix franchit le rail inférieur des bandes de Bollinger de bas en haut et que la moyenne mobile est en dessous du rail inférieur, passez long.

  4. Signaux de vente: lorsque le prix franchit la barre supérieure des bandes de Bollinger de haut en bas et que la moyenne mobile est au-dessus de la barre supérieure, passez court.

  5. Signal de sortie: lorsque le prix rentre dans la fourchette des bandes de Bollinger, fermez la position.

La stratégie combine l'utilisation des bandes de Bollinger et des indicateurs de moyenne mobile pour générer des signaux de négociation dans certaines conditions de dynamique, ce qui est une stratégie typique de suivi de tendance.

Les avantages

  1. En utilisant les bandes de Bollinger pour juger clairement de la fourchette de fluctuation des prix et la moyenne mobile pour déterminer la direction de la tendance des prix, les signaux de négociation formés par la combinaison du double filtrage des indicateurs ont une fiabilité relativement élevée.

  2. En plus du prix qui franchit la limite des bandes de Bollinger, il faut aussi que la moyenne mobile soit franchie, ce qui garantit un support de dynamique suffisant pour éviter de fausses ruptures.

  3. Les paramètres de la stratégie sont fixés de manière raisonnable et flexible, ce qui permet d'ajuster les paramètres des bandes de Bollinger et des cycles de moyennes mobiles pour s'adapter aux différentes variétés et conditions du marché.

  4. L'idée stratégique est claire et facile à comprendre, facile à mettre en œuvre et à vérifier.

Les risques

  1. L'indicateur de volatilité Bollinger Bands lui-même présente un retard potentiel dans les tendances en évolution rapide, ce qui peut générer des signaux de trading non valides.

  2. Lorsqu'il est utilisé comme indicateur de filtrage, le réglage de ses paramètres affecte directement la fréquence de la stratégie.

  3. En s'appuyant à la fois sur l'indicateur Bollinger Bands et l'indicateur de moyenne mobile pour former des signaux efficaces, une fois que l'un d'entre eux échoue, toute la stratégie sera affectée.

  4. Les stratégies de rupture sont plus agressives, lorsque les prix reculent pour tester la limite des bandes de Bollinger, ils sont sujets à être piégés.

Directions d'optimisation

  1. Optimiser les paramètres des bandes de Bollinger pour s'adapter aux variétés présentant des cycles et une volatilité différents, par exemple en modifiant les paramètres du multiplicateur de la période et de l'écart type des bandes de Bollinger.

  2. Optimiser les paramètres de la moyenne mobile pour équilibrer la fréquence et l'effet de filtrage.

  3. Augmenter la stratégie de stop loss pour contrôler la perte maximale par transaction.

  4. Combiner avec d'autres indicateurs tels que le RSI et le MACD pour former des indicateurs composites et enrichir les signaux de trading pour la stratégie.

  5. Combiner des modèles d'apprentissage automatique pour aider à juger de la direction de la tendance des prix et du taux de réussite de la rupture.

Conclusion

Cette stratégie intègre l'indicateur des bandes de Bollinger avec l'indicateur de moyenne mobile pour générer des signaux d'entrée et de sortie après avoir assuré une certaine dynamique de rupture de prix. L'idée de stratégie est claire et facile à mettre en œuvre, et peut suivre efficacement les marchés en tendance. Mais en même temps, il existe également certains risques de recul. Il doit être optimisé pour les paramètres de paramètres et arrêter les pertes pour s'adapter aux changements du marché.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
strategy("Advanced Bollinger Bands Strategy", overlay=true) 
//BB Values 
wall1= input(defval=true,title="===BB Values===",type=input.bool)
source = input(defval=close,title="BB Source",type=input.source)
length = input(20,title="BB Length", minval=1)
mult = input(2.0,title="BB Multiplier",minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev 
offset = input(0, " BB Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)
//Moving Average Values 
wall2= input(defval=true,title="===MA Values===",type=input.bool)
nfl= input(defval=14,title="Moving Average Period",type=input.integer,minval=1,maxval=100) 
source1= input(defval=close,title="Moving Average Source",type=input.source)
noisefilter= sma(source1,nfl)
plot(noisefilter,style=plot.style_line,linewidth=2,color=color.yellow,title=" Moving Average Filter")
bgcolor(noisefilter<lower?color.green:noisefilter>upper?color.red:na,title="Moving Average Filter")
//Strategy Conditions
wall3= input(defval=true,title="===Strategy Conditions===",type=input.bool)
bl= input(defval=false,title="Exit at Basis Line?",type=input.bool)
nflb= input(defval=false,title="Use Moving Average Filter?",type=input.bool)

//Strategy Condition
buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper) 

if (nflb?(crossover(source,lower) and noisefilter<lower): crossover(source, lower))
	strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands",  comment="BBandLE")
    
else
	strategy.cancel(id="BBandLE")
if (nflb?(crossunder(source,lower) and noisefilter>upper): crossunder(source, lower))
	strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",  comment="BBandSE") 
else
	strategy.cancel(id="BBandSE")  
	
strategy.close_all(when=bl?crossover(source,basis) or crossunder(source,basis):crossover(source,upper) or crossunder(source,lower))


Plus de