Стратегия адаптивного прорыва волатильности


Дата создания: 2024-01-08 14:38:31 Последнее изменение: 2024-01-08 14:38:31
Копировать: 0 Количество просмотров: 755
1
Подписаться
1617
Подписчики

Стратегия адаптивного прорыва волатильности

Обзор

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

Эта стратегия была предложена Ларри Р. Уильямсом (Larry R. Williams), известным фьючерсным и фондовым трейдером. Эта стратегия пытается захватить точки прорыва цены, которые часто предвещают перемены.

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

Центральным показателем стратегии является определенный горизонтальный уровень ртути, который рассчитывается по формуле:

一定水平 = 收盘价 + k * (最高价 - 最低价)

где k - коэффициент опыта, равный 0,6. В формулу добавлены динамические компоненты максимальной и минимальной цены, что делает точки прорыва более гибкими и адаптируются к повторяемости рынка.

Когда максимальная цена в тот день превышает определенный уровень отсчета, это указывает на прорыв цены, и в этот момент стратегия создает многоочередные позиции. На следующий день, когда открывается торговля, все позиции закрываются.

Уровень стоп-лоска устанавливается на минимальную цену за день и половину от цены входа, чтобы предотвратить увеличение убытков.

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

Эта стратегия имеет следующие преимущества:

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

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

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

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

Также существуют следующие риски:

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

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

  3. Риск чрезмерной торговли: ежедневное создание складов и складов увеличивает частоту торгов и увеличивает нагрузку на комиссионные.

Оптимизация стратегии

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

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

  2. Продление срока хранения: продление срока хранения до 2 или 3 дней, отфильтровывая краткосрочные ложные прорывы.

  3. Оптимизация стоп-позиции: настройка стоп-позиции на более глубокие позиции поддержки, такие как нижний предел Брин-полосы, цена закрытия на предыдущий день и т. д.

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

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

Исходный код стратегии
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-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/
// © Dicargo_Beam

//@version=5
strategy("Volatility Breakout Strategy", overlay=true, default_qty_type= strategy.percent_of_equity, default_qty_value=100,process_orders_on_close=false)

k = input.float(0.6)


[o,h,l,c] = request.security(syminfo.tickerid,"D",[open,high,low,close])

lp = math.log(c[1])+(math.log(h[1])-math.log(l[1]))*k
_lp = math.pow(2.718,lp)

longcond = _lp < high
exit = hour==0 or  math.log(close) < (math.log(l[1])+lp)/2



plot(_lp,"Entry",color=color.yellow)
//plot(l,"Yesterday's Low")
plot((_lp+l[1])/2,"StopLoss",color=color.red)


strategy.entry("Long", strategy.long,comment = "Long", when = longcond and strategy.opentrades == 0)

strategy.close("Long", comment="Exit", when = exit)


var bg = 0
bg := if hour == 0
    bg + 1
else
    bg[1]

bgcolor(bg/2== math.floor(bg/2) ? color.new(color.blue,95):na)