Estratégia OB/OS RSI lenta

Autora:ChaoZhang, Data: 28-12-2023 18:07:48
Tags:

img

Resumo

A estratégia OB/OS do RSI lento abre novas oportunidades de negociação, estendendo o período de retrospectiva do RSI para reduzir a flutuação da curva do RSI. A estratégia também é aplicável a outros indicadores técnicos como o MACD.

Estratégia lógica

A ideia central desta estratégia é estender o período de retrocesso do RSI para 500 bares por padrão e, em seguida, suavizar a curva do RSI com uma SMA de 250 bares. Isso pode reduzir significativamente a flutuação do RSI e retardar sua velocidade de reação, gerando assim novos sinais de negociação.

O período de retrospectiva prolongado enfraquece a flutuação do RSI, por isso os critérios para os níveis de sobrecompra e sobrevenda também precisam ser ajustados. A estratégia define a linha de sobrecompra personalizável em 52 e a linha de sobrevenda em 48. Um sinal longo é desencadeado quando o RSI suavizado cruza acima da linha de sobrevenda de baixo. Um sinal curto é desencadeado quando cruza abaixo da linha de sobrecompra de cima.

Vantagens

  1. Muito inovador, explorando novas ideias comerciais durante períodos prolongados
  2. Reduzir muito os falsos sinais e melhorar a estabilidade
  3. Prazos OB/OS personalizáveis adaptáveis a diferentes mercados
  4. Permitir a pirâmide para melhorar a rentabilidade

Riscos

  1. Perda de oportunidades a curto prazo devido a períodos prolongados
  2. Requer paciência à espera de sinais comerciais
  3. Ajustes de limiar OB/OS inadequados podem aumentar as perdas
  4. Riscos de ficarem presos

Soluções:

  1. Redução adequada dos períodos para aumentar a frequência de negociação
  2. Adotar posições parciais para diversificar os riscos
  3. Otimizar os parâmetros para se adaptarem às condições de mercado em evolução
  4. Configure stop loss para evitar perdas enormes

Orientações de otimização

  1. Otimizar os parâmetros do RSI para encontrar a melhor combinação de períodos
  2. Teste diferentes períodos de suavização da SMA
  3. Otimizar os parâmetros OB/OS para se adequarem aos diferentes mercados
  4. Adicionar estratégias de stop loss para controlar perdas individuais

Conclusão

A estratégia OB/OS Slow RSI explorou com sucesso novas ideias de negociação, estendendo períodos e usando SMA para suprimir flutuações. Com ajuste adequado de parâmetros e controle de risco, a estratégia tem o potencial de alcançar retornos excessivos estáveis e lucrativos.


/*backtest
start: 2023-12-20 00:00:00
end: 2023-12-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// Wilder was a very influential man when it comes to TA. However, I'm one to always try to think outside the box. 
// While Wilder recommended that the RSI be used only with a 14 bar lookback period, I on the other hand think there is a lot to learn from RSI if one simply slows down the lookback period 
// Same applies for MACD.
// Every market has its dynmaics. So don't narrow your mind by thinking my source code input levels are the only levels that work.
// Since the long lookback period weakens the plot volatility, again, one must think outside the box when trying to guage overbought and oversold levels. 

// Good luck and don't bash me if some off-the-wall FA spurned divergence causes you to lose money.
// And NO this doesn't repaint and I won't answer those who ask. 
//@version=4

strategy("SLOW RSI OB/OS Strategy", overlay=false)
price = input(ohlc4, title="Price Source")
len = input(500, minval=1, step=5,  title="RSI Length")
smoother = input(250, minval=1, step=5, title="RSI SMA")
up = rma(max(change(price), 0), len)
down = rma(-min(change(price), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
EmaRSI = ema(rsi,smoother)
plot(EmaRSI, title="EmaRSI", style=line, linewidth=1, color=yellow)


OB = input(52, step=0.1)
OS = input(48, step=0.1)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)


long = change(EmaRSI) > 0 and EmaRSI <= 50 and crossover(EmaRSI, OS)
short = change(EmaRSI) < 0 and EmaRSI >= 50 and crossunder(EmaRSI, OB)


strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)

// If you want to try to play with exits you can activate these!

//closelong = crossunder(EmaRSI, 0) //or crossunder(EmaRSI, OS)
//closeshort = crossover(EmaRSI, 0) //or crossover(EmaRSI, OB)

//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)




Mais.