Stratégie SAR parabolique pour arrêter les pertes de suivi

Auteur:ChaoZhang est là., Date: 16 septembre 2023 à 18h54
Les étiquettes:

Résumé

La stratégie d'arrêt de perte de suivi de Parabolic SAR est une stratégie de trading basée sur l'indicateur Parabolic SAR. Elle vise à identifier les points d'inversion de tendance et les positions de sortie en temps opportun lorsque la tendance s'inverse.

La logique de la stratégie

L'indicateur SAR parabolique peut identifier les tendances des prix et donner des signaux d'inversion potentiels. Lorsque le point SAR traverse au-dessus du chandelier, il représente un changement de hausse à baisse; lorsque le point SAR traverse en dessous du chandelier, il représente un changement de baisse à hausse.

Sur la base de cette caractéristique de l'indicateur SAR parabolique, cette stratégie identifie les renversements de tendance lorsque le point SAR traverse le chandelier et effectue les entrées longues ou courtes correspondantes.

  1. Calculer les valeurs SAR paraboliques.

  2. Déterminez s'il y a un signal d'inversion de tendance. Si le point SAR traverse du haut vers le bas du chandelier, il représente un signal baissier, allez court; si le point SAR traverse du bas vers le haut du chandelier, il représente un signal haussier, allez long.

  3. Entrez dans une position lorsque le croisement se produit et quittez la position avec un stop loss lorsque le point SAR traverse à nouveau le chandelier dans la direction opposée.

Les avantages

  • Utilise l'indicateur SAR parabolique pour identifier les points d'inversion de tendance, en évitant de négocier contre la tendance.

  • Entrez rapidement en position lorsque des signaux d'inversion sont identifiés, capturant les changements de tendance.

  • Définit le stop loss au point de croisement SAR pour des arrêts rapides et un contrôle des pertes en temps opportun.

  • Une logique stratégique simple et claire, facile à mettre en œuvre.

Risques et atténuation

  • L'indicateur SAR parabolique peut générer de nombreux faux signaux, provoquant des transactions inutiles.

  • Il est susceptible d'être piégé dans les marchés en forte inversion.

  • Si le stop-loss est trop proche, il peut en résulter des stops excessifs.

  • Le fait de s'appuyer sur un seul indicateur rend la stratégie susceptible de limitations spécifiques au marché.

Conclusion

La stratégie d'arrêt de perte de suivi de Parabolic SAR utilise la capacité d'identification de tendance de l'indicateur Parabolic SAR pour arrêter rapidement et inverser la direction lorsque les tendances s'inversent. La logique de la stratégie est simple et claire. Cependant, la dépendance à l'indicateur Parabolic SAR a des limites.


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

Plus de