Estrategia rápida de brecha RSI para criptomonedas


Fecha de creación: 2023-11-27 11:22:19 Última modificación: 2023-11-27 11:22:19
Copiar: 0 Número de Visitas: 643
1
Seguir
1617
Seguidores

Estrategia rápida de brecha RSI para criptomonedas

Descripción general: La estrategia es una estrategia de comercio de salto rápido del RSI aplicada a las criptomonedas. Utiliza al mismo tiempo el indicador RSI rápido y la estrategia de salto de la línea K para buscar oportunidades de comercio.

Principio de la estrategia: La estrategia utiliza dos indicadores principales al mismo tiempo: el RSI rápido y la línea K de saltos.

En primer lugar, calcula un indicador RSI rápido de solo 7 líneas K. El indicador RSI es más sensible y puede capturar rápidamente el fenómeno de sobrecompra y sobreventa. Configura el RSI como un límite superior de 70 y un límite inferior de 30. Cuando el RSI es mayor que 70 es sobrecompra y menor que 30 es sobreventa.

En segundo lugar, detecta una línea K de salto. El salto indica que el precio de apertura tiene un gran espacio entre el precio de cierre del día anterior y el precio de cierre del día anterior. El salto es una señal de alta volatilidad que indica una posible reversión de la tendencia.

Cuando se detecte una línea K que salta hacia abajo y el indicador RSI rápido muestra un exceso de venta, haga más. Cuando se detecte una línea K que salta hacia arriba y el indicador RSI rápido muestra un exceso de compra, haga un descuento.

Además, la estrategia también establece la línea media SMA y el indicador mínimo máximo como filtros para evitar el error de negociación. Sólo se emitirá una señal de negociación real si se pasa el filtro.

Análisis de las ventajas: La mayor ventaja de esta estrategia es la captura de rápidos excesos de compra y venta y oportunidades de reversión. Es especialmente adecuado para los mercados de criptomonedas con gran volatilidad, que pueden capturar rápidos puntos de inflexión. En comparación con el RSI convencional, el RSI rápido es más sensible y puede adaptarse al comercio de criptomonedas de alta frecuencia.

Análisis de riesgos: La estrategia tiene cuatro riesgos principales:

  1. El RSI rápido está demasiado sensible, lo que genera el riesgo de generar una gran cantidad de señales falsas.

  2. El salto en alto puede ser una fluctuación normal de los precios en lugar de una verdadera reversión, y la estrategia puede correr el riesgo de sufrir un cese de pérdidas;

  3. En la mayoría de los casos, los inversores de la zona de mercado están en condiciones de mantener sus posiciones en el mercado durante un período de tranquilidad.

  4. La configuración incorrecta de los parámetros de la estrategia, como la longitud mínima y máxima del indicador, puede causar dilución de la señal e ineficiencia.

En consecuencia, los siguientes métodos pueden reducir el riesgo:

  1. ajustar los parámetros del RSI rápido y aumentar el número de ciclos del RSI de manera adecuada;

  2. El uso de stop-loss móvil para bloquear ganancias y evitar pérdidas por el rastreo de saltos;

  3. Optimizar la configuración de la participación en las estrategias para controlar la participación en las estrategias de baja volatilidad;

  4. Prueba y optimiza los parámetros repetidamente para encontrar los mejores parámetros para asegurar la eficacia de la estrategia.

La dirección de la optimización: La estrategia se ha optimizado en los siguientes aspectos:

  1. Explorar otros indicadores de precios como MACD, KDJ y otros en combinación con el salto en paracaídas para mejorar la precisión de la señal;

  2. La adición de un ajuste automático del punto de parada de acuerdo con las fluctuaciones del mercado;

  3. Indicadores de potencia combinada como el OBV para comprobar las señales de confirmación de saltos para confirmar la reversión de la tendencia;

  4. Optimizar la longitud y los parámetros de los filtros para encontrar la combinación óptima de parámetros para reducir los errores;

  5. Estudiar la adaptabilidad de las diferentes criptomonedas a los parámetros de la estrategia y establecer parámetros más precisos.

A través de estas optimizaciones, se puede mejorar la estabilidad, adaptabilidad y fiabilidad de las estrategias.

En resumen: La estrategia de salto rápido RSI es una estrategia de negociación de alta eficiencia diseñada específicamente para situaciones de volatilidad en las criptomonedas. Combina la sensibilidad del indicador RSI rápido y la capacidad de predicción de la línea K de salto. La capacidad de la estrategia para capturar cambios rápidos en el mercado puede mejorarse aún más con la prueba y optimización continuas para obtener ganancias estables a largo plazo en un mercado de criptomonedas volátil.

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

//Noro
//2018

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.5", shorttitle = "Fast RSI str 1.5", overlay = true)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usersi = input(true, defval = true, title = "Use Fast RSI Strategy")
usemm = input(true, defval = true, title = "Use Min/Max Strategy")
usesma = input(false, defval = false, title = "Use SMA Filter")
smaperiod = input(20, defval = 20, minval = 2, maxval = 1000, title = "SMA Filter Period")
fast = input(7, defval = 7, minval = 2, maxval = 50, title = "Fast RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars")
mmbars = input(1, defval = 1, minval = 1, maxval = 5, title = "Min/Max Bars")
showsma = input(false, defval = false, title = "Show SMA Filter")
showarr = input(false, defval = false, title = "Show Arrows")
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), fast)
fastdown = rma(-min(change(rsisrc), 0), fast)
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
upsignal = fastrsi > uplimit ? 1 : 0
dnsignal = fastrsi < dnlimit ? 1 : 0
uprsi = sma(upsignal, rsibars) == 1
dnrsi = sma(dnsignal, rsibars) == 1

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)
minsignal = min < min[1] and bar == -1 and bar[1] == -1 ? 1 : 0
maxsignal = max > max[1] and bar == 1 and bar[1] == 1 ? 1 : 0
mins = sma(minsignal, mmbars) == 1
maxs = sma(maxsignal, mmbars) == 1

//SMA Filter
sma = sma(close, smaperiod)
colorsma = showsma ? blue : na
plot(sma, color = colorsma, linewidth = 3)

//Signals
up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > abody / 5 and usersi
dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > abody / 5 and usersi
up2 = mins and (close > sma or usesma == false) and fastrsi < 70 and usemm
dn2 = maxs and (close < sma or usesma == false) and fastrsi > 30 and usemm 
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > abody / 2

//Arrows
col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na
needup = up1 or up2
needdn = dn1 or dn2
needexitup = exit and strategy.position_size < 0
needexitdn = exit and strategy.position_size > 0
plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0)
plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0)
plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0)

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

if dn1 or dn2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, 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()