Динамическая стратегия Bollinger Breakout

Автор:Чао Чжан, Дата: 2024-01-26 14:52:59
Тэги:

img

Обзор

Эта стратегия представляет собой торговую стратегию прорыва, основанную на индикаторе Bollinger Bands. Она рассчитывает верхние и нижние рельсы Bollinger Bands и сочетает их с динамически регулируемыми порогами покупки и продажи для автоматизации торговли BTCUSDT на Binance.

Логика стратегии

Основной индикатор этой стратегии - полосы Боллинджера. Полосы Боллинджера состоят из N-дневного скользящего среднего и верхних и нижних полос, изображенных на уровне стандартного отклонения выше и ниже него. Полосы Боллинджера в этой стратегии имеют длину 20 дней и мультипликатор стандартного отклонения 2. Когда цена приближается или касается нижней рельсы полос Боллинджера, она считается перепроданной, и стратегия откроет длинную позицию. Когда цена приближается или касается верхней рельсы, она считается перекупленной, и стратегия закрывает длинные позиции.

В дополнение к индикатору полос Боллинджера, эта стратегия также вводит два регулируемых параметра: порог покупки и порог продажи. По умолчанию порог покупки находится на 58 пунктах ниже нижней полосы и служит условием входа для открытия длинных позиций. По умолчанию порог продажи находится на 470 пунктах выше нижней полосы и служит условием выхода для закрытия позиций. Эти пороги могут быть динамически скорректированы на основе фактических рыночных условий и результатов обратных тестов, чтобы сделать стратегию более гибкой.

Когда условие покупки выполнено, стратегия откроет длинную позицию с использованием 10% собственного капитала счета. После открытия длинной позиции, если цена повысится до уровня стоп-лосса (-125%), позиции будут закрыты ордерами стоп-лосса. Когда цена повысится, чтобы запустить порог продажи, стратегия решит закрыть все позиции, чтобы получить прибыль.

Анализ преимуществ

К основным преимуществам этой стратегии относятся:

  1. Использование полос Боллинджера позволяет использовать возможности, когда цены аномально отклоняются от полос, и получать прибыль от перемен.
  2. Введение регулируемых порогов покупки и продажи оптимизирует точки входа и выхода
  3. Принятие частичных размеров позиций контролирует риск
  4. Установка условия остановки убытков позволяет избежать дальнейших потерь
  5. Обратное тестирование с 5-минутными интервалами может своевременно выявить краткосрочные торговые возможности.

Анализ рисков

Эта стратегия также сопряжена с некоторыми рисками:

  1. Сам по себе Bollinger Bands не является на 100% надежным, цены могут колебаться ниже в течение длительного времени, прежде чем снова упасть.
  2. Неправильное установление порога может привести к отсутствию лучших пунктов входа или выхода
  3. Настройка стоп-потери слишком свободная может не остановить потерю вовремя, или слишком плотный может вызвать стоп-потерю слишком чувствителен
  4. Неправильный выбор периода обратного тестирования может привести к тому, что некоторые случайные прибыли станут стабильным доходом

Контрмеры:

  1. Объедините больше индикаторов для оценки рыночных условий и избегайте ложных сигналов полос Боллинджера
  2. Испытать и оптимизировать пороговые параметры для поиска оптимальной комбинации
  3. Проверка и оптимизация условий остановки потери для нахождения баланса
  4. Принять более длительный период обратного тестирования для проверки стабильности стратегии

Руководство по оптимизации

Стратегия может быть дополнительно оптимизирована в следующих аспектах:

  1. Попробуйте комбинировать другие показатели, такие как KD, RSI, чтобы установить более строгие правила входа, избегайте входа слишком рано или слишком поздно
  2. Испытать различные комбинации параметров полос Боллинджера для оптимизации длины полосы и множителя стандартного отклонения
  3. Оптимизировать пороги покупки и продажи для повышения уровня прибыли
  4. Попробуйте использовать динамический коэффициент стоп-лосса на основе ATR, чтобы соответствовать волатильности рынка
  5. Оптимизировать размещение позиций, например, соответствующее пирамидизирование позиций при получении прибыли для контроля риска единого убытка

Резюме

В целом, это простая и практичная стратегия выхода. Она использует полосы Боллинджера для выявления возможностей реверсии и устанавливает динамические пороги для входа и выхода. Между тем, для контроля рисков используются разумный размер позиции и условия остановки потери. После оптимизации нескольких ключевых параметров эта стратегия может приносить относительно стабильные доходы. Она подходит для алгоритмической торговли и также может служить вспомогательным инструментом для выбора акций или измерения настроения на рынке.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SuperDS_BTC

//@version=5
strategy("布林通道策略多5min", overlay=true) 

// 布林通道计算
length = input(20, title="布林通道周期")
mult = input(2.0, title="标准差倍数")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// 计算买入数量:每次检查仓位的大小 
// 每次买入使用总资金的10%
position_size = strategy.equity * 10 / close 

// 定義可調整的閾值
buy_threshold = input(58, title="買入閾值")
exit_threshold = input(470, title="賣出閾值")

// 买入条件:当现价低于布林通道的下限减去 buy_threshold
buy_condition = close < lower - buy_threshold

// 卖出条件和结清仓位条件
exit_condition = close > lower + exit_threshold

// 买入逻辑
if buy_condition
    strategy.entry("BuyLong", strategy.long, qty=position_size, comment="LongBTC")

// 卖出逻辑
if exit_condition
    strategy.close("BuyLong")

// 止损逻辑
stop_loss_percent = -1.25 //止损百分比为-125%
if strategy.position_size > 0
    position_profit_percent = (strategy.position_avg_price - close) / strategy.position_avg_price * 100
    if position_profit_percent <= stop_loss_percent
        strategy.close("BuyLong")

Больше