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


Дата создания: 2024-02-22 16:50:46 Последнее изменение: 2024-02-22 16:50:46
Копировать: 0 Количество просмотров: 563
1
Подписаться
1617
Подписчики

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

Обзор

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

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

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

Процесс подсчета:

  1. Вычислить наивысшую и наименьшую величину за последние N циклов
  2. Определить, является ли объем транзакций в текущем цикле выше, чем Highest
  3. Сочетание текущего ионального или солнечного света, чтобы определить сигнал прорыва
  4. Получает сигнал “сделай больше пустоты”

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

Основные преимущества этой стратегии:

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

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

Однако эта стратегия также несет в себе некоторые риски:

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

Можно оптимизировать с помощью корректировки цикла параметров в сочетании с фильтрацией других показателей.

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

Эта стратегия может быть оптимизирована в следующих направлениях:

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

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

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

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © EvoCrypto

//@version=4
strategy("Ranged Volume Strategy - evo", shorttitle="Ranged Volume", format=format.volume)

// INPUTS {
Range_Length    =   input(5,        title="Range Length",                       minval=1)

Heikin_Ashi     =   input(true,     title="Heikin Ashi Colors")
Display_Bars    =   input(true,     title="Show Bar Colors")
Display_Break   =   input(true,     title="Show Break-Out")
Display_Range   =   input(true,     title="Show Range")
// }

// SETTINGS {
Close           =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, close)    : close
Open            =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, open)     : open

Positive        =    volume
Negative        =   -volume

Highest         =   highest(volume, Range_Length)
Lowest          =   lowest(-volume, Range_Length)

Up              =   Highest > Highest[1] and Close > Open
Dn              =   Highest > Highest[1] and Close < Open

Volume_Color    =   
 Display_Break and Up   ? color.new(#ffeb3b, 0)     : 
 Display_Break and Dn   ? color.new(#f44336, 0)     : 
 Close > Open           ? color.new(#00c0ff, 60)    : 
 Close < Open           ? color.new(#000000, 60)    : na 
// }

//PLOTS {
plot(Positive,                      title="Positive Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)
plot(Negative,                      title="Negative Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)

plot(Display_Range ? Highest : na,  title="Highest",            color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)
plot(Display_Range ? Lowest  : na,  title="Lowest",             color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)

barcolor(Display_Bars ? Volume_Color : na)
// }

if (Up)
    strategy.entry("Long Entry", strategy.long)
if (Dn)
    strategy.entry("Short Entry", strategy.short)