Интеллектуальная стратегия отслеживания торговли на основе полос Боллинджера


Дата создания: 2024-01-17 14:05:36 Последнее изменение: 2024-01-17 14:05:36
Копировать: 1 Количество просмотров: 590
1
Подписаться
1617
Подписчики

Интеллектуальная стратегия отслеживания торговли на основе полос Боллинджера

Обзор

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

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

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

В частности, стратегия основывается на двух показателях:

  1. ru.crossover ((source, lower): закрытие цены, переход вниз

  2. ta.crossunder{source, upper}: закрытие цены, попадание в траекторию, открытие позиций

Когда вызывается условие ликвидации позиции, используйте функцию strategy.cancel () для ликвидации текущей позиции.

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

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

  1. Дизайн, основанный на индикаторе Брин-Бенд, позволяет эффективно отслеживать ценовые движения и улавливать рыночные колебания
  2. Правила четкие, простые и понятные
  3. Настраиваемые параметры, такие как длина цикла, кратность стандартного отклонения и т. д.
  4. Конфигурируемые эффекты оптимизации стратегий, такие как мобильный стоп, фиксированный стоп и мобильный стоп

Анализ стратегических рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. Прорыв пояса Бурин легко подделывается и может привести к ложному сигналу
  2. Эффективность зависит от оптимизации параметров, неправильный выбор параметров может повлиять на прибыльность
  3. Трудность отслеживания остановок, невозможность эффективно контролировать единичные потери

Решение проблемы:

  1. В сочетании с другими показателями фильтруют сигналы, чтобы избежать ложного прорыва
  2. Тестируйте параметры и выберите оптимальную комбинацию параметров
  3. Добавить мобильные стоп-клипы или клипы стоп-трейдинга

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

Эта стратегия может быть оптимизирована:

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

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

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

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

//@version=5
strategy("Bollinger Bands Strategy with alerts (incl. pending orders) via TradingConnector to Forex", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
	strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
    alert(message='long price='+str.tostring(lower), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandLE")
    alert(message='cancel long', freq=alert.freq_once_per_bar_close)
if (ta.crossunder(source, upper))
	strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
    alert(message='short price='+str.tostring(upper), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandSE")
    alert(message='cancel short', freq=alert.freq_once_per_bar_close)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

//Lines of code added to the original built-in script: 14, 17, 20 and 23 only.
//They trigger alerts ready to be executed on real markets through TradingConnector
//available for Forex, indices, crypto, stocks - anything your broker offers for trading via MetaTrader4/5