Эта стратегия строит торговую стратегию на основе индикатора Болинджерских полос для достижения автоматизированной торговли на фьючерсах биткоина в течение 1-минутного периода времени.
Стратегия использует индикатор полос Боллинджера с 55 периодами и коэффициентом пропускной способности, установленным на 4. Средняя линия полос Боллинджера - это 55-дневная простая скользящая средняя, а верхняя и нижняя линии - это средняя линия +4 раз стандартного отклонения и средняя линия -4 раз стандартного отклонения соответственно.
После запуска длинного сигнала стратегия будет устанавливать ордер стоп-лосса по цене нижней линии. После запуска короткого сигнала стратегия будет устанавливать ордер стоп-лосса по цене верхней линии.
Стратегия использует способность индикатора Болинджерских полос определять условия перекупления и перепродажи для разумного определения времени входа. Коэффициент пропускной способности установлен на 4 для предотвращения чрезмерной частоты торговли.
По сравнению с другими индикаторами, индикатор Bollinger Bands очень хорошо адаптируется к колебаниям рынка и может автоматически регулировать пропускную способность для отслеживания волатильности в разные периоды.
Кроме того, стратегия основана исключительно на индикаторе Bollinger Bands, который очень прост и отвечает требованиям количественной торговли.
Основный риск этой стратегии заключается в том, что влияние индикатора Боллингерских полос на оценку условий рынка сверхпокупки и перепродажи может быть затронуто огромными движениями рынка. На бычьем рынке цены на акции могут быть высокими в течение длительного периода, что затрудняет формирование эффективного сопротивления верхней рельсы. Аналогично, на медвежьем рынке цены на акции могут оставаться низкими в течение длительного периода, что затрудняет более низкую рельсу обеспечить эффективную поддержку. Все это может привести к недействительным торговым сигналам, генерируемым стратегией.
Кроме того, установка стоп-лосса непосредственно на верхней и нижней рельсах полос Боллинджера может быть слишком близкой, не давая стратегии достаточного пространства и, таким образом, выбиваясь из колебаний цен.
Стратегия может быть оптимизирована в следующих аспектах:
Индикаторы, такие как KDJ и MACD, могут помочь оценить экстремальные условия перекупки / перепродажи для модификации торговых сигналов.
По сравнению со статическим стоп-лосом, стоп-лосс может корректировать позицию стоп-лоса соответствующим образом на основе колебаний цен.
Оптимизировать параметры. Для поиска оптимальной комбинации параметров можно протестировать различные периоды и параметры полосы Болинджера. Для поиска оптимальных параметров также можно использовать алгоритмы оптимизации.
Устройство параметров в соответствии с рыночными условиями. Рынок имеет три состояния: бык, медведь и диапазон. Поэтому параметры могут быть установлены отдельно на основе рыночных условий.
Добавить продвинутые стратегии управления рычагами.Управлять профилем риска стратегии путем динамической корректировки рычагов.
Самая большая сила этой стратегии заключается в ее простой и ясной логике торговли получения сигналов перекупленности / перепроданности от индикатора Болинджерских полос. В целом, это очень практичная краткосрочная количественная стратегия. Мы можем еще больше улучшить ее, оптимизируя ее во многих отношениях для достижения долгосрочной устойчивой прибыли.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m 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-29 // BB - XBTUDS - Bitmex - 1m // https://www.tradingview.com/u/Kozlod/ // https://t.me/quantnomad // source = close length = input(55, minval=1) mult = input(4, 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")