Estrategia parabólica SAR de suspensión de pérdidas

El autor:¿ Qué pasa?, Fecha: 2023-09-16 18:54:28
Las etiquetas:

Resumen general

La estrategia de stop loss de seguimiento de Parabolic SAR es una estrategia comercial basada en el indicador Parabolic SAR. Su objetivo es identificar puntos de inversión de tendencia y posiciones de salida de manera oportuna cuando la tendencia se invierte.

Estrategia lógica

El indicador parabólico SAR puede identificar tendencias de precios y dar señales de reversión potenciales.

Basándose en esta característica del indicador SAR parabólico, esta estrategia identifica inversiones de tendencia cuando el punto SAR cruza el candelabro, y hace entradas largas o cortas correspondientes.

  1. Calcular los valores SAR parabólicos.

  2. Determine si hay una señal de inversión de tendencia. Si el punto SAR cruza de arriba a abajo del candelabro, representa una señal bajista, vaya corto; si el punto SAR cruza de abajo a arriba del candelabro, representa una señal alcista, vaya largo.

  3. Introduzca una posición cuando se produzca el cruce y salga de la posición con un stop loss cuando el punto SAR cruce el candelabro en la dirección opuesta nuevamente.

Ventajas

  • Utiliza el indicador SAR parabólico para identificar los puntos de inversión de tendencia, evitando el comercio contra la tendencia.

  • Entra en posiciones rápidamente cuando se identifican señales de reversión, capturando los cambios de tendencia.

  • Establece el stop loss en el punto de cruce SAR para paradas rápidas y control de pérdidas oportuno.

  • Una lógica estratégica simple y clara, fácil de implementar.

Riesgos y mitigación

  • El indicador SAR parabólico puede generar muchas señales falsas, causando operaciones innecesarias.

  • Es propenso a ser golpeado en los mercados rápidamente invertidos.

  • Si el stop loss está demasiado cerca, puede dar lugar a paradas excesivas.

  • La dependencia de un único indicador hace que la estrategia sea susceptible a limitaciones específicas del mercado.

Conclusión

La estrategia de stop loss parabólica utiliza la capacidad de identificación de tendencias del indicador para detener rápidamente y revertir la dirección cuando las tendencias se invierten. La lógica de la estrategia es simple y clara. Sin embargo, la dependencia solo del indicador parabólico SAR tiene limitaciones. En la práctica, se deben considerar las condiciones del mercado, ajustar los parámetros en consecuencia y combinar otros indicadores técnicos para mejorar el rendimiento.


/*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)

Más.