
O S&P 500 Advanced RSI Indicator Trading Strategy é uma estratégia de acompanhamento de tendências de médio e longo prazo para o índice S&P 500. A estratégia combina vários filtros para negociar com base em sinais de sobrevenda do RSI para controlar o risco e reduzir os falsos sinais.
O indicador central da estratégia é o RSI, baseado no valor do RSI de 2 ciclos para determinar o preço de compra e venda. Faça uma oferta quando o indicador RSI estiver abaixo da linha de venda superior definida e uma oferta baixa quando o indicador RSI estiver acima da linha de venda superior definida. Além disso, a estratégia também possui uma série de filtros auxiliares para controle de risco:
Filtro de RSI semanal: exige que o RSI semanal esteja abaixo da linha de ajuste para evitar excessos excessivamente radicais em um mercado de touros
Filtros de MA: exigem que o preço seja superior ao MA do período especificado, garantindo que a compra seja feita somente após o início da tendência
Filtros de RSI secundários: exigem que o RSI secundário também esteja abaixo da linha de venda, para evitar falsas rupturas
ATR supera filtro: evita queda rápida de preços e controla riscos
A combinação de vários filtros acima permite identificar de forma eficaz os pontos de reversão da linha média do preço, controlar a frequência de negociação e reduzir o risco.
A estratégia de negociação do indicador RSI superior do S&P 500 tem as seguintes vantagens:
Combinação de vários filtros de indicadores auxiliares, redução de falsos sinais, maior confiabilidade
Controle de risco através de filtros de ruptura de ATR para evitar a aquisição após queda acentuada dos preços
O filtro de RSI semanal evita a compra em um mercado de alta, para evitar o exagero
Os filtros MA exigem que os preços sejam mais altos do que a linha média de tendência para garantir a entrada após a tendência
O filtro de RSI secundário evita que o indicador de RSI produza falsas rupturas
Aplica-se a posições médias e longas, não é negociado com muita frequência
Os principais riscos dessa estratégia são os seguintes:
Usando o RSI como principal indicador, há um certo atraso.
Os requisitos de filtragem são muito rígidos e podem fazer com que você perca algumas oportunidades.
Em casos extremos, a condição de stop loss pode ser ultrapassada.
Fraca capacidade de julgamento de situações complexas com base em simples indicadores e filtros RSI
Os métodos de mitigação correspondentes são os seguintes:
Ajustar os parâmetros adequadamente para evitar oportunidades perdidas
Aumentar o tamanho das posições para compensar uma certa probabilidade de falta de compra
Condições de filtragem devidamente relaxadas para aumentar a frequência de transações
Consideração de mais indicadores para julgar situações complexas
A estratégia pode ser melhorada em várias direções:
Teste para ajustar os parâmetros do RSI e encontrar a melhor linha de sobrevenda
Testar os parâmetros de ciclo de MA para determinar o parâmetro ideal
Teste de ajuste de parâmetros ATR para otimizar o preço para quebrar o julgamento filtrado
Tente combinar outros indicadores para melhorar a sua capacidade de discernimento em situações complexas
Optimizar os parâmetros do RSI semanal para determinar o melhor parâmetro do RSI semanal
Optimizar os parâmetros do RSI secundário para encontrar o melhor ciclo do RSI secundário e a linha de sobrevenda
A estratégia de negociação do indicador RSI superior do S&P 500 determina o ponto de reversão da tendência da linha média do preço através do indicador RSI e configura vários riscos de controle de condições de filtro. A estratégia aproveita ao máximo a eficácia do indicador RSI para bloquear efetivamente a tendência da linha média e evitar a entrada excessiva.
/*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")