Estrategia VRSI vs MARSI


Fecha de creación: 2024-02-02 17:21:09 Última modificación: 2024-02-02 17:21:09
Copiar: 0 Número de Visitas: 970
1
Seguir
1617
Seguidores

Estrategia VRSI vs MARSI

Descripción general

El VRSI y la estrategia MARSI utilizan las medias móviles para suavizar el RSI, implementando una estrategia de doble indicador. Esta estrategia utiliza al mismo tiempo el indicador RSI de precios y el indicador RSI de volúmenes de transacciones, en combinación con sus medias móviles para generar señales de comercio.

Principio de estrategia

La estrategia primero calcula el indicador RSI de 9 períodos para el precio (RSI) y el indicador RSI de 9 períodos para el volumen de transacciones (VRSI). Luego calcula el promedio móvil simple de 5 períodos para estos dos indicadores RSI (MARSI y MAVRSI).

La generación de señales de negociación se basa en el indicador MARSI. Hacer más cuando el MARSI sube y hacer menos cuando el MARSI baja. Además, el indicador MAVRSI se utiliza para determinar la fuerza del mercado y los posibles cambios de tendencia.

Por ejemplo, en un movimiento de más cabeza, si el precio continúa subiendo pero el volumen de transacciones disminuye, esto indica que la fuerza de más cabeza puede estar disminuyendo. Por el contrario, en un movimiento de cabeza vacía, si el precio continúa bajando pero el volumen de transacciones aumenta, lo que indica que la fuerza de cabeza vacía aumenta, se puede seguir manteniendo boletos.

Análisis de las ventajas

La estrategia combina las medias móviles de los dos indicadores RSI para capturar la tendencia de manera eficiente y, al mismo tiempo, aprovechar los cambios en el volumen de transacciones para juzgar la fuerza del mercado y evitar la suplantación. En comparación con un solo indicador RSI, la estrategia capta el ritmo del mercado con mayor precisión.

El uso de medias móviles también permite filtrar parte del ruido, lo que hace que la señal sea más confiable. Además, la configuración de diferentes parámetros como el ciclo RSI y el ciclo de medias móviles también ofrece la posibilidad de optimizar la estrategia.

Análisis de riesgos

El principal riesgo de esta estrategia es que puede producirse una desviación entre los indicadores dobles. Cuando se produce una desviación entre el precio y el volumen de transacción, las señales de negociación también se vuelven menos confiables. En este caso, es necesario juzgar manualmente la relación entre los indicadores.

Otro riesgo es que sea fácil de corregir. Cuando los precios se corregen horizontalmente, el indicador RSI es fácil de sacudir arriba y abajo para desencadenar señales de comercio innecesarias. En este caso, es necesario ajustar los parámetros o juzgar la posición absoluta del indicador.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Ajustar los parámetros del RSI y la media móvil para encontrar la combinación óptima

  2. Aumentar otros criterios condicionales al generar señales de negociación, como la mayor fiabilidad de la señal de reversión activada por el indicador RSI en zonas de sobrecompra y sobreventa

  3. Aumentar las estrategias de stop loss, establecer un stop loss móvil o un stop loss indicador

  4. Combinado con otros indicadores, como la forma de la línea K, el índice de fluctuación, etc., para evitar la captura

Resumir

El VRSI y la estrategia MARSI combinan con éxito los indicadores RSI de precios y volúmenes de transacción, y la comparación y el juicio entre los indicadores duales pueden mejorar la precisión de la señal y la rentabilidad. La configuración optimizada de los parámetros y la estrategia de stop loss también proporcionan la posibilidad de su operación estable. En general, la estrategia utiliza una combinación entre indicadores y obtiene un rendimiento superior al de un solo indicador RSI.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("VRSI-MARSI Strategy", shorttitle="(V/MA)RSI Str.", overlay=false, default_qty_type=strategy.percent_of_equity, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0, default_qty_value=5, initial_capital=100)

// RSI(close, ="RSI") and RSI(Volume, ="VRSI")
src = close, len = input(9, minval=1, title="Length RSI")
src2 = volume, len2 = input(9, minval=1, title="Length VRSI)")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
up2 = rma(max(change(src2), 0), len2)
down2 = rma(-min(change(src2), 0), len2)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsi2 = down2 == 0 ? 100 : up2 == 0 ? 0 : 100 - (100 / (1 + up2 / down2))

// MA(=Moving Average) of RSI(close, ="MARSI") and RSI(Volume, ="MAVRSI")
len3 = input(5, minval=1, title="Length MARSI")
marsi = sma(rsi, len3)
len4 = input(5, minval=1, title="Length MAVRSI")
marsi2 = sma(rsi2, len4)

// Plot: 
// Default plot of RSI and VRSI: not visible but can be made visible
// Default plot MARSI and MAVRSI: visible
p1 = plot(rsi, linewidth=2, transp=100, color=color.yellow, title="RSI")
p2 = plot(rsi2, linewidth=2, transp=100, color=color.orange, title="VRSI")
m1 = plot(marsi, color=(marsi>=0 ? (marsi[1] < marsi ? color.yellow : color.blue) : (marsi[1] < marsi ? color.yellow : color.blue) ), linewidth = 2, transp = 0, title="MARSI")
m2 = plot(marsi2, color=color.orange, linewidth = 2, transp = 0, title="MAVRSI")

// Color fill:
// Default color fill "RSI - VRSI": not visible but can be made visible
// Default color fill "MARSI - MAVRSI": visible
fill(p1,p2, color = rsi>rsi2 ? color.green : color.red, transp=100, title="BG RSI-VRSI")
fill(m1,m2, color = marsi>marsi2 ? color.green : color.red, transp=75, title="BG MARSI-MAVRSI")

// Lines:
h2=hline(20, color=color.green, linestyle=hline.style_dotted, title="Extreme Oversold Rsi")
h3=hline(30, color=color.black, linestyle=hline.style_dotted, title="Oversold Rsi")
h5=hline(50, color=color.yellow, linestyle=hline.style_dashed, title="Middle line")
h7=hline(70, color=color.black, linestyle=hline.style_dotted, title="Overbought Rsi")
h8=hline(80, color=color.red, linestyle=hline.style_dotted, title="Extreme Overbought Rsi")

// Color fill between Lines "20-30" and "70-80" represents the crossing of "MARSI" and "MAVRSI":
fill(h2, h3, color=(marsi2 > marsi ? color.red : color.green), transp=80, title="20-30 BG color X MARSI/MAVRSI")
fill(h7, h8, color=(marsi2 > marsi ? color.red : color.green), transp=80, title="70-80 BG color X MARSI/MAVRSI")

///Long Entry///
longCondition = marsi > marsi[1] 
if (longCondition)
    strategy.entry("Long", strategy.long)

///Long exit///
Xlong =input(true)
closeConditionLong = marsi < marsi[1] and Xlong
if (closeConditionLong)
    strategy.close("Long")

///Short Entry///
shortCondition = marsi < marsi[1] 
if (shortCondition)
    strategy.entry("Short", strategy.short)
    
///Short exit///
Xshort =input(true)
closeConditionShort = marsi > marsi[1] and Xshort
if (closeConditionShort)
    strategy.close("Short")