Stratégie d'inversion SAR parabolique

Auteur:ChaoZhang est là., Date: le 18 septembre 2023 21:59:08
Les étiquettes:

Résumé

Cette stratégie se base sur l'indicateur SAR parabolique qui identifie les points de renversement potentiels des tendances.

Principaux

Le SAR parabolique est un indicateur de suivi de tendance qui identifie principalement les renversements de tendance.

Lorsque le SAR est en dessous du prix, il représente une tendance haussière.

Lorsque le SAR est au-dessus du prix, il représente une tendance à la baisse.

La stratégie échange simplement le SAR flip comme direction du signal, avec SAR comme stop loss.

Les avantages

  1. Le SAR détecte avec précision les points de revers potentiels.

  2. Le mécanisme de suivi des tendances réduit les faux signaux.

  3. Les SAR agissent comme un arrêt de traîneau, évitant d'être piégés.

  4. Aucun autre indicateur ou filtre n'est requis.

  5. Optimisation de paramètres facile, les paramètres par défaut fonctionnent souvent.

Risques et atténuations

  1. Le SAR peut être utilisé sur les marchés à tendance variable.

  2. Les SAR trop proches du prix risquent d'être touchés.

  3. Le volume est ignoré, risque de divergence.

  4. Les retraits peuvent être importants, la taille appropriée des positions est essentielle.

  5. Les revers ne sont pas toujours couronnés de succès. Une confirmation peut être nécessaire.

Des possibilités d'amélioration

  1. Testez si les paramètres SAR peuvent être améliorés.

  2. Ajoutez des indicateurs comme le MACD pour confirmer la probabilité d'inversion.

  3. Construisez un mécanisme d'arrêt dynamique.

  4. Optimiser le dimensionnement de la position d'entrée pour tirer parti des signaux SAR.

  5. Des recherches ajoutant une logique de confirmation inverse.

Résumé

La stratégie consiste à négocier des points de renversement potentiels identifiés par SAR, en effectuant des transactions lorsque le prix du SAR change. Les avantages incluent des arrêts de traîneau pour éviter les pièges. Mais le timing du SAR peut être inexact et nécessite un raffinement.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Parabolic SAR Strategy", overlay=true)

// 
// author: Kozlod
// date: 2018-09-03
// https://www.tradingview.com/u/Kozlod/
// 

start = input(0.02)
increment = input(0.02)
maximum = input(0.2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2018, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2019, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

psar = sar(start, increment, maximum)

// Signals
psar_long  = high[1] < psar[2] and high > psar[1] 
psar_short = low[1]  > psar[2] and low  < psar[1] 

// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)


if (psar >= high and time_cond)
    strategy.entry("ParLE", strategy.long, stop=psar, comment="ParLE")
else
    strategy.cancel("ParLE")

if (psar <= low and time_cond)
    strategy.entry("ParSE", strategy.short, stop=psar, comment="ParSE")
else
    strategy.cancel("ParSE")

if (not time_cond)
    strategy.close_all()


Plus de