Stratégie de rupture des bandes de Bollinger

Auteur:ChaoZhang est là., Date: 2024-01-03 17:53:32 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie de rupture de la bande de Bollinger est une stratégie de suivi de tendance. Elle utilise des plages de volatilité pour déterminer les points d'entrée et de sortie. Plus précisément, elle utilise les bandes supérieures et inférieures des bandes de Bollinger pour juger si les prix se brisent.

La logique de la stratégie

La stratégie est basée sur l'indicateur Bollinger Bands.

  1. Ligne médiane - moyenne mobile simple de n périodes
  2. Bandes supérieures - ligne médiane + déviation type k * n périodes
  3. bande inférieure - ligne moyenne - déviation type k * n de période.

Ici, k est généralement fixé à 1,5 ou 2. Lorsque les prix dépassent la bande supérieure, cela indique que le stock entre dans une zone forte et va donc long. Lorsque les prix dépassent la bande inférieure, cela indique que le stock entre dans une zone faible et ferme ainsi les positions.

Cette stratégie utilise une ligne médiane de 20 périodes et 1,5 écarts types pour construire les bandes de Bollinger.

  1. Utilisez la bande inférieure comme stop loss
  2. Utilisez la ligne du milieu comme stop-loss

L'option 1 fonctionne mieux pour les actions hautement volatiles.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Peut suivre efficacement les tendances des prix et capturer rapidement les signaux de rupture
  2. Utilise des gammes de volatilité pour déterminer les points d'entrée, ce qui filtre efficacement le bruit
  3. Offre deux options de stop loss pouvant être sélectionnées en fonction des caractéristiques des stocks

Analyse des risques

Cette stratégie comporte également des risques:

  1. Les signaux de rupture peuvent être de fausses ruptures et ne pas suivre efficacement les tendances
  2. Une position stop-loss inappropriée pourrait entraîner une sur-stop-out
  3. Ne peut pas gérer efficacement les marchés de gamme

Ces risques peuvent être réduits par l'optimisation des paramètres, l'intégration d'autres indicateurs, etc.

Directions d'optimisation

Cette stratégie peut être optimisée sous plusieurs aspects:

  1. Optimiser les paramètres des bandes de Bollinger pour trouver les meilleures combinaisons de paramètres
  2. Incorporer le volume de négociation et d'autres indicateurs pour vérifier la fiabilité du signal de rupture
  3. Construire des filtres avec d'autres indicateurs pour éviter les fausses fuites
  4. Ajuster dynamiquement les positions de stop loss pour réduire les risques de stop loss

Conclusion

La stratégie de rupture de la bande de Bollinger est globalement une stratégie de suivi de tendance plutôt classique. Elle peut être améliorée grâce à l'optimisation des paramètres et des règles pour mieux s'adapter à différents environnements de marché.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
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/
// © Senthaamizh

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO", overlay=true)
source = close
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA 
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using moving average

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

if (crossover(source, upper))
    strategy.entry("Long", strategy.long, qty=1)

if(exit==1)
    if (crossunder(source, lower))
        strategy.close("Long")

if(exit==2) //basis is good for N50 but lower is good for BN (High volatility)
    if (crossunder(source, basis))
        strategy.close("Long")

plot(basis, color=color.red,title= "SMA")
p1 = plot(upper, color=color.blue,title= "UB")
p2 = plot(lower, color=color.blue,title= "LB")
fill(p1, p2)


Plus de