Расширенная торговая стратегия индикатора RSI


Дата создания: 2024-02-06 11:47:59 Последнее изменение: 2024-02-06 11:47:59
Копировать: 7 Количество просмотров: 428
1
Подписаться
1166
Подписчики

Расширенная торговая стратегия индикатора RSI

Обзор

S&P500 Advanced RSI Indicator Trading Strategy - это среднесрочная и долгосрочная стратегия для отслеживания тенденций в индексе S&P500. Стратегия включает в себя несколько фильтров, чтобы торговать на основе сигналов RSI, чтобы контролировать риск и уменьшить ложные сигналы.

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

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

  1. Еженедельный RSI-фильтр: требует, чтобы еженедельный RSI был ниже установленной линии, чтобы избежать чрезмерного экстремизма в бычьем рынке

  2. MA-фильтр: требует цены выше указанного цикла MA, чтобы гарантировать покупку только после начала тренда

  3. Вторичный RSI-фильтр: требует, чтобы вторичный RSI также был ниже проданной линии, чтобы избежать ложного прорыва

  4. ATR пробивается через фильтр: избежать резкого падения цен и контролировать риски

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

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

Стратегия торговли S&P 500 с высоким RSI имеет следующие преимущества:

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

  2. Контроль рисков с помощью ATR, чтобы избежать резкого падения цен

  3. Еженедельный RSI-фильтр поможет избежать покупки в бычьем рынке и не стать слишком радикальным

  4. MA-фильтр требует, чтобы цена была выше средней по тренду, чтобы обеспечить вход после начала тренда

  5. Вторичный RSI фильтр предотвращает ложные прорывы RSI

  6. Подходит для средне- и долгосрочных позиций, не слишком часто торгуется

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

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

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

  2. Слишком строгие условия фильтрации, возможно, мы упустим некоторые возможности

  3. В экстравагантных ситуациях может быть нарушена стоп-код.

  4. Слабое суждение о сложных ситуациях, основанных на простых RSI и фильтрах

Соответствующие меры по смягчению последствий:

  1. Правильная настройка параметров, чтобы не упустить возможность

  2. Увеличение размеров позиций, чтобы компенсировать определенную вероятность просрочки покупки

  3. Условия фильтрации могут быть расширены, чтобы увеличить частоту сделок

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

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

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

  1. Тестирование настройки параметров RSI для поиска оптимальных линий перекупа и перепродажи

  2. Тестирование параметров средней линейной периодичности MA для определения оптимальных параметров

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

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

  5. Оптимизируйте RSI на неделю, чтобы определить оптимальный RSI на неделю

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

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

S&P 500 Advanced RSI Trading Strategy использует RSI, чтобы определить обратную точку средней длинной линии цены и установить различные условия фильтра, чтобы контролировать риск. Эта стратегия эффективно использует эффективность RSI, чтобы эффективно блокировать среднюю длинную линию, чтобы избежать слишком частого выхода на рынок.

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

//@version=5
// Lets connect on LinkedIn (https://www.linkedin.com/in/lets-grow-with-quality/)
// Optimized for S&P500 Daily. Use it as a buy confirmation on certain levels (Springs, Pullbacks, ...) or let it run 
// without "Weekly RSI Filter" and pyramiding for 4 x more trades.
// This strategy is optimized for minimum drawdowns and has several filters on board for use on different securities

strategy("S&P500 RSI2 Studio", overlay=true)

baseLength = input(2, title="Base RSI Length")
overSold = input(10, title="Overbought Level")
overBought = input(90, title="Oversold Level")
overBoughtExit = input(70, title="Overbought Level Exit")
enableWeeklyRsiFilter = input(true, title="Enable Weekly RSI Filter")
weeklyOverSold = input(30, title="Weekly Oversold Level")
weeklyOverBought = input(70, title="Weekly OverOverbought Level")
weeklyRsiLength = input(2, title="weeklyRsiLength")

enableWmaFilter = input(false, title="Enable MA Filter")
wmaLength = input(100, title="WMA Length")

exitRsiLength = input(4, title="Exit RSI Length")
dailyRsiLength = input(4, title="Daily RSI Length")

enable2ndRSIFilter = input(false, title="Enable 2nd RSI Filter")
SecRSIFilterLengh = input(14, title="2nd RSI Filter Length")
SecRSIFilterOverSold = input(20, title="2nd RSI Filter Oversold Level")

enableAtrFilter = input(true, title="Enable ATR Filter")
numAtrDays = input(14, title="Number of Days ATR Average")
atrFilterFactor = input(2, title="ATR Filter Factor")

weeklyRsi = request.security(syminfo.tickerid, "W", ta.wma(ta.rsi(close, weeklyRsiLength), 1))
exitRsi = request.security(syminfo.tickerid, "D", ta.wma(ta.rsi(close, exitRsiLength), 2))
dailyRsi = request.security(syminfo.tickerid, "D", ta.wma(ta.rsi(close, dailyRsiLength), 2))
price = close

priceDropCondition = ta.atr(1) >= ta.atr(numAtrDays) * atrFilterFactor
preventEarlyEntry = not priceDropCondition

vrsi = ta.wma(ta.rsi(price, baseLength), 2)
wma = ta.wma(price, wmaLength)


buyCond1 = ta.crossunder(vrsi, overSold)
buyCond2 = enableWeeklyRsiFilter ? weeklyRsi < weeklyOverSold : true
buyCond3 = enable2ndRSIFilter ? ta.wma(ta.rsi(close, SecRSIFilterLengh),2) < SecRSIFilterOverSold : true
buyCond4 = enableWmaFilter ? price > ta.wma(close, wmaLength) : true
buyCond5 = enableAtrFilter ? preventEarlyEntry : true
 
buy = buyCond1 and buyCond2 and buyCond3 and buyCond4 and buyCond5

if (not na(vrsi))
    if buy 
        strategy.entry("RSI2 Studio", strategy.long, comment="Long")

if (exitRsi > overBoughtExit)
    strategy.close("RSI2 Studio", comment="Close Long")