Принципы стратегии
Эта стратегия торгуется на основе прорывов полосы Боллинджера. Полосы Боллинджера состоят из средней полосы, верхней полосы и нижней полосы. Средняя полоса представляет собой скользящую среднюю за n периодов, в то время как верхняя и нижняя полосы рассчитываются путем сложения / вычитания x стандартных отклонений от средней полосы. Прорыв выше верхней полосы указывает на восходящий тренд, в то время как прорыв ниже нижней полосы сигнализирует о нисходящем тренде. Ключевыми параметрами для построения полос Боллинджера являются период средней полосы n и мультипликатор стандартного отклонения m. Типичными значениями являются 20 периодов и 1,5x стандартных отклонений. Настройки n и m напрямую влияют на ширину полос, и, следовательно, частоту сигналов прорыва. Период может быть установлен между 10-20, в то время как мультипликатор стандартного отклонения n может быть
Преимущество этой стратегии заключается в использовании полос Боллинджера для определения рыночных тенденций и волатильности, а также вхождении на основе сигналов прорыва и выходе на выводе. Однако существуют такие проблемы, как отставание полосы, ненадежные сигналы прорыва и отсутствие стоп-лосса. В целом эта стратегия лучше работает на рынках с ясными тенденциями, но должна использоваться осторожно. Оптимизация параметров, добавление стопов и сигнальных фильтров могут улучшить стабильность стратегии.
В итоге, хотя стратегия Bollinger Band Breakout имеет некоторые преимущества, она также несет в себе значительные риски. Только при надлежащей оптимизации, контроле рисков и управлении деньгами эта стратегия может быть применена в режиме реального времени стабильным образом.
/*backtest start: 2022-09-04 00:00:00 end: 2023-09-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, overlay=true) source = close length = input(20, minval=1, title = "Period") //Length of the Bollinger Band mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev if (crossover(source, upper)) strategy.entry("Long", strategy.long) if(crossunder(source, basis)) strategy.close("Long") plot(basis, color=color.red,title= "SMA") p1 = plot(upper, color=color.blue,title= "UB") p2 = plot(lower, color=color.blue,title= "LB") fill(p1, p2)