Cette stratégie est basée sur l'indicateur Bollinger Bands, prenant des positions longues ou courtes lorsque le prix dépasse les lignes supérieures ou inférieures de Bollinger Bands.
Plus précisément, il calcule d'abord la SMA de la ligne médiane de la longueur de la longueur, et les lignes supérieures/inférieures de plusieurs fois l'écart type. Lorsque la fermeture se déplace vers le haut de la ligne inférieure, allez long. Lorsque la fermeture se déplace vers le bas de la ligne supérieure, allez court. Définissez également les heures de début et de fin pour limiter les heures de négociation. Sortez avant l'ouverture quotidienne.
La stratégie tente de capturer les mouvements d'expansion après que le prix ait franchi les bandes.
Les risques peuvent être réduits en optimisant les règles d'entrée, en ajoutant un stop loss, en introduisant un filtre de tendance, etc.
C'est une stratégie de rupture basée sur les bandes de Bollinger. Elle profite des mouvements de rupture. Les avantages sont une logique simple et une mise en œuvre facile; les inconvénients sont la susceptibilité à de fausses ruptures. Les risques peuvent être gérés grâce à l'optimisation des paramètres, au stop loss, au contrôle des heures de négociation, etc. Elle permet aux traders de comprendre les bases de l'utilisation des indicateurs et des ruptures de négociation.
/*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()