Estrategia OB/OS RSI lenta

El autor:¿ Qué pasa?, Fecha: 2023-12-28 18:07:48
Las etiquetas:

img

Resumen general

La estrategia OB/OS del RSI lento abre nuevas oportunidades comerciales al extender el período de retroceso del RSI para reducir la fluctuación de la curva del RSI.

Estrategia lógica

La idea central de esta estrategia es extender el período de retroceso del RSI a 500 bares por defecto y luego suavizar la curva del RSI con una SMA de 250 bares. Esto puede reducir significativamente la fluctuación del RSI y ralentizar su velocidad de reacción, generando así nuevas señales comerciales.

El período de retroceso prolongado debilita la fluctuación del RSI, por lo que los criterios para los niveles de sobrecompra y sobreventa también deben ajustarse. La estrategia establece una línea de sobrecompra personalizable en 52 y una línea de sobreventa en 48.

Ventajas

  1. Muy innovador al explorar nuevas ideas comerciales durante largos períodos
  2. Reducir en gran medida las señales falsas y mejorar la estabilidad
  3. Umbrales de OB/OS personalizables y adaptables a los diferentes mercados
  4. Permitir la pirámide para mejorar la rentabilidad

Los riesgos

  1. Oportunidades perdidas a corto plazo debido a períodos largos
  2. Requiere paciencia esperando las señales comerciales
  3. La configuración incorrecta del umbral OB/OS puede aumentar las pérdidas
  4. Los riesgos de quedar atrapados

Soluciones:

  1. Acortar los períodos adecuadamente para aumentar la frecuencia de las operaciones
  2. Posiciones parciales para diversificar los riesgos
  3. Optimizar los parámetros para adaptarse a las condiciones cambiantes del mercado
  4. Establecer el stop loss para evitar pérdidas enormes

Direcciones de optimización

  1. Optimizar los parámetros del RSI para encontrar la mejor combinación de períodos
  2. Prueba diferentes períodos de suavizado de la SMA
  3. Optimizar los parámetros OB/OS para adaptarse a los diferentes mercados
  4. Añadir estrategias de stop loss para controlar pérdidas individuales

Conclusión

La estrategia OB/OS de RSI lento exploró con éxito nuevas ideas de negociación al extender los períodos y usar SMA para suprimir las fluctuaciones. Con el ajuste adecuado de parámetros y el control de riesgos, la estrategia tiene el potencial de lograr rendimientos excedentes constantes y rentables.


/*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)




Más.