Este artículo presenta una estrategia de seguimiento de reversión de impulso basada en el indicador Parabolic Stop and Reverse (SAR). Esta estrategia utiliza el indicador Parabolic SAR para identificar posibles inversiones de tendencia en el mercado de futuros Nifty para el comercio automatizado de seguimiento de tendencias.
La estrategia es principalmente adecuada para los operadores que prefieren un enfoque de negociación sistemático, proporcionando señales claras de entrada y salida.
La estrategia utiliza el indicador SAR Parabólico para determinar la dirección de la tendencia del precio. En una tendencia alcista, el valor SAR está por debajo del precio y se mueve gradualmente hacia arriba a medida que ocurren nuevos máximos; en una tendencia bajista, el valor SAR está por encima del precio y se mueve gradualmente hacia abajo a medida que ocurren nuevos mínimos.
Cuando el valor SAR se cruza por encima o por debajo del precio, indica una posible inversión de tendencia y la estrategia tomará posiciones cortas o largas correspondientes para capturar la nueva dirección de la tendencia.
Específicamente, después de calcular inicialmente el valor SAR actual y el factor de aceleración, la estrategia sigue rastreando nuevos máximos / mínimos y ajusta el valor SAR en consecuencia.
La estrategia proporciona un sistema automatizado para capturar las reversiones de tendencia del mercado utilizando el indicador Parabolic SAR. Da señales claras de entrada y salida para las decisiones comerciales, ayudando a obtener ganancias del seguimiento de tendencias. Pero problemas como señales falsas, riesgos de stop loss también necesitan atención. Con la optimización continua, tiene el potencial de convertirse en un método de seguimiento de tendencias confiable.
/*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)