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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
/*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