Стратегия отслеживания двойного осциллятора полос Боллинджера


Дата создания: 2023-12-25 11:49:41 Последнее изменение: 2023-12-25 11:49:41
Копировать: 0 Количество просмотров: 661
1
Подписаться
1623
Подписчики

Стратегия отслеживания двойного осциллятора полос Боллинджера

Обзор

Двойная бурин-поясная стратегия - это стратегия количественной торговли, которая используется для отслеживания ценовых колебаний путем создания двойной бурин-пояса. Эта стратегия использует взлет и падение бурин-пояса для отслеживания рыночных колебаний в режиме реального времени.

Стратегический принцип

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

Стратегия одновременно устанавливает временные окна, чтобы сделать обратную отсчет более TARGET, чтобы предотвратить влияние предыдущих данных на тестирование. Весь процесс работы стратегии заключается в следующем: создание двойной ленты буринов, перекрещение цены и орбиты в качестве торгового сигнала, установка временных окон, чтобы предотвратить влияние предыдущих данных.

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

Наибольшим преимуществом этой стратегии является то, что она позволяет в реальном времени улавливать колебания цен и определять направление ОПЕРАЦИИ путем прорыва вверх и вниз по Брин-полосе. По сравнению с другими показателями, Брин-полоса реагирует на рынок более чувствительно и может формировать торговый сигнал в более короткие сроки. Кроме того, двойная Брин-полоса устанавливает более широкий канал, более вероятный для прорыва цены, чтобы использовать больше торговых возможностей.

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

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

Решение заключается в оптимизации параметров, в реальной оценке состояния буринской полосы; в разработке стратегии стоп-лосса на основе исторических данных, для контроля одноразовых убытков.

Направление оптимизации

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

  1. Оптимизация параметров ленты Брин, корректировка N-дней и кратности стандартной разницы, чтобы лента Брин могла лучше адаптироваться к характеристикам различных рынков.

  2. Увеличение механизма продления заказа, после получения определенной прибыли от первоначального заказа, для увеличения доходности.

  3. Установка стратегии остановки убытков, чтобы контролировать убытки, когда цена прорывается в противоположном направлении и выходит из строя.

  4. В сочетании с другими индикаторами отфильтровывают сигналы, чтобы избежать ошибочных сигналов в условиях волатильного рынка.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("BB_BB", overlay=true,default_qty_type=strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"


basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)

buy = crossover(sma(close,1), upper) or crossover(sma(close,1), lower)
sell = crossunder(sma(close,1), upper) or crossunder(sma(close,1), lower)

if(buy)
    strategy.entry("BUY", strategy.long, when = window())
if(sell)
    strategy.entry("SELL", strategy.short, when = window())