Стратегия торговли с двойным стандартным отклонением, основанная на полосах Боллинджера


Дата создания: 2023-12-18 17:23:42 Последнее изменение: 2023-12-18 17:23:42
Копировать: 0 Количество просмотров: 746
1
Подписаться
1621
Подписчики

Стратегия торговли с двойным стандартным отклонением, основанная на полосах Боллинджера

Обзор

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

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

Стратегия начинается с вычисления средней, верхней и нижней полос Брин-Бенда. Средняя полоса - SMA CLOSE, верхняя полоса - средняя полоса + 2*Плохой стандарт, нижняя полоса - средняя полоса-2*Стандартное отклонение. Когда цена прорывается вверх, она создает сигнал о покупке, а когда цена прорывается вниз, она создает сигнал о продаже. Кроме того, стратегия также рисует линию средней колеи + 1 стандартное отклонение и средней колеи - 1 стандартное отклонение.

  1. Расчет SMA CLOSE в качестве средней полосы Брин-Бенда
  2. Вычислите стандартное расхождение STD для CLOSE и вычислите 2*STD
  3. Средняя орбита + 2*STD за Брин на треке, средний трек-2*STD сбил Брин
  4. Когда цена выходит из строя, делайте больше
  5. Сделайте убыток, когда цена выходит из рельса
  6. Средняя орбита + 1*STD как стоп-линия, если стоп-линия была нарушена, то она была ликвидирована

Стратегические преимущества

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

Стратегический риск

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

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

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

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

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

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

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))

// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)

// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)

strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)