Cet article présente une stratégie de suivi de l'inversion de la dynamique basée sur l'indicateur Parabolic Stop and Reverse (SAR). Cette stratégie utilise l'indicateur Parabolic SAR pour identifier les inversions de tendance potentielles sur le marché des contrats à terme Nifty pour le trading automatisé de suivi de tendance.
La stratégie est principalement adaptée aux traders qui préfèrent une approche de trading systématique, fournissant des signaux d'entrée et de sortie clairs.
La stratégie utilise l'indicateur SAR parabolique pour déterminer la direction de la tendance des prix. Dans une tendance haussière, la valeur SAR est inférieure au prix et monte progressivement à mesure que de nouveaux sommets se produisent; dans une tendance baissière, la valeur SAR est supérieure au prix et descend progressivement à mesure que de nouveaux sommets se produisent.
Lorsque la valeur SAR dépasse ou dépasse le prix, elle indique un potentiel renversement de tendance et la stratégie prendra des positions courtes ou longues correspondantes pour capturer la nouvelle direction de la tendance.
Plus précisément, après avoir calculé initialement la valeur actuelle de SAR et le facteur d'accélération, la stratégie suit de nouveaux sommets/baisses et ajuste la valeur SAR en conséquence.
La stratégie fournit un système automatisé pour capturer les renversements de tendance du marché à l'aide de l'indicateur SAR parabolique. Il donne des signaux d'entrée et de sortie clairs pour les décisions de trading, aidant à tirer profit du suivi des tendances. Mais des problèmes tels que les faux signaux, les risques de stop loss nécessitent également une attention. Avec une optimisation continue, il a le potentiel de devenir une méthode de suivi des tendances fiable.
/*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)