Les ressources ont été chargées... Je charge...

Stratégie de négociation quantitative de rupture des bandes de Bollinger

Auteur:ChaoZhang est là., Date: 2024-02-04 14:52:52 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie calcule la bande supérieure, la bande moyenne et la bande inférieure des bandes de Bollinger et combine le prix de clôture de la ligne K pour mettre en œuvre la stratégie de trading de rupture des bandes de Bollinger.

Principe de stratégie

  1. Calculer la bande moyenne SMA des bandes de Bollinger avec la période 60, représentant la bande moyenne de l'évolution des prix.

  2. Calculez la bande supérieure et la bande inférieure des bandes de Bollinger. La bande supérieure est la bande du milieu + 2 fois l'écart type et la bande inférieure est la bande du milieu - 2 fois l'écart type. La largeur de la bande est contrôlée par le multiplicateur.

  3. Lorsque le prix de clôture est supérieur à la bande supérieure, allez long. Lorsque le prix de clôture est inférieur à la bande inférieure, allez court.

  4. Le pourcentage de stop loss est de 1,5% et le pourcentage de profit est de 6%.

  5. Lorsque le prix rentre dans les bandes de Bollinger ou atteint le prix stop loss/take profit, position close.

Analyse des avantages

  1. L'indicateur Bollinger Bands a une forte capacité de jugement de tendance par rupture.

  2. Une logique de stratégie simple et facile à comprendre et à mettre en œuvre.

  3. Arrêtez les pertes et prenez des risques de contrôle des bénéfices.

Analyse des risques

  1. La rupture des bandes de Bollinger ne peut pas déterminer avec précision les points d'inversion de la tendance des prix, avec le risque de fausse rupture.

  2. Les paramètres d'arrêt des pertes et de prise de bénéfices déraisonnables peuvent entraîner des risques plus importants.

  3. Les coûts de transaction peuvent affecter la fréquence élevée des transactions.

Directions d'optimisation

  1. Combiner avec d'autres indicateurs pour filtrer les faux signaux, par exemple KDJ pour la tendance et MACD pour la divergence.

  2. Ajustez dynamiquement les paramètres des bandes de Bollinger en fonction de la volatilité du marché pour calculer une largeur de bande raisonnable.

  3. Optimiser la stratégie de stop-loss et de prise de profit, par exemple le stop de suivi ou la fermeture partielle.

  4. Considérer les coûts de transaction impact et ajuster la période de détention.

Conclusion

Cette stratégie suit la tendance de la rupture des bandes de Bollinger et a des effets positifs. Mais une fausse rupture peut entraîner de plus grands risques. Combiner avec d'autres indicateurs et continuer à optimiser les paramètres peut contrôler les risques et améliorer la rentabilité.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fuera Bolinga", overlay=true)

length = input.int(60, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
take_profit_percentage = 6.0

basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

stop_loss_percentage = 1.5

// Determinar si la vela cierra por fuera de las bandas
above_upper_band = close > upper
under_lower_band = close < lower

// Pintar las velas que cierran por fuera de las bandas
barcolor(above_upper_band ? color.new(#2cee32, 0) : na)
barcolor(under_lower_band ? color.new(#e02c2c, 0) : na)

// Entrada larga con stop loss y take profit
if (ta.crossover(close, upper))
    strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

// Entrada corta con stop loss y take profit
if (ta.crossunder(close, lower))
    strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

//// Salida de operación larga
if ((ta.crossunder(close, upper) or ta.crossunder(close, lower)) and (strategy.opentrades != 0))
    strategy.close("BBandLE")

// Salida de operación corta
if ((ta.crossover(close, lower) or ta.crossover(close, upper)) and (strategy.opentrades != 0))
    strategy.close("BBandSE")
	
// Plot de las bandas de Bollinger
plot(upper, color=color.new(#2cee32, 0), title="Upper Bollinger Band")
plot(lower, color=color.new(#e02c2c, 0), title="Lower Bollinger Band")


Plus de