
Este artículo presenta una estrategia de seguimiento de reversión de la dinámica basada en el indicador Parabolic SAR. Esta estrategia utiliza el indicador Parabolic SAR para identificar reversiones de tendencias potenciales en el mercado de futuros de Nifty y automatizar las operaciones de seguimiento de tendencias.
La estrategia se aplica principalmente a los operadores que prefieren métodos de negociación sistematizados, ya que proporciona una señal clara de entrada y salida. Al capturar las tendencias del mercado, la estrategia ayuda a alcanzar los objetivos financieros de los operadores.
La estrategia utiliza el indicador Parabolic SAR para determinar la dirección de la tendencia de los precios. En una tendencia alcista, el valor del SAR está por debajo de la ruptura de los precios y sube gradualmente con la aparición de nuevos máximos; en una tendencia bajista, el valor del SAR está por encima de la ruptura de los precios y sube gradualmente con la aparición de nuevos mínimos.
Cuando el SAR sube o desciende en el precio, la estrategia se abre o abre en consecuencia para capturar la nueva dirección de la tendencia.
En concreto, después de calcular inicialmente el valor del SAR actual y el factor de aceleración, la estrategia sigue el seguimiento continuo de los nuevos altos o bajos de los precios y ajusta el valor del SAR en consecuencia. En la línea K confirmada, si es una tendencia alcista, se hace un descuento por debajo del valor del SAR; si es una tendencia bajista, se hace un descuento por encima del valor del SAR.
La estrategia ofrece un sistema de negociación que captura el cambio de tendencia del mercado utilizando la automatización del indicador Parabolic SAR. Proporciona una señal clara de salida y salida para la toma de decisiones comerciales y ayuda a seguir la tendencia.
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Positional Parabolic SAR Strategy", overlay=true)
initial = input(0.02)
step = input(0.02)
cap = input(0.2)
var bool isUptrend = na
var float Extremum = na
var float SARValue = na
var float Accelerator = initial
var float futureSAR = na
if bar_index > 0
isNewTrendBar = false
SARValue := futureSAR
if bar_index == 1
float pastSAR = na
float pastExtremum = na
previousLow = low[1]
previousHigh = high[1]
currentClose = close
pastClose = close[1]
if currentClose > pastClose
isUptrend := true
Extremum := high
pastSAR := previousLow
pastExtremum := high
else
isUptrend := false
Extremum := low
pastSAR := previousHigh
pastExtremum := low
isNewTrendBar := true
SARValue := pastSAR + initial * (pastExtremum - pastSAR)
if isUptrend
if SARValue > low
isNewTrendBar := true
isUptrend := false
SARValue := math.max(Extremum, high)
Extremum := low
Accelerator := initial
else
if SARValue < high
isNewTrendBar := true
isUptrend := true
SARValue := math.min(Extremum, low)
Extremum := high
Accelerator := initial
if not isNewTrendBar
if isUptrend
if high > Extremum
Extremum := high
Accelerator := math.min(Accelerator + step, cap)
else
if low < Extremum
Extremum := low
Accelerator := math.min(Accelerator + step, cap)
if isUptrend
SARValue := math.min(SARValue, low[1])
if bar_index > 1
SARValue := math.min(SARValue, low[2])
else
SARValue := math.max(SARValue, high[1])
if bar_index > 1
SARValue := math.max(SARValue, high[2])
futureSAR := SARValue + Accelerator * (Extremum - SARValue)
if barstate.isconfirmed
if isUptrend
strategy.entry("ShortEntry", strategy.short, stop=futureSAR, comment="ShortEntry")
strategy.cancel("LongEntry")
else
strategy.entry("LongEntry", strategy.long, stop=futureSAR, comment="LongEntry")
strategy.cancel("ShortEntry")
plot(SARValue, style=plot.style_cross, linewidth=3, color=color.white)
plot(futureSAR, style=plot.style_cross, linewidth=3, color=color.red)