Esta es una estrategia de negociación que identifica los mercados oscilantes utilizando el indicador RSI y captura oportunidades de inversión de tendencia durante las oscilaciones del mercado. La estrategia juzga si los precios han entrado en la zona de oscilación por el indicador RSI rápido y determina el momento de entrada en combinación con cuerpos de velas y señales RSI rápidas.
La estrategia se basa principalmente en los siguientes principios:
Específicamente, la estrategia emplea RSI de doble período para juzgar si los precios han entrado en el rango de oscilación preestablecido de 30-70. También requiere que el cuerpo de la vela rompa 1/4 o 1/2 del MA antes de generar señales comerciales. Mediante tales comprobaciones condicionales duales, las señales falsas se pueden filtrar de manera efectiva para garantizar que solo se ingrese al mercado cuando ocurra una oscilación real.
La estrategia presenta las siguientes ventajas significativas:
También hay algunos riesgos a tener en cuenta:
Para controlar los riesgos, se recomienda ajustar las combinaciones de parámetros, la verificación de operaciones en vivo y los mecanismos de stop loss.
Hay espacio para una mayor optimización:
Mediante técnicas como la integración de múltiples indicadores, el ajuste adaptativo de parámetros y el comercio de algo, la estabilidad de la estrategia y la rentabilidad pueden elevarse al siguiente nivel.
La estrategia de negociación RSI de oscilación rápida identifica las oscilaciones de precios y determina el momento de entrada a través de RSI rápido y mecanismos de doble filtro. Es una estrategia efectiva que merece una investigación y aplicación en profundidad.
/*backtest start: 2023-01-07 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "Noro's FRSI Strategy v1.22", shorttitle = "FRSI str 1.22", overlay = true ) //Settings uprsiperiod = input(2, defval = 2, minval = 2, maxval = 50, title = "RSI UP Period") dnrsiperiod = input(9, defval = 9, minval = 2, maxval = 50, title = "RSI DN Period") limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit") rsisrc = input(close, defval = close, title = "RSI Price") rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars") sps = 0 fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2018, defval = 2018, 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") //Fast RSI fastup = rma(max(change(rsisrc), 0), uprsiperiod) fastdown = rma(-min(change(rsisrc), 0), dnrsiperiod) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Limits bar = close > open ? 1 : close < open ? -1 : 0 uplimit = 100 - limit dnlimit = limit //RSI Bars ur = fastrsi > uplimit dr = fastrsi < dnlimit uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0 dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0 //Body body = abs(close - open) emabody = ema(body, 30) //Signals up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4 dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4 exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2 //Trading if up strategy.entry("Long", strategy.long) sps := 1 if exit strategy.close_all() sps := 0