Стратегия импульсного прорыва основана на концепции, предложенной Ричардом Букстабером в 1984 году, согласно которой, как только происходит большое волатильное движение, рынок стремится следовать за ним. Таким образом, он использует ATR для измерения волатильности и выпускает заказы, когда текущее изменение цены закрытия превышает порог, рассчитанный путем умножения ATR на константу, которая может быть настроена.
Стратегия сначала рассчитывает индикатор ATR для измерения волатильности рынка. Затем она рассчитывает абсолютное значение изменения цены закрытия ежедневно. Когда изменение цены закрытия превышает значение ATR в несколько раз, генерируются торговые сигналы. В частности, если цена закрытия повышается больше, чем верхняя рельса ATR, перейдите в длинный; если цена закрытия падает больше, чем верхняя рельса ATR, перейдите в короткий.
Стратегия использует индикатор ATR для динамического определения порога прорыва. Когда волатильность рынка увеличивается, порог повышается, чтобы уменьшить ошибочные сделки. Когда волатильность рынка снижается, порог снижается, чтобы своевременно поймать возможности прорыва.
Подумайте о сочетании других индикаторов для выбора торговых возможностей для повышения эффективности. Также выберите оптимальные параметры на основе характеристик продукта. Используйте такие методы, как Мартингейл, чтобы контролировать частоту торговли.
Стратегия импульсного прорыва проста и прямая, генерируя торговые сигналы от прорывов. 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)