La estrategia de seguimiento de pérdidas de la esfera parabólica SAR es una estrategia de negociación basada en el indicador parabólico SAR. La estrategia tiene como objetivo identificar el punto de reversión de la tendencia y salir de la posición de pérdidas en el momento en que la tendencia se revuelve.
El indicador Parabolic SAR es capaz de identificar la tendencia de los precios y dar una señal potencial de reversión. Cuando el punto SAR cruza la línea K, representa el paso de la cabeza a la cabeza; cuando el punto SAR cruza la línea K, representa el paso de la cabeza a la cabeza.
La estrategia se basa en esta característica del indicador Parabolic SAR, que identifica un cambio de tendencia cuando el SAR cruza la línea K y realiza operaciones de plus o de minus según corresponda. En concreto, la lógica de la estrategia es la siguiente:
Calcula el SAR parabólico.
Para determinar si hay una señal de reversión de tendencia. Si el punto SAR cruza de arriba a abajo de la línea K, representando una señal de cabeza vacía, haga vacío; si el punto SAR cruza de abajo a arriba de la línea K, representando una señal de cabeza múltiple, haga más.
Se abre la posición cuando se produce el cruce y se cierra la posición cuando se cruza nuevamente la línea K en el punto SAR inverso.
Utilice el indicador Parabolic SAR para identificar los puntos de reversión de la tendencia y evitar operaciones de inversión en la tendencia.
El cambio de tendencia es capturado rápidamente cuando se detecta una señal de cambio.
Establezca el punto de parada de SAR para cruzar de nuevo la línea K, para detener rápidamente y controlar las pérdidas a tiempo.
La estrategia es simple, clara y fácil de implementar.
El indicador SAR parabólico puede generar una gran cantidad de falsas señales, lo que provoca transacciones innecesarias. Se pueden ajustar adecuadamente los parámetros del SAR para reducir la tasa de falsas señales.
En un mercado que cambia rápidamente, es fácil ser engañado. Se puede considerar el aumento de las condiciones de filtración para evitar períodos de gran volatilidad.
El punto de parada demasiado cercano puede detenerse con demasiada frecuencia. Se puede relajar adecuadamente el rango de parada para dar un cierto margen de retroceso al precio.
La inclusión de otros indicadores o condiciones de filtración puede considerarse para mejorar la adecuación.
La estrategia parabólica SAR utiliza la capacidad de reconocimiento de tendencias de los indicadores parabólicos SAR para cambiar rápidamente de dirección cuando la tendencia se invierte. La estrategia es simple, clara y fácil de dominar. Sin embargo, la dependencia de un solo indicador parabólico SAR también tiene ciertas limitaciones, que en la aplicación práctica requieren una consideración integral del entorno del mercado, ajustar los parámetros adecuadamente y cooperar con otros indicadores técnicos para lograrlo.
/*backtest
start: 2023-08-16 00:00:00
end: 2023-09-15 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Parabolic SAR Strategy (on close) [QuantNomad]", shorttitle="SAR Strategy [QN]", overlay=true)
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
psar = 0.0 // PSAR
af = 0.0 // Acceleration Factor
trend_dir = 0 // Current direction of PSAR
ep = 0.0 // Extreme point
sar_long_to_short = trend_dir[1] == 1 and close <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long
trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long
// Calculate trend direction
trend_dir := barstate.isfirst[1] and close[1] > open[1] ? 1 :
barstate.isfirst[1] and close[1] <= open[1] ? -1 :
sar_long_to_short ? -1 :
sar_short_to_long ? 1 : nz(trend_dir[1])
// Calculate Acceleration Factor
af := trend_change ? start :
(trend_dir == 1 and high > ep[1]) or
(trend_dir == -1 and low < ep[1]) ?
min(maximum, af[1] + increment) :
af[1]
// Calculate extreme point
ep := trend_change and trend_dir == 1 ? high :
trend_change and trend_dir == -1 ? low :
trend_dir == 1 ? max(ep[1], high) :
min(ep[1], low)
// Calculate PSAR
psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] :
barstate.isfirst[1] and close[1] <= open[1] ? high[1] :
trend_change ? ep[1] :
trend_dir == 1 ? psar[1] + af * (ep - psar[1]) : psar[1] - af * (psar[1] - ep)
plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red, linewidth = 2)
// Strategy
strategy.entry("Long", true, when = sar_short_to_long)
strategy.entry("Short", false, when = sar_long_to_short)