Esta estratégia é baseada no indicador Bollinger Bands, tomando posições longas ou curtas quando o preço sai das linhas superiores ou inferiores das Bandas de Bollinger.
Especificamente, ele primeiro calcula a SMA da linha média do comprimento do comprimento e as linhas superior/inferior de múltiplos vezes o desvio padrão. Quando o fechamento quebra para cima da linha inferior, vá longo. Quando o fechamento quebra da linha superior, vá curto. Também defina o horário de início e fim para limitar os horários de negociação. Saia antes da abertura diária.
A estratégia tenta capturar movimentos em expansão após o preço sair das faixas.
Os riscos podem ser reduzidos através da otimização das regras de entrada, adição de stop loss, introdução de filtros de tendência, etc.
Esta é uma estratégia de breakout baseada em Bandas de Bollinger. Ele lucrar com movimentos de breakout. Os prós são lógica simples e implementação fácil; Cons são suscetíveis a falsas breakouts. Os riscos podem ser gerenciados através de otimização de parâmetros, stop loss, controle de horas de negociação, etc. Ele permite que os comerciantes entendam os fundamentos do uso de indicadores e breakouts de negociação.
/*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()