Расширенная стратегия динамического отслеживания стоп-лоссов, основанная на крупномасштабных свечах и дивергенции RSI

RSI EMA ATR SL TS
Дата создания: 2025-01-17 15:51:14 Последнее изменение: 2025-01-17 15:51:14
Копировать: 5 Количество просмотров: 374
1
Подписаться
1617
Подписчики

Расширенная стратегия динамического отслеживания стоп-лоссов, основанная на крупномасштабных свечах и дивергенции RSI

Обзор

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

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

Стратегия состоит из четырех основных компонентов: 1) Идентификация большой свечи — определение значимого ценового импульса путем сравнения текущего и предыдущих 5 размеров тела свечи; 2) Анализ расхождения RSI — использование 5-периодного быстрого RSI и 14-периодного медленного RSI; 3) Начальный стоп-лосс - установите фиксированный стоп-лосс в 200 пунктов на момент входа для контроля начального риска; 4) Трейлинг-стоп-лосс - активируется после того, как прибыль достигнет 200 пунктов, держите 150 пунктов вместе с ценой Динамическое следование дистанции пункта. Стратегия также использует 21-периодную EMA в качестве фильтра тренда, помогающего определить общее направление рынка.

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

  1. Комплексное управление рисками — ограничение максимальных убытков с помощью фиксированных стопов и защита полученной прибыли с помощью скользящих стопов
  2. Надежные сигналы входа. Большие свечи обычно представляют собой сильный ценовой импульс и обеспечивают более вероятные торговые возможности.
  3. Достаточно подтверждения сигнала — дивергенция RSI используется как вспомогательный индикатор, помогающий проверить изменения импульса и снизить риск ложных сигналов.
  4. Гибкая защита прибыли — динамический механизм трейлинг-стопа позволяет фиксировать более крупные ценовые движения, защищая прибыль.
  5. Широкие возможности настройки параметров — ключевые параметры, такие как начальная точка трейлинга, расстояние трейлинга и начальный стоп-лосс, можно оптимизировать в соответствии с различными характеристиками рынка.

Стратегический риск

  1. Риск нестабильных рынков — стоп-лоссы могут часто срабатывать во время боковой торговли
  2. Риск разрыва — большой разрыв может привести к тому, что фактическая точка стоп-лосса будет отличаться от ожидаемой.
  3. Риск проскальзывания. В условиях быстрого рынка вы можете столкнуться с большим проскальзыванием, что может повлиять на фактический эффект исполнения.
  4. Риск ложного пробоя — ложный прорыв может произойти после большого количества свечей, что приведет к выходу по стоп-лоссу.
  5. Чувствительность параметров — настройка параметров стоп-лосса оказывает большее влияние на эффективность стратегии.

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=6
strategy('[F][IND] - Big Candle Identifier with RSI Divergence and Advanced Stops', shorttitle = '[F][IND] Big Candle RSI Trail', overlay = true)

// Inputs for the trailing stop and stop loss
trail_start_ticks = input.int(200, "Trailing Start Ticks", tooltip="The number of ticks the price must move in the profitable direction before the trailing stop starts.")
trail_distance_ticks = input.int(150, "Trailing Distance Ticks", tooltip="The distance in ticks between the trailing stop and the price once the trailing stop starts.")
initial_stop_loss_points = input.int(200, "Initial Stop Loss Points", tooltip="The fixed stop loss applied immediately after entering a trade.")

// Tick size based on instrument
tick_size = syminfo.mintick

// Calculate trailing start and distance in price
trail_start_price = trail_start_ticks * tick_size
trail_distance_price = trail_distance_ticks * tick_size
initial_stop_loss_price = initial_stop_loss_points * tick_size

// Identify big candles
body0 = math.abs(close[0] - open[0])
body1 = math.abs(close[1] - open[1])
body2 = math.abs(close[2] - open[2])
body3 = math.abs(close[3] - open[3])
body4 = math.abs(close[4] - open[4])
body5 = math.abs(close[5] - open[5])

bullishBigCandle = body0 > body1 and body0 > body2 and body0 > body3 and body0 > body4 and body0 > body5 and open < close
bearishBigCandle = body0 > body1 and body0 > body2 and body0 > body3 and body0 > body4 and body0 > body5 and open > close

// RSI Divergence
rsi_fast = ta.rsi(close, 5)
rsi_slow = ta.rsi(close, 14)
divergence = rsi_fast - rsi_slow

// Trade Entry Logic
if bullishBigCandle
    strategy.entry('Long', strategy.long, stop=low - initial_stop_loss_price)
if bearishBigCandle
    strategy.entry('Short', strategy.short, stop=high + initial_stop_loss_price)

// Trailing Stop Logic
var float trail_stop = na
if strategy.position_size > 0 // Long Position
    entry_price = strategy.position_avg_price
    current_profit = close - entry_price
    if current_profit >= trail_start_price
        trail_stop := math.max(trail_stop, close - trail_distance_price)
    strategy.exit("Trailing Stop Long", "Long", stop=trail_stop)

if strategy.position_size < 0 // Short Position
    entry_price = strategy.position_avg_price
    current_profit = entry_price - close
    if current_profit >= trail_start_price
        trail_stop := math.min(trail_stop, close + trail_distance_price)
    strategy.exit("Trailing Stop Short", "Short", stop=trail_stop)

// Plotting Trailing Stop
plot(strategy.position_size > 0 ? trail_stop : na, color=color.green, title="Trailing Stop (Long)")
plot(strategy.position_size < 0 ? trail_stop : na, color=color.red, title="Trailing Stop (Short)")

// Plotting RSI Divergence
plot(divergence, color=divergence > 0 ? color.lime : color.red, linewidth=2, title="RSI Divergence")
hline(0)

// Plotting EMA
ema21 = ta.ema(close, 21)
plot(ema21, color=color.blue, title="21 EMA")