Стратегия торговли индексами на основе канала Bollinger Bands


Дата создания: 2023-12-08 16:52:24 Последнее изменение: 2023-12-08 16:52:24
Копировать: 0 Количество просмотров: 667
1
Подписаться
1621
Подписчики

Стратегия торговли индексами на основе канала Bollinger Bands

Обзор

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

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

Центральная логика стратегии основана на канале буринской полосы. Буринская полоса состоит из средней, верхней и нижней полос, средняя полоса представляет собой движущуюся среднюю цену закрытия за n дней, а верхняя и нижняя полосы - отклонения от средней и нижней полос соответственно. Когда цена приближается к верхней полосе, это означает, что рынок может быть перегрет, что создает пустые возможности; когда цена приближается к нижней полосе, это означает, что рынок может быть недооценен, что создает многосторонние возможности.

В этой стратегии используются две полосы бурин: полоса 1 - для плюса, полоса 2 - для минуса. Параметры полосы 1 оптимизированы, длина 25 и отклонение в 2,9 раза; параметры полосы 2 также оптимизированы, длина 36 и отклонение в 3,2 раза.

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

По сравнению с традиционной стратегией “пояса бурин”, у этой стратегии есть следующие преимущества:

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

  2. Параметры были оптимизированы. Параметры двух комплектов бурин-полосок были тщательно протестированы, чтобы эффективно подавать торговые сигналы.

  3. Контролируемый риск. Использование мобильного метода остановки позволяет эффективно контролировать односторонний риск.

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

Однако есть и потенциальные риски:

  1. Риск выхода из строя при сильном колебании рынка.

  2. Стоп-убытки могут быть подвергнуты риску. Подвижные стоп-убытки могут быть подвергнуты риску, что может увеличить потери. Стоп-убытки могут быть адекватно уменьшены или своевременно прекращены.

  3. Слишком высокая частота торгов рискованна. Параметры настроены слишком чувствительными, что может привести к увеличению стоимости торгов из-за частоты торгов.

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

Однако есть еще много возможностей для оптимизации этой стратегии:

  1. В сочетании с другими показателями фильтруют сигналы, чтобы избежать ошибочных сделок при недействительности Брин-банка. Например, форма K-линии, объем сделок и т. Д.

  2. Динамическая корректировка параметров, чтобы приспособить бринды к рыночным характеристикам различных циклов. Например, использование адаптивных бриндов.

  3. Оптимизация методов остановки, использование отслеживаемых остановок или индекса перемещения остановок и т. Д., Эффективное управление риском.

  4. Автоматическая оптимизация параметров в сочетании с алгоритмами машинного обучения.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("BB NDX strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.01)

source = close
length = input(25, minval=1, title="Length BB long")
mult = input(2.9, minval=0.001, maxval=50, step=0.1, title="MULT BB long")

length2 = input(36, minval=1, title="Length BB short")
mult2 = input(3.2, minval=0.001, maxval=50, step=0.1, title="MULT BB short")


basis = sma(source, length)
dev = mult * stdev(source, length)
dev2 = mult2 * stdev(source, length2)

upper = basis + dev2
lower = basis - dev

buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)

longEntry=input(true)
shortEntry=input(true)

g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk     = input(100)
leverage = input(1.0, step = 0.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)


tplong=input(0.065, step=0.005, title="Take profit % for long")
sllong=input(0.04, step=0.005, title="Stop loss % for long")
tpshort=input(0.025, step=0.005, title="Take profit % for short")
slshort=input(0.04, step=0.005, title="Stop loss % for short")

if(longEntry)
    strategy.entry("long",1,c,when=buyEntry)
    strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
    strategy.close("long",when=sellEntry)
if(shortEntry)
    strategy.entry("short",0,c,when=sellEntry)
    strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')
    strategy.close("short",when=buyEntry)