Utilización de la estrategia de ruptura bidireccional del RSI


Fecha de creación: 2023-12-27 14:33:15 Última modificación: 2023-12-27 14:33:15
Copiar: 0 Número de Visitas: 974
1
Seguir
1623
Seguidores

Utilización de la estrategia de ruptura bidireccional del RSI

Descripción general

La estrategia de ruptura del RSI bidireccional es una estrategia de negociación algorítmica que utiliza el indicador RSI para identificar el punto de inflexión del precio. Compara el indicador RSI con el valor de los altibajos establecidos para determinar si el mercado está sobrecomprando y emite una señal de negociación.

Principio de estrategia

La estrategia se basa principalmente en el RSI para determinar la situación. El RSI se calcula en función de los cambios en los precios de cierre y cierre durante un período determinado, lo que refleja la tendencia de compra y venta de las acciones. Cuando el RSI supera el valor establecido de subida (el 75 por defecto), indica que las acciones entran en la zona de sobrecompra.

Las reglas de juicio estratégico:

  1. Cuando el RSI se pone a la baja, hay que hacer una brecha.
  2. Cuando el RSI cruza el umbral, hay que hacer más.
  3. Cancelar o cerrar una posición después de un cierre.

Su lógica de negociación es simple y clara, los parámetros de referencia se establecen de manera razonable, el espacio de configuración es grande y es adecuado para capturar las tendencias más grandes en el mercado.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. La lógica es simple, fácil de entender y de implementar.
  2. La configuración de los parámetros de referencia es razonable y se puede personalizar;
  3. La plataforma de intercambio de datos de la compañía, que también incluye un sistema de intercambio de datos de la compañía, también está disponible en línea.
  4. El precio de las acciones en el mercado de divisas se ha visto afectado por el aumento de los precios de las acciones en el mercado de divisas.

En general, la estrategia tiene parámetros de referencia razonables, es fácil de implementar, puede determinar la reversión de precios de manera efectiva a través del indicador RSI, es adecuada para capturar grandes tendencias en el mercado en líneas medianas y largas, y es una estrategia cuantitativa fácil de usar.

Análisis de riesgos

A pesar de que la estrategia es sencilla y fiable, no podemos ignorar los riesgos potenciales:

  1. El indicador RSI tiene una alta probabilidad de emitir señales erróneas. El RSI no puede predecir perfectamente la reversión de los precios, lo que puede provocar errores de juicio.
  2. El indicador RSI tiene dificultades para distinguir entre un ajuste de rango normal y un cambio de tendencia.
  3. El indicador RSI no puede evaluar eficazmente el movimiento de la oscilación, lo que aumenta las pérdidas de la estrategia en este entorno.

Para controlar los riesgos, debemos tener en cuenta lo siguiente:

  1. Ajuste adecuado de los parámetros para evitar un alto índice de error;
  2. Aumentar la precisión de las señales de transacción en combinación con otros indicadores;
  3. En la actualidad, la mayor parte de los bancos centrales de la India están en proceso de privatización.
  4. No se trata de una transacción que se vea afectada por el sismo.

Dirección de optimización

Teniendo en cuenta que la estrategia se enfrenta principalmente al riesgo de errores de reversión y pérdidas en el escenario de la conmoción, podemos optimizar en los siguientes aspectos:

  1. En combinación con otros indicadores para filtrar la señal. Indicadores como KDJ, MACD y otros pueden desempeñar un papel de filtrado para evitar errores de juicio.
  2. Aumentar el límite de pérdidas individuales condicionadas. Aumentar adecuadamente el espacio de pérdidas individuales ayuda a que la estrategia funcione con la tendencia general.
  3. Establezca un límite de frecuencia de apertura de posiciones. Agregue un umbral lógico de solo una o N transacciones por cada ciclo, para controlar la apertura de posiciones demasiado densa.
  4. Configurar el juicio de estado de la situación. La estrategia de juicio funciona solo en la situación de tendencia, evitando la situación de crisis, y puede optimizar significativamente la estrategia de ganancias y riesgo.

Resumir

La estrategia de ruptura de RSI bidireccional en general es una estrategia de cuantificación simple y práctica. Se trata de una estrategia de seguimiento de tendencias sencilla que determina la reversión de precios a través del indicador RSI. Aunque existe un cierto riesgo de error, se puede optimizar mediante ajustes de parámetros y filtración de señales, que desempeñan un papel importante en la captura de tendencias de línea media y larga.

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

//@version=4
strategy("RSI Algo", overlay=true)

// Calculate start/end date and time condition
DST = 1 //day light saving for usa
//--- Europe
London = iff(DST==0,"0000-0900","0100-1000")
//--- America
NewYork = iff(DST==0,"0400-1500","0500-1600")
//--- Pacific
Sydney = iff(DST==0,"1300-2200","1400-2300")
//--- Asia
Tokyo = iff(DST==0,"1500-2400","1600-0100")

//-- Time In Range
timeinrange(res, sess) => time(res, sess) != 0

london = timeinrange(timeframe.period, London)
newyork = timeinrange(timeframe.period, NewYork)

time_cond = true


myPeriod = input(defval=14, type=input.integer, title="Period")
myThresholdUp = input(defval=75, type=input.float, title="Upper Threshold")
myThresholdDn = input(defval=25, type=input.float, title="Lower Threshold")
myAlgoFlipToggle = input(defval=false, type=input.bool, title="Imverse Algorthim")
myLineToggle = input(defval=true, type=input.bool, title="Show Lines")
myLabelToggle = input(defval=true, type=input.bool, title="Show Labels")
myRSI=rsi(close, myPeriod)
buy = myAlgoFlipToggle ? falling(myRSI,1) and cross(myRSI, myThresholdDn) : rising(myRSI, 1) and cross(myRSI,myThresholdUp) //and time_cond
sell = myAlgoFlipToggle ? rising(myRSI, 1) and cross(myRSI,myThresholdUp) : falling(myRSI,1) and cross(myRSI, myThresholdDn) //and time_cond
myPosition = 0
myPosition := buy==1 ? 0 : sell==1 or myPosition[1]==1 ? 1 : 0
trendColor = buy ? color.red : sell ? color.green : na
plot(myLineToggle ? buy and myPosition[1]==1 ? low - 0.004: sell and myPosition[1]==0 ? high + 0.004 : na : na, color=trendColor, style=plot.style_line, linewidth=4, editable=false)
plotshape(myLabelToggle ? buy and myPosition[1]==1 ? low - 0.005 : na : na, style=shape.labelup, location=location.absolute, text="Buy", transp=0, textcolor = color.white, color=color.black, editable=false)
plotshape(myLabelToggle ? sell and myPosition[1]==0 ? high + 0.005 : na : na, style=shape.labeldown, location=location.absolute, text="Sell", transp=0, textcolor = color.white, color=color.black, editable=false)

strategy.initial_capital = 50000
    //Calculate the size of the next trade
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
risk = input(2,type=input.float,title="Risk %")/100           //risk % per trade
isTwoDigit = input(false,"Is this a 2 digit pair? (JPY, XAU, XPD...")


stop = input(250, title="stop loss pips")
tp = input(2500, title="take profit pips")
if(isTwoDigit)
    stop := stop/100
    
temp01 = balance * risk     //Risk in USD
temp02 = temp01/stop        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = 1
    
strategy.entry("long",1,size,when=buy and myPosition[1]==1 )
strategy.entry("short",0,size,when=sell and myPosition[1]==0)

strategy.exit("exit_long","long",loss=stop, profit=tp)      //Long exit (stop loss)
strategy.exit("exit_short","short",loss=stop, profit=tp)      //Short exit (stop loss)

//strategy.close_all(when= not time_cond)