
Cette stratégie est appelée stratégie quantifiée de Bollinger basée sur le renversement de la bande de volatilité. Cette stratégie utilise le haut et le bas de la bande de Bollinger pour les décisions d’achat et de vente.
La stratégie utilise l’indicateur RSI pour déterminer le moment de l’achat. Plus précisément, elle détermine si le prix de clôture d’une barre la plus récente est inférieur au prix le plus bas des 6 barres précédentes, tandis que la largeur de la bande de Boulder (BBW) est supérieure à la limite de réglage et que le rapport de la bande de Boulder (BBR) se trouve dans la plage de réglage.
L’exit est plus simple: lorsque le RSI est supérieur à 70, cela indique que le cours de l’action est surchauffé, ce qui entraîne la vente de positions en cours.
Le plus grand avantage de cette stratégie réside dans le fait qu’elle utilise le haut et le bas de la courbe de Bollinger pour juger et que, lorsque la courbe de Bollinger est inversée, elle peut être achetée et vendue, ce qui permet de saisir les opportunités de revers à court terme. Comparée à la simple stratégie RSI, cette stratégie est plus rigoureuse dans le jugement du moment d’achat et évite la probabilité d’une mauvaise transaction.
En outre, la stratégie est sensible aux paramètres et peut être optimisée pour les différentes variétés en ajustant les paramètres BBW, BBR, ce qui permet d’obtenir de meilleurs résultats.
Le principal risque de cette stratégie est que les bandes de Brin ne peuvent pas prédire à 100% le renversement des prix, et si le moment n’est pas approprié, il est facile de manquer l’occasion d’acheter le meilleur moment ou de subir une perte virtuelle.
En outre, les fluctuations à court terme des cours des actions peuvent entraîner des stratégies de placement fréquentes, augmentant les coûts de transaction et les coûts de dérapage. Si la reprise n’est pas suffisante, il existe un risque de placement à perte.
Cette stratégie peut être optimisée dans les domaines suivants:
Paramètres d’optimisation: les paramètres BBW, BBR, etc. peuvent être testés et optimisés de manière plus fine, en choisissant les paramètres les plus optimaux pour les différentes variétés de transactions.
Il est possible de régler le stop mobile ou le stop temporel pour contrôler le maximum de pertes.
Il peut être combiné avec d’autres indicateurs tels que KDJ, MACD, etc. pour rendre le signal d’achat plus précis et plus fiable.
Optimiser les mécanismes d’exit. Les mécanismes d’exit actuels sont plus simples et peuvent être optimisés, par exemple en définissant des arrêts mobiles appropriés ou en choisissant une sortie en fonction de la volatilité.
Cette stratégie utilise les caractéristiques des bandes de Bollinger pour déterminer le moment où les prix peuvent être inversés, pour acheter et vendre. Comparé à un seul indicateur tel que le RSI, cette stratégie est plus précise dans son jugement du moment.
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//study(title = "Bolinger strategy", overlay=true)
strategy("Bolinger strategy",currency="SEK",default_qty_value=10000,default_qty_type=strategy.cash,max_bars_back=50)
len = 5
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
bbw3level = input(15, title="bbw3")
bbr3level = input(0.45, title="bbr3level")
bbrlower = input(0.4480, title="bbrlower")
bbrhigher = input(0.4560, title="bbrhigher")
sincelowestmin = input(7, title="sincelowestmin")
sincelowestmax = input(57, title="sincelowestmax")
length = input(20, minval=1)
mult = 20
src3 = close[3]
basis3 = sma(src3, length)
dev3 = mult * stdev(src3, length)
upper3 = basis3 + dev3
lower3 = basis3 - dev3
bbr3 = (src3 - lower3)/(upper3 - lower3)
bbw3 = (upper3-lower3)/basis3*100
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
bbw = (upper-lower)/basis*100
criteriamet = 0
crossUnderB0 = crossunder(bbr,0)
since_x_under = barssince(crossUnderB0)
sincelowest = barssince(close[6] > close[3] and close[5] > close[3] and close[4] > close[3] and close[2] > close[3] and close[1] > close[3] and close > close[3] and bbw3 > bbw3level and bbr3 < bbr3level) // and bbr3 < 0
if sincelowest > sincelowestmin and sincelowest < sincelowestmax and bbr > bbrlower and bbr < bbrhigher
criteriamet := 1
else
criteriamet := 0
//plot (criteriamet)
//exit
exitmet = 0
if rsi > 70
exitmet := 1
else
exitmet := 0
if criteriamet == 1
strategy.entry("long", strategy.long)
if exitmet == 1
strategy.close("long")