Эта стратегия основана на индикаторе Bollinger Bands, принимая длинные или короткие позиции, когда цена выходит из верхних или нижних линий Bollinger Bands.
В частности, он сначала рассчитывает среднюю линию SMA длины длины и верхние / нижние линии многократного стандартного отклонения. Когда закрытие выходит вверх от нижней линии, идите в длинный путь. Когда закрытие выходит из верхней линии, идите в короткий путь. Также установите время начала и окончания, чтобы ограничить рабочее время. Выходите до ежедневного открытия.
Например, если цена выходит из диапазона, то это означает, что она усиливает бычьи силы, в то время как нарушение верхней полосы означает укрепление медвежих сил.
Риски могут быть уменьшены путем оптимизации правил входа, добавления стоп-лосса, введения фильтра тренда и т.д.
Это стратегия прорыва, основанная на полосах Боллинджера. Она получает прибыль от прорывных движений. Преимущества заключаются в простой логике и легкой реализации; минусы - в восприимчивости к ложным прорывам. Риски можно управлять с помощью оптимизации параметров, стоп-лосса, контроля торговых часов и т. Д. Это позволяет трейдерам понять основы использования индикаторов и торговых прорывов.
/*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()