Адаптивная торговая стратегия, основанная на двустороннем прорыве


Дата создания: 2024-02-06 15:31:36 Последнее изменение: 2024-02-06 15:31:36
Копировать: 0 Количество просмотров: 683
1
Подписаться
1617
Подписчики

Адаптивная торговая стратегия, основанная на двустороннем прорыве

Обзор

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

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

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

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

Стратегические преимущества

Двухсторонние стратегии прорыва и адаптации имеют следующие преимущества:

  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)