Стратегия прорыва импульса Ричарда Букстейбера


Дата создания: 2023-11-02 15:12:46 Последнее изменение: 2023-11-02 15:12:46
Копировать: 1 Количество просмотров: 695
1
Подписаться
1617
Подписчики

Стратегия прорыва импульса Ричарда Букстейбера

Обзор

Стратегия динамического прорыва основана на концепции, выдвинутой в 1984 году Ричардом Букстабером, о том, что, когда возникают большие колебания, рынок, как правило, продолжает работать в этом направлении. Таким образом, стратегия использует ATR для измерения волатильности и посылает торговый сигнал, когда изменение цены закрытия превышает несколько раз предел ATR.

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

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

Стратегия использует показатели ATR для динамического определения прорыва. Когда рыночная волатильность увеличивается, прорыв повышается, что позволяет сократить ошибочные сделки. Когда рыночная волатильность уменьшается, прорыв снижается, что позволяет вовремя уловить возможность прорыва.

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

  • Динамические остановки ATR позволяют эффективно контролировать риск, позволяя остановкам изменяться в зависимости от волатильности рынка.
  • В результате, по мнению экспертов, рыночные тренды могут быть изменены, если использовать прорыв для создания торговых сигналов.
  • Параметры оптимизируются в большом количестве и могут быть скорректированы для различных сортов и циклов.
  • Стратегическая концепция проста и понятна, легко понятна и реализуема.

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

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

Можно рассматривать возможность выбора оптимальных параметров для выбора времени торговли в сочетании с другими показателями, чтобы повысить эффективность. Также можно выбрать наиболее предпочтительные параметры для характеристик разновидности. Использование технологий, таких как алгоритм Мартингеля, для контроля частоты торгов.

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

  • Можно рассмотреть возможность использования других индикаторов для определения направления тренда, чтобы избежать ошибочной торговли. Например, RSI, MACD и т. Д.
  • Можно добавить модуль управления позициями, чтобы корректировать позиции в зависимости от рыночных условий.
  • Оптимальное сочетание параметров для различных сортов.
  • Параметры автоматической оптимизации могут быть объединены с технологиями машинного обучения.

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

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

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

//@version=5
strategy("Volatility System", overlay=false, margin_long=0, margin_short=0, default_qty_type=strategy.percent_of_equity, 
 default_qty_value=100, process_orders_on_close=true, initial_capital=20000)

// Inputs

var averageLength = input.int(14, "Average length", 2)
var multiplier = input.float(2.0, "Multiplier", 0.0, step=0.1)

// Calculations

atr = ta.atr(averageLength) * multiplier
closingChange = ta.change(close, 1)

atrPenetration(int signal) =>
    res = closingChange * signal > atr[1]

longCondition = atrPenetration(1)
shortCondition = atrPenetration(-1)

// Order calls

if (longCondition)
    strategy.entry(strategy.direction.long, strategy.long)

if (shortCondition)
    strategy.entry(strategy.direction.short, strategy.short)

// Visuals

plot(atr, "ATR", color.white, 2)
plot(math.abs(closingChange), "Absolute close change", color.red)