Stratégie de suivi de l'inversion de l'élan SAR

Auteur:ChaoZhang est là., Date: 2024-02-04 17:40:20 Le projet de loi est en cours d'adoption.
Les étiquettes:

img

Résumé

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 logique de la stratégie

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.

Analyse des avantages

  • Capture des renversements de marché à l'aide de l'indicateur classique SAR parabolique
  • Fournit des signaux d'entrée et de sortie systématiques clairs
  • Aide à suivre les tendances et à capturer les mouvements de prix supplémentaires
  • Système de négociation automatisé sans prise de décision manuelle

Analyse des risques

  • Les signaux de l'indicateur SAR peuvent ne pas être fiables à 100%, de faux signaux pourraient se produire
  • Les renversements ratés peuvent entraîner un stop loss.
  • Impact de l'expiration du contrat
  • L'impact des coûts de négociation sur la rentabilité de la stratégie

Directions d'optimisation

  • Optimiser les paramètres SAR (étape, valeur initiale, valeur maximale, etc.)
  • Combiner d'autres indicateurs d'inversion (RSI, MACD, etc.) pour confirmer les inversions
  • Ajouter des logiques de condition (volume, etc.) pour filtrer les faux signaux
  • Considérez l'utilisation d'arrêts de trailers au lieu d'arrêts fixes
  • Considérez le dimensionnement de position d' ajustement automatique

Conclusion

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)


Plus de