Стратегия долгосрочной волатильности, основанная на определении высоких и низких точек


Дата создания: 2024-02-18 09:57:11 Последнее изменение: 2024-02-18 09:57:11
Копировать: 0 Количество просмотров: 617
1
Подписаться
1617
Подписчики

Стратегия долгосрочной волатильности, основанная на определении высоких и низких точек

Обзор

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

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

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

Кроме того, в этой стратегии также устанавливается стоп-линия. После открытия позиции, стоп-линия устанавливается вблизи минимальной цены; после дефолта, стоп-линия устанавливается вблизи максимальной цены. Это позволяет эффективно избежать огромных потерь, вызванных односторонними действиями.

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

Наибольшим преимуществом этой стратегии является то, что она позволяет уловить ключевые колебания вблизи высоких и низких точек, что, в свою очередь, приводит к прибыли. Кроме того, установка стоп-линий эффективно контролирует риск.

Конкретные плюсы:

  1. Стратегическая мысль ясна, вход и выход определяются прорывом в высокие и низкие точки.

  2. Классический метод технического анализа - использование высоких и низких точек колебаний для поиска возможности для обратного хода.

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

  4. Код имеет четкую структуру, его легко понять и изменить.

  5. Можно вводить различные параметры для оптимизации стратегии, например, для корректировки максимального и минимального цикла.

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

Основные риски этой стратегии заключаются в ошибочных сделках, связанных с недопустимостью высоких и низких точек. Конкретные риски включают:

  1. Высокий минимум может привести к ошибочному прорыву, что приведет к ошибочному вхождению.

  2. Вблизи точки прорыва может быть задействован огромный стоп.

  3. Тенденционные сорта легко формируются, и для определения высоких и низких точек приходится тратить огромные деньги.

  4. Неправильная настройка параметров также может повлиять на эффективность стратегии.

Ответные меры включают в себя:

  1. Параметры оптимизации, количество циклов для корректировки максимального и минимального значения.

  2. Повышение Stop Loss.

  3. Различайте свойства разновидностей и избегайте использования в трендовых разновидностях.

  4. Параметры динамической оптимизации с использованием методов машинного обучения.

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

Эта стратегия может быть оптимизирована в следующих направлениях:

  1. Оптимизация максимального и минимального циклов: текущее фиксированное число циклов может быть изменено на динамическую оптимизацию, чтобы избежать переоптимизации, вызванной фиксированной моделью.

  2. Дополнительная оптимизация стоп-стоп: можно динамически корректировать стоп-стоп на основе ATR, волатильности и других показателей.

  3. Объединение нескольких временных циклов: можно определить тенденцию в более высоком временном цикле, а низкий временный цикл определяет вход.

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

  5. Оптимизация алгоритмов остановки убытков: улучшение алгоритмов для минимизации случаев, когда неэффективная остановка была вызвана при условии обеспечения остановки убытков.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
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/
// © tweakerID

// Long term strategy for managing a Crypto investment with Swing Trades of more than 1 day. The strategy buys with a 
// stop order at the Swing High price (green line) and sells with a stop order at the Swing Low price (red line). 
// The direction of the strategy can be adjusted in the Inputs panel.

//@version=4
strategy("Swing Points Breakouts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, commission_value=0.04)

direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

//Inputss
i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLow=input(10, title="Swing Low Lookback")
i_SwingHigh=input(10, title="Swing High Lookback")
i_reverse=input(false, "Reverse Trades")
i_SLExpander=input(defval=0, step=1, title="SL Expander")

//Strategy Calculations
SwingLow=lowest(i_SwingLow)
SwingHigh=highest(i_SwingHigh)

//SL & TP Calculations
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? LSL : isshort ? SSL : na

//Entries and Exits
strategy.entry("long", true, stop=i_reverse?na:SwingHigh, limit=i_reverse?SwingLow:na)
strategy.entry("short", false, stop=i_reverse?na:SwingLow, limit=i_reverse?SwingHigh:na)

if i_SL
    strategy.exit("longexit", "long", stop=LSL)
    strategy.exit("shortexit", "short", stop=SSL)

//Plots
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(SwingLow, color=color.red)
plot(SwingHigh, color=color.green)