Прорыв полосы Боллинджера в сочетании с возвратом к среднему значению. Количественная торговая стратегия на четырехчасовом уровне

BBANDS SMA SD TP SL
Дата создания: 2024-12-12 11:24:28 Последнее изменение: 2024-12-12 11:24:28
Копировать: 0 Количество просмотров: 568
1
Подписаться
1617
Подписчики

Прорыв полосы Боллинджера в сочетании с возвратом к среднему значению. Количественная торговая стратегия на четырехчасовом уровне

Обзор

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

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

Основная логика стратегии основана на следующих ключевых элементах:

  1. Использование 20-циклической скользящей средней в качестве средней полосы Бринского пояса и в два раза стандартное расхождение в качестве диапазона колебаний
  2. Сигнал открытия позиции: открытое при прорыве верхнего трека, открытое при прорыве нижнего трека, когда K-линейная субстанция (среднее значение цены открытия и цены закрытия)
  3. Сигналы о закрытии позиции: при многоглавном позиционировании, если две последовательные K-линии закрываются и открываются ниже начальной цены и закрываются ниже начальной цены; при открытии позиции с пустой позицией используется обратная логика
  4. Управление рисками: при создании позиции настроить стоп-лосс на текущий максимум/минимум линии K, чтобы обеспечить контролируемость одиночных потерь

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

  1. Ясная логика торговли: объединение тренинговых и реверсивных методов торговли, позволяющих хорошо работать в различных рыночных условиях
  2. Усовершенствованный риск-контроль: установлена динамическая остановка, основанная на колебаниях K-линии, которая позволяет эффективно контролировать отступ
  3. Фильтрация фальшивых сигналов: подтверждение прорыва путем определения местоположения объекта K-линии, а не только по цене закрытия, уменьшение убытков от фальшивого прорыва
  4. Рациональное управление капиталом: изменение размеров позиций на основе динамики прав и интересов счетов, гарантируя прибыль и контролируя риск

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

  1. Риск рыночных потрясений: в условиях поперечных колебаний может часто вызываться ложный сигнал прорыва, что приводит к последовательным остановкам
  2. Риск использования леверинга: использование 3-кратного леверинга может привести к большим потерям при резких колебаниях
  3. Риск установки стопа: установка стопа в верхней/нижней точке K-линии может быть слишком мягкой, увеличивая одиночные потери
  4. Зависимость от временного цикла: четырехчасовой уровень может быть слишком медленным в некоторых рыночных условиях, чтобы пропустить события

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

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

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04)
// StartYear = input(2022,"Backtest Start Year") 
// StartMonth = input(1,"Backtest Start Month") 
// StartDay = input(1,"Backtest Start Day")

// testStart = timestamp(StartYear,StartMonth,StartDay,0,0)

// EndYear = input(2023,"Backtest End Year")
// EndMonth = input(12,"Backtest End Month")
// EndDay = input(31,"Backtest End Day")

// testEnd = timestamp(EndYear,EndMonth,EndDay,0,0)

lev = 3

// Input parameters
length = input.int(20, title="Bollinger Band Length")
mult = input.float(2.0, title="Bollinger Band Multiplier")

// Bollinger Bands calculation
basis = ta.sma(close, length)
upperBand = basis + mult * ta.stdev(close, length)
lowerBand = basis - mult * ta.stdev(close, length)

// Conditions for Open Long
openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand

// Conditions for Open Short
openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand

// Conditions for Close Long
closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open)

// Conditions for Close Short
closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open)


// Long entry
if openLongCondition
    strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close)
    strategy.exit("Long SL", from_entry="Long", stop=low)  // Set Stop-Loss

// Short entry
if openShortCondition
    strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close)
    strategy.exit("Short SL", from_entry="Short", stop=high)  // Set Stop-Loss

// Long exit
if closeLongCondition
    strategy.close("Long", comment = "TP")

// Short exit
if closeShortCondition
    strategy.close("Short", comment = "TP")

// Plot Bollinger Bands
plot(upperBand, color=color.yellow, title="Upper Band")
plot(lowerBand, color=color.yellow, title="Lower Band")