S&P500 Advanced RSI Indicator Trading Strategy - это среднесрочная и долгосрочная стратегия для отслеживания тенденций в индексе S&P500. Стратегия включает в себя несколько фильтров, чтобы торговать на основе сигналов RSI, чтобы контролировать риск и уменьшить ложные сигналы.
Основным показателем стратегии является RSI, основанный на двухциклических значениях RSI для определения цены, превышающей или превышающей установленную линию перепродажи. Кроме того, в стратегии есть ряд вспомогательных фильтров для контроля риска:
Еженедельный RSI-фильтр: требует, чтобы еженедельный RSI был ниже установленной линии, чтобы избежать чрезмерного экстремизма в бычьем рынке
MA-фильтр: требует цены выше указанного цикла MA, чтобы гарантировать покупку только после начала тренда
Вторичный RSI-фильтр: требует, чтобы вторичный RSI также был ниже проданной линии, чтобы избежать ложного прорыва
ATR пробивается через фильтр: избежать резкого падения цен и контролировать риски
Использование вышеуказанных многочисленных фильтров в сочетании позволяет эффективно идентифицировать ценные точки переворота, контролировать частоту торговли и снижать риск.
Стратегия торговли S&P 500 с высоким RSI имеет следующие преимущества:
Фильтрация множества вспомогательных показателей, снижение ложных сигналов, высокая надежность
Контроль рисков с помощью ATR, чтобы избежать резкого падения цен
Еженедельный RSI-фильтр поможет избежать покупки в бычьем рынке и не стать слишком радикальным
MA-фильтр требует, чтобы цена была выше средней по тренду, чтобы обеспечить вход после начала тренда
Вторичный RSI фильтр предотвращает ложные прорывы RSI
Подходит для средне- и долгосрочных позиций, не слишком часто торгуется
Основные риски, связанные с этой стратегией, заключаются в следующем:
При использовании RSI в качестве основного индикатора может быть определенная отсталость
Слишком строгие условия фильтрации, возможно, мы упустим некоторые возможности
В экстравагантных ситуациях может быть нарушена стоп-код.
Слабое суждение о сложных ситуациях, основанных на простых RSI и фильтрах
Соответствующие меры по смягчению последствий:
Правильная настройка параметров, чтобы не упустить возможность
Увеличение размеров позиций, чтобы компенсировать определенную вероятность просрочки покупки
Условия фильтрации могут быть расширены, чтобы увеличить частоту сделок
Можно рассматривать более сложные ситуации в сочетании с другими показателями.
Эта стратегия также может быть оптимизирована в следующих направлениях:
Тестирование настройки параметров RSI для поиска оптимальных линий перекупа и перепродажи
Тестирование параметров средней линейной периодичности MA для определения оптимальных параметров
Тестирование корректировки параметров ATR для оптимизации цены, чтобы преодолеть фильтрацию
Попытка объединить эти показатели с другими, чтобы улучшить способность судить в сложных ситуациях.
Оптимизируйте RSI на неделю, чтобы определить оптимальный RSI на неделю
Оптимизация параметров вторичного 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")