Cette stratégie est basée sur la conception d’indicateurs de la bande de Bol, lorsque le prix franchit la bande de Bol et se dirige vers le bas, il prend des opérations de plus ou de moins correspondantes. La stratégie tire profit de la capture de la rupture.
Plus précisément, la stratégie commence par calculer le SMA moyen en longueur, et les hauts et les bas calculés en multiples de la différence standard. Lorsque le prix de clôture franchit le bas de la trajectoire vers le haut, faire une entrée supplémentaire; Lorsque le haut de la trajectoire vers le bas de la rupture, faire une entrée en cours.
Cette stratégie tente de capturer l’expansion des prix après la rupture de la trajectoire ascendante et descendante. La rupture de la trajectoire descendante est vue comme une augmentation de la force multilatérale, la rupture de la trajectoire ascendante comme une augmentation de la force bilatérale, ce qui favorise le commerce dans la même direction.
Il est possible de réduire ces risques en optimisant les conditions d’entrée, en ajoutant des stratégies de stop loss et en introduisant des filtres de tendance.
Cette stratégie est basée sur une stratégie de rupture basée sur la bande de Bol, qui profite de la capture des tendances de rupture. L’avantage est que l’idée est simple et facile à mettre en œuvre; L’inconvénient est qu’elle est facilement induite en erreur par les tendances de courbure.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
strategy.close_all()