В процессе загрузки ресурсов... загрузка...

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

Автор:Чао Чжан, Дата: 2023-11-02 15:12:46
Тэги:

img

Обзор

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

Логика стратегии

Стратегия сначала рассчитывает индикатор 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)


Больше