Улучшенная стратегия тренда после прорыва импульса


Дата создания: 2024-01-17 15:55:15 Последнее изменение: 2024-01-17 15:55:15
Копировать: 1 Количество просмотров: 1014
1
Подписаться
1617
Подписчики

Улучшенная стратегия тренда после прорыва импульса

Обзор

В данной статье подробно анализируется улучшенная стратегия отслеживания трендов в сочетании с индикатором SuperTrend и фильтром Stochastic RSI. Эта стратегия предназначена для генерации сигналов покупки и продажи, принимая во внимание рыночные тенденции и уменьшая ложные сигналы.

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

Вычисления SuperTrend

Во-первых, рассчитывается реальный диапазон колебаний (TR) и средний реальный диапазон колебаний (ATR). Затем используется ATR для вычисления верхнего и нижнего колебаний:

Верхняя траектория = SMA ((закрытие цены, ATR циклов) + ATR умножить × ATR Нижняя траектория = SMA ((закрытие цены, ATR циклов) - ATR умножить на ATR

Если цена закрытия выше нижней полосы, то это восходящая тенденция; если цена закрытия ниже верхней полосы, то это нисходящая тенденция. В восходящей тенденции SuperTrend является нисходящей; в нисходящей тенденции SuperTrend является восходящей.

Механизм фильтрации

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

Stochastic RSI

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

Условия входа и выхода

Условия покупки: Закрытие после прорыва СуперТренда, находящегося в восходящем тренде, и Стохастический RSI < 80 Условия продажи: цена закрытия находится в нисходящем тренде после прорыва СуперТренда и Stochastic RSI > 20

Выход из покупки: Супертенденция, прошедшая под замыкание, находится в восходящем тренде Выход из продажи: закрытие цены после прорыва в SuperTrend и в нисходящем тренде

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

Это улучшенная стратегия отслеживания тенденций, которая имеет следующие преимущества по сравнению с простыми движущимися средними и другими показателями:

  1. SuperTrend сам по себе обладает мощной способностью распознавать тренды и отслеживать ложные сигналы.
  2. Применение механизмов фильтрации еще больше уменьшает количество ложных сигналов, что делает сигнал более надежным.
  3. Stochastic RSI избегает ложных сигналов, которые возникают в случае перепродажи, позволяя стратегии подавать сигналы вблизи важных областей поддержки и сопротивления.
  4. Стратегия одновременно учитывает направление тренда и перепродажи Stochastic RSI, чтобы лучше сбалансировать связь между отслеживанием тренда и избежанием ложных сигналов.
  5. Параметры стратегии могут быть гибко адаптированы для различных рыночных условий.

Стратегические риски и оптимизация

Возможные риски

  1. Стоп-лосс может быть преодолен в условиях резкой волатильности рынка.
  2. СуперТренды и фильтры задерживаются и могут пропустить недавние изменения цен.
  3. Неправильная настройка параметров Stochastic RSI также может повлиять на эффективность стратегии.

Управление риском

  1. Применение адекватных ограничений по убыткам или использование ограничений по убыткам в случае нарушения.
  2. Параметры ATR-циклов, фильтрующих циклов для балансировки задержки.
  3. Тестирование и оптимизация параметров Stochastic RSI.

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

  1. Тестирование различных комбинаций параметров для поиска оптимальных.
  2. Попробуйте различные механизмы фильтрации, такие как плавление EMA и т.д.
  3. Применение алгоритмов машинного обучения для автоматической оптимизации параметров.
  4. В сочетании с другими показателями дополнительный вход на основе ◦

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

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

Исходный код стратегии
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved SuperTrend Strategy with Stochastic RSI", shorttitle="IST+StochRSI", overlay=true)

// Input parameters
atr_length = input(14, title="ATR Length")
atr_multiplier = input(1.5, title="ATR Multiplier")
filter_length = input(5, title="Filter Length")
stoch_length = input(14, title="Stochastic RSI Length")
smooth_k = input(3, title="Stochastic RSI %K Smoothing")

// Calculate True Range (TR) and Average True Range (ATR)
tr = ta.rma(ta.tr, atr_length)
atr = ta.rma(tr, atr_length)

// Calculate SuperTrend
upper_band = ta.sma(close, atr_length) + atr_multiplier * atr
lower_band = ta.sma(close, atr_length) - atr_multiplier * atr

is_uptrend = close > lower_band
is_downtrend = close < upper_band

super_trend = is_uptrend ? lower_band : na
super_trend := is_downtrend ? upper_band : super_trend

// Filter for reducing false signals
filtered_super_trend = ta.sma(super_trend, filter_length)

// Calculate Stochastic RSI
rsi_value = ta.rsi(close, stoch_length)
stoch_rsi = ta.sma(ta.stoch(rsi_value, rsi_value, rsi_value, stoch_length), smooth_k)

// Entry conditions
long_condition = ta.crossover(close, filtered_super_trend) and is_uptrend and stoch_rsi < 80
short_condition = ta.crossunder(close, filtered_super_trend) and is_downtrend and stoch_rsi > 20

// Exit conditions
exit_long_condition = ta.crossunder(close, filtered_super_trend) and is_uptrend
exit_short_condition = ta.crossover(close, filtered_super_trend) and is_downtrend

// Plot SuperTrend and filtered SuperTrend
plot(super_trend, color=color.orange, title="SuperTrend", linewidth=2)
plot(filtered_super_trend, color=color.blue, title="Filtered SuperTrend", linewidth=2)

// Plot Buy and Sell signals
plotshape(series=long_condition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=short_condition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Output signals to the console for analysis
plotchar(long_condition, "Long Signal", "▲", location.belowbar, color=color.green, size=size.small)
plotchar(short_condition, "Short Signal", "▼", location.abovebar, color=color.red, size=size.small)

// Strategy entry and exit
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)
strategy.close("Long", when=exit_long_condition)
strategy.close("Short", when=exit_short_condition)