Estrategia de negociación de indicadores múltiples de RSI

El autor:¿ Qué pasa?, Fecha: 2023-11-28 15:03:53
Las etiquetas:

img

Resumen general

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.

Estrategia lógica

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.

Análisis de ventajas

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.

Análisis de riesgos

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.

Direcciones de optimización

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.

Resumen de las actividades

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()

Más.