Адаптивная стратегия двойного прорыва

Автор:Чао Чжан, Дата: 2024-02-06 15:31:36
Тэги:

img

Обзор

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

Принцип стратегии

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

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

Преимущества стратегии

Стратегия адаптивной двойной прорывной торговли имеет следующие преимущества:

  1. Ясная и простая работа, легко понятная и реализуемая
  2. Динамическая корректировка позиций для адаптации к изменениям на рынке
  3. Имеет функцию остановки потери для контроля рисков
  4. Может применяться к различным сортам путем регулирования параметров
  5. Легко оптимизировать алгоритмы с большим пространством расширения

Риски стратегии

Хотя эта стратегия имеет определенные преимущества, она также имеет следующие риски:

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

Эти риски необходимо тщательно контролировать во время торговли в режиме реального времени, чтобы оперативно корректировать параметры или оптимизировать алгоритмы.

Руководство по оптимизации

К основным аспектам оптимизации этой стратегии относятся:

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

Благодаря оптимизации алгоритмов и моделей можно улучшить общую стабильность и рентабельность стратегии.

Резюме

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


/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true, calc_on_order_fills=true) // Repaint?
// strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true) // Correct

val1 = input(123)
val2 = input(234)

from_year=input(2018, minval=2000, maxval=2020)
from_month=input(6, minval=1, maxval=12)
from_day=input(1, minval=1, maxval=31)

to_year=input(2019, minval=2007, maxval=2020)
to_month=input(12, minval=1, maxval=12)
to_day=input(31, minval=1, maxval=31)

long = (close-open) > val1
short = (open-close) > val1

exitLong = (open-close) > val2
exitShort = (close-open) > val2

term = true

strategy.entry("LONG", strategy.long, when=long and term)
strategy.close("LONG",  when = exitLong and not short and term)

strategy.entry("SHORT", strategy.short, when=short and term)
strategy.close("SHORT", when = exitShort and not long and term)


Больше