Stratégie de rupture de Bollinger Momentum

Auteur:ChaoZhang est là., Date: 2023-12-22 13:09:32 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie utilise les bandes de Bollinger pour déterminer la direction de la tendance du marché combinée à l'indicateur RSI pour filtrer les signaux haussiers, en mettant en œuvre des opérations de rupture d'élan pour chasser les hausses et tuer les chutes.

Principe de stratégie

  1. Lorsque l'indicateur Bollinger Bands détermine la rupture des prix à travers la bande supérieure, il indique que le marché entre dans une tendance haussière. À ce moment-là, utilisez l'indicateur RSI pour filtrer. Générez un signal d'achat lorsque l'indicateur RSI est supérieur à 60. Lorsque l'indicateur BB détermine la rupture des prix à travers la bande inférieure, il indique que le marché entre dans une tendance baissière. À ce moment-là, utilisez l'indicateur RSI pour filtrer. Générez un signal de vente lorsque l'indicateur RSI est inférieur à 40.

  2. Mettre en place un stop loss après l'entrée sur le marché pour éviter de nouvelles pertes.

  3. Les critères de sortie sont la clôture d'une position longue lorsque le prix dépasse la bande moyenne BB et la clôture d'une position courte lorsque le prix dépasse la bande moyenne BB.

Analyse des avantages

  1. L'indicateur Bollinger Bands peut déterminer les principales tendances du marché et capturer les points d'inflexion.

  2. L'opération de poursuite de la montée et de la chute peut obtenir des rendements excessifs.

  3. La mise en place d'un stop loss peut contrôler les risques.

Analyse des risques

  1. L'indicateur BB n'est pas efficace pour évaluer les marchés latéraux, ce qui peut générer de faux signaux.

  2. Un paramètre de stop loss incorrect peut entraîner de nouvelles pertes.

  3. La fréquence élevée des transactions est affectée par les coûts de négociation et les glissements.

  4. Les signaux de rupture doivent être mis à jour en temps opportun, sinon les meilleures opportunités d'entrée peuvent être manquées.

Directions d'optimisation

  1. Combiner avec d'autres indicateurs pour juger de la fiabilité des signaux de rupture BB, tels que le volume, les moyennes mobiles, etc.

  2. Ajustez dynamiquement les paramètres BB pour optimiser les performances des indicateurs.

  3. Optimiser la position de stop loss, comme le stop loss à la traîne, le stop loss en pourcentage pour réduire les pertes inutiles.

Résumé

La stratégie a une logique claire pour déterminer la tendance du marché par BB et filtrer les signaux avec RSI pour la poursuite de la tendance de l'élan. Elle présente une fréquence d'opération élevée, des cycles de profit / perte rapides, plus adaptés aux traders recherchant des rendements excédentaires. Cependant, une fréquence de trading élevée augmente également les coûts de transaction et nécessite une gestion stricte du capital et un contrôle émotionnel.


/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-Stoxguru",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, overlay=true)
source = close
start = timestamp (2007, 1,1,0,0) 
end = timestamp (2021,11,05,0,0)
stop_level = (high[1]-low[1])
profit_level = (high[1]-low[1])
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(2, minval=0.001, maxval=50, title = "Standard Deviation") 

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

upper = basis + dev
lower = basis - dev
band=upper-lower
stop_loss=low-atr(14)
if time >= start 
// and time < end
    strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>=60 and rsi(close,14)<=70)
    // strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>60 and band<200)
    // strategy.exit("SL", "Long", stop=stop_loss)
    strategy.close(id="Long", when=crossunder(close, basis))
    strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<=40 and rsi(close,14)>=35)
    strategy.close(id="Short", when=crossover(close, basis))
    // strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<40 and band<200)
    // plot(upper-lower, color=color.purple,title= "DIFF",style=plot.style_linebr)
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)
BW = ((upper - lower)) / basis * 100

plot(BW, title="Bollinger bandwidth", color=color.red)


Plus de