Principes de stratégie
Cette stratégie est basée sur les ruptures de la bande de Bollinger. Les bandes de Bollinger se composent d'une bande du milieu, d'une bande supérieure et d'une bande inférieure. La bande du milieu est une moyenne mobile de n périodes, tandis que les bandes supérieure et inférieure sont calculées en ajoutant / soustrayant x écarts standard de la bande du milieu. Une rupture au-dessus de la bande supérieure indique une tendance haussière, tandis qu'une rupture au-dessous de la bande inférieure indique une tendance baissière. Les paramètres clés pour construire les bandes de Bollinger sont la période de bande du milieu n et le multiplicateur d'écart standard m. Les valeurs typiques sont 20 périodes et 1,5x écarts standard. Les paramètres de n et m affectent directement la largeur des bandes et donc la fréquence des signaux de rupture.
L'avantage de cette stratégie est d'utiliser les bandes de Bollinger pour déterminer les tendances et la volatilité du marché, et d'entrer en fonction des signaux de rupture et de sortir des retraits. Cependant, des problèmes tels que le retard de bande, des signaux de rupture peu fiables et le manque de stop loss existent. Dans l'ensemble, cette stratégie fonctionne mieux sur les marchés avec des tendances claires, mais doit être utilisée avec prudence.
En résumé, bien que la stratégie de rupture de la bande de Bollinger présente certains avantages, elle comporte également des risques importants.
/*backtest start: 2022-09-04 00:00:00 end: 2023-09-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, 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 basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev if (crossover(source, upper)) strategy.entry("Long", strategy.long) 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)