La estrategia de negociación de múltiples indicadores RSI identifica oportunidades de negociación mediante la combinación de múltiples indicadores RSI para realizar un seguimiento de las tendencias.
La estrategia permite seleccionar de 1 a 5 indicadores de RSI a través de parámetros de entrada. Cada indicador de RSI se puede configurar de forma independiente con valores de período y límite. Cuando cualquier RSI cae por debajo del valor límite, se activa una señal de compra. La fuerza de la señal se determina por el período del indicador de RSI activado, con un período más alto que significa una señal más fuerte. Cuando el RSI vuelve a subir por encima del límite, se activa una señal de posición cerrada. La estrategia también proporciona flexibilidad para usar filtros de color y restringir las horas de negociación.
La mayor ventaja de esta estrategia es la capacidad de evaluar múltiples marcos de tiempo utilizando varios RSI, juzgando tanto la tendencia como las oportunidades de reversión desde dimensiones largas y cortas para mejorar la precisión. Además, la configuración flexible de cada indicador RSI amplía enormemente la adaptabilidad en diferentes mercados.
El riesgo principal son las señales contradictorias cuando se combinan múltiples juicios del RSI. Por ejemplo, un RSI más corto produce una compra mientras que un RSI más largo todavía está sobrevendido. Uno debe confiar en la experiencia para determinar qué señal tiene prioridad.
La estrategia puede considerar la adición de indicadores de asistencia a la tendencia como promedios móviles o bandas de Bollinger para validar las señales RSI y mejorar la precisión. Además, también se pueden explorar ciertos algoritmos de aprendizaje automático, utilizando puntuación de múltiples factores para determinar automáticamente la confiabilidad de la señal.
En resumen, la estrategia de negociación de indicadores multi RSI es muy innovadora. Su flexibilidad en la combinación de indicadores y parámetros lo hace adaptable a los mercados en evolución. Se pueden lograr mejoras adicionales mediante la incorporación de algoritmos de aprendizaje automático y más medidas de control de riesgos debido a su diseño modular.
/*backtest start: 2022-11-21 00:00:00 end: 2023-11-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Symphony Strategy v1.1", shorttitle = "Symphony str 1.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 20) //Settings //needlong = input(true, defval = true, title = "Long") //needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") usersi1 = input(true, defval = true, title = "Use RSI 1") rsiperiod1 = input(4, defval = 4, minval = 2, maxval = 100, title = "RSI 1 Period") rsilimit1 = input(20, defval = 20, minval = 2, maxval = 50, title = "RSI 1 Limit") usersi2 = input(true, defval = true, title = "Use RSI 2") rsiperiod2 = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI 2 Period") rsilimit2 = input(25, defval = 25, minval = 2, maxval = 50, title = "RSI 2 Limit") usersi3 = input(true, defval = true, title = "Use RSI 3") rsiperiod3 = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI 3 Period") rsilimit3 = input(30, defval = 30, minval = 2, maxval = 50, title = "RSI 3 Limit") usersi4 = input(false, defval = false, title = "Use RSI 4") rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period") rsilimit4 = input(35, defval = 35, minval = 2, maxval = 50, title = "RSI 4 Limit") usersi5 = input(false, defval = false, title = "Use RSI 5") rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period") rsilimit5 = input(40, defval = 40, minval = 2, maxval = 50, title = "RSI 5 Limit") cf = input(false, defval = false, title = "Use color filter") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day") //RSI rsi1 = rsi(close, rsiperiod1) rsi2 = rsi(close, rsiperiod2) rsi3 = rsi(close, rsiperiod3) rsi4 = rsi(close, rsiperiod4) rsi5 = rsi(close, rsiperiod5) //Signals up1 = rsi1 < rsilimit1 and usersi1 up2 = rsi2 < rsilimit2 and usersi2 up3 = rsi3 < rsilimit3 and usersi3 up4 = rsi4 < rsilimit4 and usersi4 up5 = rsi5 < rsilimit5 and usersi5 str = up5 ? 5 : up4 ? 4 : up3 ? 3 : up2 ? 2 : up1 ? 1 : str[1] up = up1 or up2 or up3 or up4 or up5 exit = (rsi1 > rsilimit1 and str == 1) or (rsi2 > rsilimit2 and str == 2) or (rsi3 > rsilimit3 and str == 3) or (rsi4 > rsilimit4 and str == 4) or (rsi5 > rsilimit5 and str == 5) lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] //Background col = up ? lime : na bgcolor(col, transp = 0) //Trading if up and (close < open or cf == false) strategy.entry("Long", strategy.long, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()