Это стратегия, основанная на полосах Боллинджера. Она использует верхние и нижние полосы полос Боллинджера для определения ценовых тенденций и генерации сигналов купли и продажи. В частности, она длинна, когда цена закрытия превышает верхнюю полосу, и коротка, когда цена закрытия превышает нижнюю полосу.
Стратегия использует верхние и нижние полосы полос Боллинджера для определения тенденций. Средняя полоса полос Боллинджера - это простая скользящая средняя цены закрытия за n периодов. Ширина полос равна k раз стандартному отклонению цен закрытия за n периодов. Формулы:
Средняя полоса: SMA ((Close, n) Верхняя полоса: Средняя полоса + k * STDEV ((Close, n) Нижняя полоса: Средняя полоса - k * STDEV ((Close, n))
Когда цена выходит выше верхней полосы, это означает, что цена превысила нормальный диапазон колебаний вокруг средней полосы, что указывает на восходящий тренд. Когда цена выходит ниже нижней полосы, это означает, что цена упала за пределы нормального диапазона, что указывает на нисходящий тренд.
Исходя из этого, стратегия определяет:
Использование полос Боллинджера для определения тенденций хорошо работает для среднесрочных и долгосрочных тенденций.
Основными преимуществами этой стратегии являются:
Использование полос Боллинджера для определения тенденций является надежным.
Правила стратегии просты и понятны, легко понять и реализовать.
Не нужно предсказывать цены, просто отслеживать взаимосвязь между ценой и полосами Боллинджера.
Сигналы генерируются на перерывах в диапазоне, своевременно улавливая изменения тренда, не упуская возможностей.
Стратегия также сопряжена с некоторыми рисками:
После прорыва диапазона тренды могут не устойчивы и возможны сдвиги.
Цена может колебаться вблизи диапазонов, вызывая несколько небольших потерь.
Недостаточные параметры также могут приводить к плохим сигналам. Слишком маленький n может привести к слишком частым изменениям полос и сигналам. Слишком большой k может привести к отставанию сигналов.
Тенденции на рынке могут повлиять на отдельные запасы и привести к системным рискам.
Соответствующие меры контроля риска:
Стратегия может быть оптимизирована несколькими способами:
Оптимизируйте n и проверяйте различные настройки.
Добавьте фильтры, использующие другие индикаторы, такие как MACD и KDJ, для фильтрации сигналов покупки/продажи и уменьшения ложных сигналов.
Добавьте механизмы остановки потери, такие как ценовые или волатильные остановки для контроля потерь.
Используйте полосу Боллинджера для определения волатильности цен и корректировки размеров позиций.
Комбинировать с индикаторами, определяющими тренд, и использовать диапазоны для входных сигналов в установленных тенденциях.
В целом это надежная стратегия, следующая за трендом. Он использует полосы Боллинджера для определения трендов и прост в эксплуатации. Основными преимуществами являются своевременные сигналы, захватывающие сдвиги в тренде. Но существуют некоторые сложности с оптимизацией параметров. Методы, такие как оптимизация параметров, добавление фильтров, могут контролировать риски и улучшать стабильность. Он подходит для инвесторов, которые имеют умеренные потребности в точности тренда и предпочитают высокую частоту операции.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Bollinger Bands Trend Strategy", shorttitle="BB Trend", overlay=true) source = close length = input(8, minval=1) mult = input(1.00, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev buyEntry = crossover(source, upper) sellEntry = crossunder(source, lower) if (crossover(source, upper)) strategy.entry("BBandLE", strategy.long, stop=upper, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if (crossunder(source, lower)) strategy.entry("BBandSE", strategy.short, stop=lower, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)