Торговая стратегия с возвратом к среднему значению и фильтр объема полос Боллинджера

BB SMA SD VOL
Дата создания: 2024-06-21 18:20:13 Последнее изменение: 2024-06-21 18:20:13
Копировать: 0 Количество просмотров: 896
1
Подписаться
1617
Подписчики

Торговая стратегия с возвратом к среднему значению и фильтр объема полос Боллинджера

Обзор

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

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

  1. Настройка ленты Брин:

    • Используйте 20 дней в качестве цикла расчета
    • Средняя траектория - 20-дневная простая скользящая средняя (SMA)
    • Верхняя и нижняя полосы с уменьшением стандартного разрыва в 2 раза
  2. Торговые сигналы:

    • Сигнал покупателя: цена снизилась с нижнего уровня
    • Продажа: цена вышла из строя и прорвалась вверх
  3. Фильтр объемов сделок:

    • Можно выбрать, включить ли фильтрацию загрузки
    • Требуется объем сделки, превышающий установленный порог (по умолчанию 100 000), чтобы вызвать торговый сигнал
  4. Выполнение сделки:

    • Покупайте больше, когда появятся сигналы о покупке
    • При появлении сигнала “продать” ликвидировать позиции и открыть позицию на нулевую величину
    • Площадка пуста при появлении сигнала покупки
    • Включенная фильтрация объема транзакций приводит к выполнению транзакций только при условии выполнения условий объема транзакций

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

  1. Принцип среднезначной регрессии: использует свойства среднезначной регрессии колебаний цен на финансовых рынках, повышая вероятность получения прибыли.

  2. Динамическая адаптивность: Брин-пояса могут автоматически корректироваться в зависимости от волатильности рынка, чтобы стратегия адаптировалась к различным рыночным условиям.

  3. Контроль риска: естественный стоп-лосс для торгов предоставляется с помощью установки пояса Брин на верхней и нижней рельсах.

  4. Подтверждение количества сделок: введение фильтрации количества сделок повышает надежность торговых сигналов и снижает риск ложных прорывов.

  5. Двунаправленная торговля: стратегия поддерживает оптовую и дисконтную торговлю, позволяя максимально использовать возможности двунаправленной торговли.

  6. Визуализация: с помощью диаграммы, на которой изображены буринские полосы и торговые сигналы, для удобства визуального понимания и анализа эффективности стратегии.

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

  1. Риск колебания рынка: частое касание пояса бурин может привести к непрерывным убыткам на колебаниях.

  2. Недостаточность трендового рынка: в сильных трендовых рынках, стратегия может пропустить значительную тенденцию, или частое снижение позиций приводит к ограничению дохода.

  3. Риск ложного прорыва: несмотря на наличие фильтрации объема транзакций, возможны ошибочные транзакции, вызванные ложным прорывом.

  4. Чувствительность параметров: настройки на циклы, множители и торговое количество Бринга оказывают большое влияние на эффективность стратегии. Неправильная настройка может привести к чрезмерной торговле или упущенным возможностям.

  5. Скидки и затраты на транзакции: Частые транзакции могут привести к более высоким затратам на транзакции и повлиять на общую прибыль.

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

  1. Тренд-фильтрация: введение дополнительных трендовых показателей (например, движущихся средних или ADX), корректировка стратегического поведения на рынке с сильной тенденцией.

  2. Оптимизация динамических параметров: автоматическая корректировка параметров Брин-бенда и снижение объема сделок в зависимости от волатильности рынка, повышение адаптивности стратегии.

  3. Оптимизация стоп-убытков: введение динамических стоп-убытков, основанных на ATR, для лучшего управления рисками.

  4. Подтверждение сигнала: в сочетании с другими техническими индикаторами (например, RSI или MACD) для вторичного подтверждения торгового сигнала, повышающего точность.

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

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

  7. Воспроизведение и оптимизация: более полное историческое воспроизведение и оптимизация комбинации параметров с использованием методов генетических алгоритмов.

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

Стратегия Brin Belt Average Return Trading Strategy with Transaction Volume Filtering - это количественная торговая система, которая сочетает в себе принципы технического анализа и статистики. Стратегия направлена на то, чтобы захватить краткосрочные возможности для рыночного переворота, используя волатильность цен в пределах Brin Belt и подтверждение объемов сделок. Хотя стратегия хорошо работает на волатильных рынках, все еще есть место для улучшения в отношении сильных тенденций и управления рисками.

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

//@version=5
strategy("Mean Regression Strategy", overlay=true)

// Bollinger Bands
length = input(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input(2.0, title="Bollinger Bands Multiplier")

basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plotting Bollinger Bands
plot(basis, title="Basis", color=color.blue)
plot(upper, title="Upper Band", color=color.red)
plot(lower, title="Lower Band", color=color.red)

// Trading logic
longCondition = ta.crossover(src, lower)
shortCondition = ta.crossunder(src, upper)

// Plotting signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy execution
strategy.entry("Long", strategy.long, when=longCondition)
strategy.close("Long", when=shortCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Short", when=longCondition)

// Volume filter (optional)
useVolumeFilter = input(true, title="Use Volume Filter")
volumeThreshold = input(100000, title="Volume Threshold")

volumeCondition = na(volume) ? na : volume > volumeThreshold

if useVolumeFilter
    longCondition := longCondition and volumeCondition
    shortCondition := shortCondition and volumeCondition

// Final execution with volume filter
if useVolumeFilter
    strategy.entry("Long", strategy.long, when=longCondition)
    strategy.close("Long", when=shortCondition)
    strategy.entry("Short", strategy.short, when=shortCondition)
    strategy.close("Short", when=longCondition)