Estratégia de teste de retrocesso de RSI suavizada V2

Autora:ChaoZhang, Data: 21 de setembro de 2023 15:02:06
Tags:

Resumo

Esta estratégia é uma versão aprimorada do indicador RSI desenvolvido por John Ehlers.

Como funciona

  1. Calcule a média do preço xValue usando 6 barras.

  2. Calcular a soma ascendente CU23 e a soma descendente CD23 com base em xValue.

  3. Calcular o valor normalizado de RES nRes como CU23/(CU23 + CD23).

  4. Gerar sinais longos/cortos comparando os nRes com os limiares.

  5. Opção para reverter os sinais.

  6. Insira longo/curto com base nos sinais.

Vantagens

  • A curva RSI suavizada reduz os falsos sinais
  • Parâmetros ajustáveis para encontrar valores ótimos
  • Negociação reversa adaptável a diversas condições de mercado
  • Lógica simples e intuitiva

Riscos

  • Má otimização de parâmetros pode causar sinais falsos excessivos
  • Alguns atrasos permanecem, podem perder reversões curtas
  • O reverse trading aumenta a frequência e os custos do comércio

Orientações de otimização

  • Optimize os parâmetros para encontrar a melhor combinação
  • Sinais de filtro com indicadores adicionais
  • Adicionar a lógica de stop loss para controlar a perda única
  • Backtest para determinar o período de retenção ideal
  • Explorar o aprendizado de máquina para otimização de parâmetros

Conclusão

A estratégia suaviza efetivamente a curva do RSI, melhorando seu cálculo, reduzindo sinais falsos até certo ponto. Filtragem adicional e otimização de parâmetros podem melhorar o desempenho.


/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/11/2017
// This is new version of RSI oscillator indicator, developed by John Ehlers. 
// The main advantage of his way of enhancing the RSI indicator is smoothing 
// with minimum of lag penalty. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Smoothed RSI Backtest ver.2")
Length = input(10, minval=1)
TopBand = input(0.8, step=0.01)
LowBand = input(0.2, step=0.01)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xValue = (close + 2 * close[1] + 2 * close[2] + close[3] ) / 6
CU23 = sum(iff(xValue > xValue[1], xValue - xValue[1], 0), Length)
CD23 = sum(iff(xValue < xValue[1], xValue[1] - xValue, 0), Length)
nRes = iff(CU23 + CD23 != 0, CU23/(CU23 + CD23), 0)
pos = iff(nRes > TopBand, 1,
	   iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(nRes, color=blue, title="Smoothed RSI")

Mais.