Estrategia de reversión rápida de los índices de variabilidad de la rentabilidad

El autor:¿ Qué pasa?, Fecha: 2023-12-01 13:37:20
Las etiquetas:

imgEste es un artículo de SEO que escribí con el código y los requisitos que me proporcionaste, con nombres de estrategias, resumen, principios estratégicos, análisis de ventajas, análisis de riesgos, orientación de optimización y resumen:

Resumen general

Esta estrategia es una estrategia de trading de reversión rápida del RSI que captura principalmente oportunidades de reversión cuando el RSI está sobrecomprado o sobrevendido.

Estrategia lógica

La estrategia utiliza dos indicadores:

  1. RSI de 3 días para juzgar los niveles de sobrecompra y sobreventa.

  2. Cuando el cuerpo de la barra de reversión es mayor de la mitad del MA de 30 días, se utiliza como señal de entrada.

Reglas específicas de comercio:

Si el RSI está por debajo del límite inferior (por defecto 25) y el cuerpo de barra actual es mayor de la mitad del MA de 30 días, se realiza un largo.

Cuando el RSI esté por encima del límite superior (default 75) y el cuerpo de barra actual sea mayor de la mitad de la MA de 30 días, sea corto.

Si el valor de las posiciones de salida es inferior al valor de las posiciones de salida, el valor de las posiciones de cierre será el valor de las posiciones de cierre.

Análisis de ventajas

Las ventajas de esta estrategia incluyen:

  1. Utilizando el RSI de corto plazo para capturar rápidamente las oportunidades de reversión a corto plazo.

  2. Aumento de la fiabilidad de la señal mediante la combinación con el filtro MA, evitando las interrupciones en los mercados de rango limitado.

  3. Las absorciones son controlables, la absorción máxima no será demasiado grande.

  4. Reglas claras de control de posiciones, evita el exceso de negociación.

Análisis de riesgos

Los riesgos de esta estrategia incluyen:

  1. Riesgo de reversión fallido: la sobrecompra y sobreventa no necesariamente conducen a reversiones.

  2. Riesgo de pérdida al operar en contra de la tendencia en los mercados de tendencia.

  3. Oportunidades perdidas debido a reglas de filtro de barras demasiado estrictas.

  4. La alta sensibilidad de los parámetros, los períodos de RSI y MA requieren un ajuste.

Direcciones de optimización

La estrategia se puede optimizar a partir de los siguientes aspectos:

  1. Optimice los parámetros del RSI para encontrar el período óptimo.

  2. Optimizar los parámetros de MA para determinar el mejor período de filtración de barras.

  3. Agregue estrategias de stop loss como el stop loss trasero, para controlar la pérdida de una sola operación.

  4. Añadir reglas de determinación de tendencias para evitar el comercio contra tendencias.

Conclusión

En conclusión, esta es una estrategia de RSI centrada en la reversión a corto plazo. Captura las reversiones al identificar rápidamente los niveles de sobrecompra y sobreventa de RSI, y utiliza el filtro de barra MA para confirmar las entradas. Las ventajas son las reducciones controlables y los controles de posición claros. Es adecuado para el comercio a corto plazo, pero debe tener cuidado con los riesgos de reversiones fallidas y el comercio contra tendencias. Se puede mejorar mediante la optimización de parámetros, la adición de stop loss y la evaluación de tendencias.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.0", shorttitle = "Fast RSI str 1.0", 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")
limit = input(25, defval = 25, minval = 1, maxval = 100, title = "RSI limit")
fromyear = input(1900, defval = 1900, 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
src = close
fastup = rma(max(change(src), 0), 3)
fastdown = rma(-min(change(src), 0), 3)
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) / 2

//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()

Más.