La estrategia de seguimiento de reversión, basada en el indicador de reversión de pérdidas de la línea de paralelo de la barra y el indicador de reversión del índice de fuerza relativa de la barra, genera una señal de negociación mediante la identificación de una ruptura en el precio. Cuando el precio rompe la línea de tendencia ascendente o descendente, la estrategia emite una señal de negociación y toma una posición opuesta.
La estrategia se basa en dos indicadores técnicos:
Parabolic SAR: El indicador traza una línea parabólica que actúa como una línea de parada dinámica. Cuando el precio rompe la línea, la posición y la dirección de la línea de parada se reajustan, lo que genera una señal de compra o venta.
Indicador de fuerza relativa (RSI): refleja la velocidad y el cambio de los altibajos de los precios durante un período de tiempo. Cuando el RSI está por encima de la línea de superación de compra, es una zona de superación de compra, y cuando está por debajo de la zona de superación de venta.
Concretamente, la estrategia se basa en los valores iniciales, la longitud de los pasos y el valor máximo de la inversión de la parada de pérdida de la línea de parálisis que se establece por la entrada del usuario. Luego, se determina el momento de comprar y vender en función de si el precio rompe la línea de parálisis:
Al mismo tiempo, la estrategia también monitorea el indicador RSI para determinar si se encuentra en una zona de sobreventa o sobreventa. Cuando el RSI entra en una zona de sobreventa, se elimina la posición de ventajas; cuando el RSI entra en una zona de ventajas, se elimina la posición de ventajas.
La combinación de la señal de inversión de la línea de parálisis y la señal de filtración RSI, la estrategia puede hacer el contrario en el momento en que el precio se invierte, para lograr el objetivo de comprar y vender.
La estrategia de rastreo inverso tiene las siguientes ventajas:
Capture Price Reversal - Utiliza brechas para generar señales de reversión y puede hacer operaciones en reversa en el momento en que el precio se mueve para capturar oportunidades de reversión.
Dynamic Stop Loss - La línea de paralización actúa como un stop móvil que puede ajustar la posición de parada en función de la movilidad de los precios en tiempo real, lo que permite la protección de ganancias.
Adaptabilidad - los parámetros de la estrategia se pueden ajustar para adaptarse a diferentes entornos de mercado.
RSI Filter - El indicador RSI puede filtrar las falsas rupturas, evitando que se pierda la operación de retroceso cuando no se invierte.
Easy to Implement (fácil de implementar) - Utiliza indicadores simples, poco código, fácil de implementar y de retroceder.
La estrategia también tiene los siguientes riesgos:
Whipsaw Risk - Si la falsa ruptura produce una señal errónea de inversión de pérdidas, se producen pérdidas repetidas.
Over Optimization - Optimización de los parámetros de la estrategia puede ser exceso de ajuste de datos y perder robustez.
No Fundamental Basis - Unos indicadores puramente técnicos que ignoran la información básica.
Ignore Transaction Costs - Las transacciones repetidas aumentan el costo de las transacciones.
Subject to Price Gaps - Los altibajos en los precios pueden desencadenar una reversión errónea de la parálisis.
La estrategia puede ser optimizada en los siguientes aspectos:
Combine with other indicators - Combine con otros indicadores para confirmar la señal de ruptura y evitar la falsa ruptura. Por ejemplo, agregue el indicador de volumen de transacción.
Parameter tuning - Optimización de la prueba de los parámetros indicadores para encontrar la mejor combinación de parámetros.
Position sizing - Ajuste el tamaño de la posición según las condiciones del mercado, control del riesgo.
Comerciar sólo en niveles significativos - Comerciar sólo cerca de las posiciones de resistencia de apoyo clave, evitando ser demasiado frecuente.
Consider fundamentals - Añade los elementos fundamentales para evitar ir en contra de las grandes tendencias.
La estrategia de seguimiento de reversión forma una señal de negociación a través de la reversión de la parada de pérdidas y el indicador RSI de la parálisis, para capturar oportunidades de reversión en los puntos de inflexión de precios. La estrategia ajusta dinámicamente los paros y capta las ganancias de las brechas. Pero también existe el riesgo de seguir el ruido.
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// strategy("SARSI",overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0675, initial_capital = 10000, currency = currency.USD, calc_on_order_fills = true, calc_on_every_tick = true)
//study("SARSI",overlay = true)
src = input(close, title="Source")
len = input(14, minval=1, title="Length")
rob = input(title="RSI Overbought Level", defval=82, minval=1, maxval=100)
ros = input(title="RSI Oversold Level", defval=21, minval=1, maxval=100)
start = input(title="SAR Start", defval=0.007, minval=0.001, maxval=10)
inc = input(title="SAR Increment", defval=0.017, minval=0.001, maxval=100)
max = input(title="SAR Maximum", defval=0.24, minval=0.01, maxval=10)
asar = sar(start,inc,max)
xrsi = rsi(close,len)
date = timestamp(2018, 8, 1, 00, 00)
up = crossunder(asar,src)
dn = crossover(asar,src)
//ob = crossunder(xrsi,rob)
//os = crossover(xrsi,ros)
strategy.entry("long", strategy.long, when=up and time>=date, comment="Long")
strategy.entry("short", strategy.short, when=dn and time>=date, comment="Short")
//strategy.close("long", when=ob)
//strategy.close("short", when=os)
alertcondition(up, "Long", "Long Msg")
alertcondition(dn, "Short", "Short Msg")
//uptrend=plotshape(up,"uptrend",shape.triangleup,color=#48A498,transp=0, size = size.tiny, location = location.belowbar,text="฿")
//downtrend=plotshape(dn,"downtrend",shape.triangledown,color=#E25655,transp=0, size = size.tiny, location = location.abovebar,text="$")
//plotshape(ob,"overbuy",shape.triangleup,color=#48A498,transp=0, size = size.small, location = location.belowbar,text="0฿")
//plotshape(os,"oversell",shape.triangledown,color=#E25655,transp=0, size = size.small, location = location.abovebar,text="0$")
plot(asar, style=cross, color=gray, transp=0, linewidth=1, title="SAR")