Стратегия BB%B

Автор:Чао Чжан, Дата: 2023-09-25 17:53:36
Тэги:

Обзор

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

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

Стратегия сначала рассчитывает SMA цен закрытия за указанный период, а также стандартное отклонение, чтобы получить верхние и нижние рельсы полос Боллинджера. Индикатор BB%B представляет собой положение текущей цены в полосах Боллинджера, рассчитанное по формуле (Текущая цена - Нижняя рельса) / (Верхняя рельса - Нижняя рельса). Когда BB%B падает ниже порога перепродажи, генерируется сигнал покупки. Когда BB%B поднимается выше порога перекупки, генерируется сигнал продажи. После запуска торгового сигнала, если BB%B отступает обратно к противоположному порогу, позиция будет закрыта.

В частности, стратегия сначала рассчитывает 21-дневную СМА и 2x стандартного отклонения, чтобы получить верхние и нижние рельсы полос Боллинджера. Затем она рассчитывает текущую цену закрытия BB%B. Если BB%B ниже -0.2 (конфигурируемая) и нет текущей позиции, зайдите в длинную позицию. Если BB%B выше 1.2 (конфигурируемая) и нет текущей позиции, зайдите в короткую. Сигналы выхода запускаются, когда длинная позиция существует и BB%B пересекает выше 1.0 (конфигурируемая), или когда короткая позиция существует и BB%B пересекает выше 0.2 (конфигурируемая).

Стратегия опирается на индикатор BB%B для определения того, является ли текущая цена перенапряженной вверх или вниз, а также использует SMA для оценки текущего направления тренда. Она генерирует торговые сигналы, когда цена превышает рельсы полос Боллинджера.

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

  • Использовать полосы Боллинджера для определения уровней перекупленности/перепроданности

Верхние и нижние рельсы полос Боллинджера представляют собой определенный диапазон стандартного отклонения текущей цены. Цены, приближающиеся или касающиеся верхних сигналов рельса, перекуплены, при этом приближающиеся или касающиеся нижних сигналов рельса, перепроданы. Стратегия BB%B в полной мере использует эту характеристику для определения соответствующих точек входа и выхода.

  • Гибкая конфигурация для регулирования частоты

BB%B пороги, периоды SMA, пороги pullback все настраиваемые, что обеспечивает удобство для корректировки частоты торговли.

  • Комбинированная идентификация тенденций

В дополнение к определению перекупленности/перепроданности с помощью полос Боллинджера, он также сочетает SMA для оценки общей тенденции, избегая торговли против тенденции.

  • Механизм обратного отталкивания для предотвращения ложных сигналов

Когда цена впервые касается рельсов полос Боллинджера, вероятность перекупки / перепродажи высока, но это также может быть краткосрочным ложным прорывом.

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

  • Невозможно определить тенденцию цен

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

  • Неправильный порог отзыва может упустить возможности

Если порог отклонения установлен слишком высоко, обратный тренд может не вызвать изменения позиции во времени, упуская возможности.

  • Более широкий спред цен при расширении полос Боллинджера

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

  • Относительно высокая частота торговли

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

Направления к улучшению

  • Включить индикаторы тенденции для фильтрации сигналов

Добавьте индикаторы, определяющие тренд, такие как MACD, KDJ, чтобы только запустить сделки в направлении тренда, избегая контра-тенденционных сделок.

  • Внедрить механизм остановки потерь

Установите фиксированную сумму или процентную ставку стоп-лосса для контроля по риску торговли и избегайте расширения потерь.

  • Оптимизировать комбинации параметров

Корректируйте периоды SMA, пороги BB%B, пороги pullback и т. д., чтобы найти оптимальную комбинацию параметров, фильтруя больше шума и улучшая стабильность.

  • Рассмотрим затраты на торговлю

Для различных продуктов корректировать параметры на более низкую частоту торговли на основе их профиля затрат на торговлю для уменьшения воздействия.

Резюме

Стратегия BB%B представляет собой простую и практичную количественную торговую стратегию. Она использует полосы Боллинджера для определения потенциальных обратных ценовых точек, сочетается с SMA для направления тренда и торгует вокруг уровней перекупа / перепродажи. Стратегия гибкая для корректировки частоты. Но она также имеет риски, которые требуют дальнейших улучшений, учитывая такие факторы, как общий тренд, стоп-лосс, затраты на торговлю, для повышения стабильности и прибыльности. При правильном использовании стратегия BB%B может стать эффективным компонентом в количественных торговых системах.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// strategy(title = "BB%B Strat", shorttitle = "BB%B Strat", format=format.price, precision=2, default_qty_type=strategy.percent_of_equity, default_qty_value=20)
length = input.int(21, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
ob = input.float(1.2, "Overbought Line", step=0.1)
ob_close = input.float(1.0, "Overbought Close", step=0.1)
os = input.float(-0.2, "Oversold Line", step=0.1)
os_close = input.float(0.2, "Oversold Close", step=0.1)
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
p = plot(bbr, "Bollinger Bands %B", color=#26A69A)
ob_hline = hline(ob, "Overbought", color=color.red, linestyle=hline.style_dashed)
obc_hline = hline(ob_close, "Overbought Close", color=color.red, linestyle=hline.style_dashed)
os_hline = hline(os, "Oversold", color=color.green, linestyle=hline.style_dashed)
osc_hline = hline(os_close, "Oversold Close", color=color.green, linestyle=hline.style_dashed)
fill(ob_hline, obc_hline, color=color.new(color.red, 80), title="Overbought")
fill(os_hline, osc_hline, color=color.new(color.green, 80), title="Overbought")
bgcolor(bbr > ob ? color.new(color.fuchsia, 80) : (bbr < os ? color.new(color.lime, 80) : na))

if bbr < os and strategy.position_size == 0
    strategy.entry("L", strategy.long)
if bbr >= os_close and strategy.position_size > 0
    strategy.close_all()

if bbr > ob and strategy.position_size == 0
    strategy.entry("S", strategy.short)
if bbr <= ob_close and strategy.position_size < 0
    strategy.close_all()

Больше