Swing Points Breakouts Долгосрочная стратегия

Автор:Чао Чжан, Дата: 2024-02-18 09:57:11
Тэги:

img

Обзор

Стратегия Swing Points Breakouts представляет собой долгосрочную стратегию колебаний тренда, основанную на определении высокого и низкого. Стратегия входит в длинные позиции, когда цены пробиваются через самую высокую цену в самом последнем периоде, указанном входными параметрами, и входит в короткие позиции, когда цены пробиваются через самую низкую цену в самом последнем периоде.

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

Стратегия определяет самую последнюю высокую цену N bar и самую низкую цену как высокую и низкую цену через входные параметры. Она определяет вход и выход на основе параметра направления. Когда она идет в длинный, она входит в длинные позиции с ордером остановки OCO, когда цены проходят через высокий. Когда она идет в короткий, она входит в короткие позиции с ордером остановки OCO, когда цены проходят через низкий.

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

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

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

В частности, преимущества:

  1. Логика стратегии ясна, с входами и выходами, основанными на высоких и низких прорывах.

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

  3. Существуют стоп-лосы, предназначенные для контроля рисков и предотвращения больших потерь на трендовых рынках.

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

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

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

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

  1. Ложное прорыв колебания максимумов / минимумов, что приводит к ошибочным записям.

  2. Огромный удар с остановкой потерь возле точек прорыва.

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

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

К решению таких проблем относятся:

  1. Оптимизируем такие параметры, как период высокого/низкого подвига.

  2. Увеличение расстояния остановки.

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

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

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

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

  1. Динамическая оптимизация периодов высоких/низких колебаний вместо фиксированных значений для предотвращения перенапряжения.

  2. Введение динамического стоп-лосса/приобретения прибыли на основе ATR и волатильности.

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

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

  5. Оптимизация алгоритмов стоп-лосса для предотвращения ненужных ударов при сохранении эффективного стоп-лосса.

Заключение

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


/*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)


Больше