Análisis rápido de la estrategia RSI


Fecha de creación: 2023-12-04 14:40:02 Última modificación: 2023-12-04 14:40:02
Copiar: 0 Número de Visitas: 605
1
Seguir
1619
Seguidores

Análisis rápido de la estrategia RSI

Nombre de la estrategia

La estrategia de tendencia RSI de dos vías rápidas

Descripción general

La estrategia es una estrategia rápida que utiliza el indicador RSI para determinar la tendencia de los precios. Tiene la capacidad de hacer más y hacer menos al mismo tiempo, lo que permite capturar precios de línea corta más rápidos.

Principio de estrategia

La estrategia utiliza el indicador RSI mejorado para determinar el estado de sobreventa y sobreventa del precio, en combinación con el ruido de filtración de la entidad de la línea K. Cuando el RSI está en una zona de sobreventa o sobreventa y el volumen de la entidad de la línea K es mayor que el 13 del volumen promedio, se hace un sobreventa o un sobreventa.

Análisis de las ventajas

La estrategia responde rápidamente y puede capturar tendencias de líneas cortas más rápidas; al mismo tiempo, el filtro entero ayuda a eliminar el ruido y evitar ser engañado por falsas rupturas. La estrategia se aplica a variedades de alta volatilidad y puede obtener mayores ganancias.

Análisis de riesgos

Esta estrategia es sensible a la respuesta a los cambios de precios y es fácilmente engañada por falsas señales en el mercado; además, los alto índice de volatilidad de los mercados pueden desencadenar pérdidas con mayor frecuencia. Se puede relajar adecuadamente el margen de pérdidas y optimizar los parámetros del RSI para reducir la probabilidad de falsas señales.

Dirección de optimización

Se pueden probar diferentes parámetros de indicadores de ciclo para optimizar la estrategia y buscar la combinación óptima de parámetros. Además, se puede considerar la inclusión de otros indicadores como las reglas de negociación de la tortuga para ayudar a filtrar las señales. También puede ser un buen intento entrenar un mejor umbral de RSI en combinación con métodos de aprendizaje automático.

Resumir

La estrategia en su conjunto es una estrategia de línea corta altamente eficiente y sensible. Se espera que mejore aún más la estabilidad y la rentabilidad a través de la optimización de algunos parámetros y modelos. La estrategia merece el estudio y el seguimiento de los comerciantes cuantitativos.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.1", shorttitle = "Fast RSI str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Source")
fromyear = input(2018, defval = 2018, 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")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
uplimit = 100 - limit
dnlimit = limit

//Body
body = abs(close - open)
emabody = ema(body, 30) / 3

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and fastrsi < dnlimit and body > emabody
dn = bar == 1 and fastrsi > uplimit and body > emabody
exit = ((strategy.position_size > 0 and fastrsi > dnlimit) or (strategy.position_size < 0 and fastrsi < uplimit)) and body > emabody

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()