Стратегия следования за трендом с двойной скользящей средней и фильтром RSI

SMA RSI SL TP
Дата создания: 2024-07-29 16:45:59 Последнее изменение: 2024-07-29 16:45:59
Копировать: 0 Количество просмотров: 654
1
Подписаться
1617
Подписчики

Стратегия следования за трендом с двойной скользящей средней и фильтром RSI

Обзор

Эта стратегия представляет собой систему торговли, которая отслеживает тенденции в сочетании с простыми движущимися средними ((SMA) и относительно сильными показателями ((RSI)). Она использует 200-циклические SMA для выявления восходящих тенденций и использует RSI в качестве фильтра для оптимизации времени входа.

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

Основная логика этой стратегии включает в себя следующие ключевые элементы:

  1. Идентификация тенденции: использование 200-циклических SMA в качестве индикатора долгосрочных тенденций. Когда цена растет и остается выше SMA, она рассматривается как потенциальная восходящая тенденция.

  2. Подтверждение входа: требует, чтобы цена оставалась выше SMA не менее 30 последовательных циклов (в течение минуты), чтобы обеспечить стабильность тренда.

  3. RSI-фильтр: используется 14-циклический RSI-индикатор, который разрешает вход только тогда, когда RSI ниже 30 (зона перепродажи), что помогает поймать потенциальные шансы на отскок.

  4. Управление рисками: устанавливается уровень стоп-лосса 0,5% для ограничения максимальных потерь в одной сделке.

  5. Цель прибыли: установить 2%-ный уровень остановки, чтобы автоматически ликвидировать позиции при достижении ожидаемой прибыли.

Процесс выполнения стратегии выглядит следующим образом:

  • Открывайте позицию, когда цена превышает 200 SMA и держится более 30 циклов, в то время как RSI ниже 30.
  • Во время удержания позиции, если цена достигнет 102% от цены входа (стоп) или упадет до 99,5% от цены входа (стоп), то позиция автоматически будет ликвидирована.
  • После зачистки, система перезагружается и ждет следующего подходящего случая.

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

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

  2. Входная оптимизация: требует, чтобы цена оставалась выше SMA в течение 30 циклов, что помогает отфильтровать ложные прорывы и повысить качество входа.

  3. Обратная ловля: в сочетании с RSI-оперебойными условиями, помогает уловить потенциальные шансы на отскок в начале тренда.

  4. Контроль риска: установление четкого уровня стоп-лосса, эффективно ограничивающего максимальный риск для каждой сделки.

  5. Локализация прибыли: предустановленный уровень остановки обеспечивает автоматическое блокирование прибыли при достижении ожидаемой прибыли.

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

  7. Количественность: параметры стратегии могут быть отслежены и оптимизированы с помощью исторических данных.

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

  1. Фальшивые прорывы: в поперечных или волатильных рынках могут возникать частые ложные прорывы, которые приводят к последовательным остановкам.

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

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

  4. Фиксированный стоп-стоп: заданный процент может не применяться ко всем рыночным условиям и может быть преждевременно сделан в более волатильных рынках.

  5. Однонаправленность: стратегия - это просто многое делать, а не получать прибыль от падения.

  6. Чувствительность к параметрам: эффективность стратегии может быть чувствительна к изменениям параметров, таких как SMA-циклы, подтверждающие циклы и RSI-настройки.

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

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

  1. Динамический стоп-стоп: рассмотрите использование ATR (средняя реальная волновая amplitude) для установки динамического уровня стоп-стоп-стоп, чтобы адаптироваться к различным рыночным колебаниям.

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

  3. Фильтрация силы тренда: добавление ADX (средний индикатор тренда) для измерения силы тренда, только в случае сильной тенденции.

  4. Корректировка волатильности: в зависимости от динамики рыночной волатильности параметры корректировки, такие как увеличение периода подтверждения в период низкой волатильности, уменьшение периода подтверждения в период высокой волатильности.

  5. Присоединение к механизму дисконтирования: учитывайте дисконтирование, когда цена падает ниже SMA и RSI перекупает, чтобы стратегия могла быть прибыльной в двусторонних ситуациях.

  6. Оптимизируйте использование RSI: рассмотрите возможность использования RSI в отрыве от или в сочетании с другими показателями (например, MACD) для повышения надежности входных сигналов.

  7. Введение подтверждения объема сделок: включение анализа объема сделок, чтобы обеспечить достаточную поддержку объема сделок для прорыва или обращения.

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

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

  10. Повышение портфеля индикаторов: рассмотрение возможности объединения других технических индикаторов, таких как Брин-Бенд, Фибоначчи, чтобы создать более полную торговую систему.

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

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

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

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

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

//@version=5
strategy("SMA 200 with RSI Filter", overlay=true)

// Inputs
smaLength = input.int(200, title="SMA Length")
confirmBars = input.int(30, title="Confirmation Bars (30 minutes)")
takeProfitPerc = input.float(2.0, title="Take Profit (%)", step=0.1) / 100
stopLossPerc = input.float(0.5, title="Stop Loss (%)", step=0.1) / 100
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")

// Calculate SMA
sma = ta.sma(close, smaLength)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Buy condition
priceAboveSMA = close > sma
aboveSMAcount = ta.barssince(priceAboveSMA == false)
rsiCondition = rsi < rsiOversold
enterLongCondition = priceAboveSMA and aboveSMAcount >= confirmBars and rsiCondition

// Track entry price for calculating take profit and stop loss levels
var float entryPrice = na
if (enterLongCondition and na(entryPrice))
    entryPrice := close

// Ensure the entryPrice is only set when a position is opened
if (strategy.opentrades == 0)
    entryPrice := na

takeProfitLevel = entryPrice * (1 + takeProfitPerc)
stopLossLevel = entryPrice * (1 - stopLossPerc)

// Exit conditions
takeProfitCondition = close >= takeProfitLevel
stopLossCondition = close <= stopLossLevel

// Plot SMA and RSI
plot(sma, title="SMA 200", color=color.blue)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)

// Plot shapes for entries and exits
plotshape(series=enterLongCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=takeProfitCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="TP")
plotshape(series=stopLossCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SL")

// Strategy entry and exit
if (enterLongCondition)
    strategy.entry("Long", strategy.long, comment="SMA200LE")

if (takeProfitCondition or stopLossCondition)
    strategy.close("Long", when=takeProfitCondition or stopLossCondition)

// Reset entry price after position is closed
if (strategy.position_size == 0)
    entryPrice := na