Эта стратегия торгует ценовым прорывом полос Боллинджера. полосы эффективно определяют диапазон колебаний цен, с прорывами, сигнализирующими о потенциальных поворотах тренда.
Логика стратегии:
Вычислить среднюю линию BB, верхнюю и нижнюю полосы. Средняя линия - это n-периодная SMA, ширина полосы - кратное стандартному отклонению n-период.
Продолжайте с нижней полосы, и коротко с верхней.
Установите стоп-потерю на противоположной полосе для контроля риска.
Задержка, чтобы получить больше прибыли, или фиксированная остановка.
Используйте взаимоисключающие ордера, чтобы избежать одновременного длинного/короткого.
Преимущества:
Брейк ББ точно определяет изменения тренда.
Остановки на полосах позволяют своевременно выйти из тренда.
Взаимное исключение позволяет избежать хеджирования в одном направлении.
Риски:
Средний показатель BB и отклонение задержки, отсутствуют лучшие записи.
Крышки распространены на разных рынках.
Статические параметры Невозможно адаптировать меняющуюся волатильность.
В целом, эта стратегия рассматривает брейк-оты BB как типичную систему каналов.
/*backtest start: 2022-09-05 00:00:00 end: 2023-09-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) // // author: Kozlod // date: 2019-05-27 // RSI - BTCUSDT - 1m // https://www.tradingview.com/u/Kozlod/ // https://t.me/quantnomad // source = close length = input(45, minval=1) mult = input(2.5, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev plot(upper) plot(lower) buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (crossover(source, lower)) strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if (crossunder(source, upper)) strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE")