Estrategia basada en RSI


Fecha de creación: 2023-11-15 16:29:25 Última modificación: 2023-11-15 16:29:25
Copiar: 0 Número de Visitas: 365
1
Seguir
1166
Seguidores

Estrategia basada en RSI

Descripción general

La estrategia es una estrategia de comercio de líneas cortas basada en un indicador relativamente fuerte y débil (el RSI). Utiliza el indicador RSI para identificar intervalos de sobreventa y sobreventa y se combina con una entidad de línea K para filtrar falsas señales y realizar operaciones de compra y venta en los puntos de inflexión. La estrategia busca capturar oportunidades de rebote después de estados de extrema sobreventa y sobreventa.

Detalles de las estrategias

El principio

Primero se calcula el indicador RSI, se elige el precio de cierre como fuente de datos de cálculo, el ciclo se establece en 7 días. Luego se establece una línea de sobreventa de 30 y un intervalo de sobreventa de 70. Cuando el RSI cruza la línea 30 produce una señal de compra, y cuando cruza la línea 70 produce una señal de venta.

Para filtrar las falsas señales, se requiere que la entidad de la línea K se amplíe entre 1 y 3 veces más de lo normal para que se pueda activar la señal de negociación. Se utiliza el RSI para confirmar la señal de 1 a 5 líneas de la línea K en el rango de sobreventa y sobreventa, y el multiplicador de la entidad se amplía en 4 veces.

Cuando el RSI genera una señal de compra cuando 5 líneas K consecutivas están por debajo de 30, se ejecuta la operación de compra si la línea K se acerca y la entidad se amplifica más de 4 veces. Cuando el RSI genera una señal de venta cuando 5 líneas K consecutivas están por encima de 70, se ejecuta la operación de venta si la línea K se acerca y la entidad se amplifica más de 4 veces.

Para bloquear las ganancias, se detiene la posición en el caso de que la entidad aumente el doble cuando la dirección de la posición coincide con la dirección de la línea K actual.

Las ventajas

  1. Capturar la oportunidad de rebotar después de una sobreventa

El RSI es un indicador de mejor identificación de los estados de sobreventa y sobreventa. Cuando las acciones están en el área de sobreventa y sobreventa, hay una mayor probabilidad de rebote en el corto plazo, y el área de sobreventa a menudo indica un rebote inminente. Esta estrategia puede capturar oportunidades en la víspera de la reversión.

  1. El filtro de entidad reduce las señales falsas

La estrategia incluye la ampliación de la línea K como condición de filtro, y la posición se agrega cuando se produce una ampliación de la línea K en la víspera del punto de inflexión, para evitar ser engañado por la falsa señal del mercado de la oscilación.

  1. Confirmación de la línea K de raíz N continua para mejorar la confiabilidad

Requiere que el RSI confirme que las líneas K de 1 a 5 se encuentran en el rango de sobreventa y sobreventa, para evitar ser engañados por las líneas K inactivas individuales y mejorar la fiabilidad de la señal.

  1. El multiplicador de la amplificación de la entidad es ajustable

El multiplicador de la amplificación de la entidad puede ajustarse según las diferentes variedades, para las variedades de tipo creciente y decreciente se puede relajar adecuadamente las condiciones, mientras que para las variedades de fluctuación moderada se puede endurecer adecuadamente y se puede ajustar libremente para adaptarse a su propia variedad comercial.

El riesgo

  1. Puede haber problemas de adaptación

La configuración de los parámetros de esta política tiene un cierto grado de limitación, ya que los parámetros necesitan ser ajustados para diferentes variedades y diferentes períodos. Si se utiliza una configuración de parámetros fija, esto puede causar problemas de sobreajuste.

  1. La identificación de puntos de venta no es muy precisa

El indicador RSI en sí mismo tiene un cierto grado de retraso, combinado con la amplificación de la entidad como condición de filtración también se retirará de la posición con cierta antelación. Por lo tanto, la precisión de identificación de puntos de venta y compra generalmente no será especialmente alta.

  1. Posible prolongamiento de las posiciones en situaciones de crisis

En situaciones de volatilidad, el RSI puede activar frecuentemente señales de compra y venta, lo que puede ocasionar un prolongado período de tenencia. En este caso, es necesario ajustar los parámetros o suspender la operación de la estrategia.

  1. Necesidad de ajustar la estrategia de tenencia de posiciones

Esta estrategia es una estrategia de negociación a corto plazo que requiere la combinación de estrategias de tenencia de posición adecuadas, como la eliminación de la línea media y el stop loss, para bloquear los beneficios y controlar el riesgo.

Optimización de las ideas

  1. Prueba de diferentes configuraciones de parámetros

Se pueden probar diferentes combinaciones de parámetros del RSI, como el ciclo, la línea de sobreventa y la línea K de parámetros de filtración de entidades, optimizando los parámetros para adaptarse a diferentes variedades.

  1. Aumentar las estrategias de detención de pérdidas

Se puede configurar un stop loss móvil o un stop loss porcentual para bloquear ganancias, también se puede configurar un stop loss en función del valor de ATR o en combinación con el canal Donchain.

  1. En combinación con otros indicadores

Se pueden añadir condiciones de filtración de otros indicadores, como MACD, KDJ, etc., para evitar la generación de señales erróneas en el caso de una ruptura no efectiva. También se puede utilizar el indicador de volatilidad para identificar señales de reversión en la tendencia.

  1. Aumentar el juicio de tendencias

Se puede utilizar la línea media para determinar la dirección de la tendencia, considerar las señales de negociación solo cuando la dirección de la tendencia es coincidente, y elegir una estrategia de suspensión en caso de una situación de crisis. También se puede combinar con una señal de filtración de un indicador de tendencia fuerte.

Resumir

La estrategia de inversión RSI en su conjunto es una estrategia típica de comercio de corta línea, con ciertas ventajas y riesgos. La principal ventaja es la capacidad de capturar el rebote después de la sobrecompra y la sobreventa, mientras que el riesgo es principalmente la falta de precisión de los números de confianza y el exceso de tiempo de mantenimiento de la posición en condiciones de choque.

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

//@version=3
strategy(title = "Noro's FRSI Strategy v1.21", shorttitle = "FRSI str 1.21", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0)

//Settings
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 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(2038, 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), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
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, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    sps := 1

if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()
    sps := 0