Stratégie Supertrend basée sur l'Average True Range


Date de création: 2024-01-18 12:26:33 Dernière modification: 2024-01-18 12:26:33
Copier: 1 Nombre de clics: 387
1
Suivre
1227
Abonnés

Stratégie Supertrend basée sur l’Average True Range

Aperçu

Cette stratégie est basée sur l’indicateur de la moyenne de la vraie plage (Average True Range, ATR) pour construire un canal de super-tendance (SuperTrend), générant des signaux d’achat et de vente en fonction du prix de la rupture du canal de super-tendance. La stratégie combine les avantages du suivi de la tendance et de la gestion des arrêts de perte pour suivre efficacement la direction de la tendance.

Principe de stratégie

La trajectoire ascendante et descendante d’un canal hypertrendyque est calculée par la formule suivante:

La trajectoire est la somme de la valeur maximale et la valeur minimale de l’option 2 + ATR (n) * facteur La trajectoire descendante = (le prix le plus élevé + le prix le plus bas) / 2 - ATR (n) * facteur

Dans ce cas, ATR ((n) représente l’amplitude réelle moyenne sur n jours, dont le facteur est un paramètre réglable, par défaut 3。

La stratégie détermine l’entrée et la sortie du marché en fonction des signaux de hausse et de baisse.

Analyse des avantages

  • L’indicateur ATR est utilisé pour déterminer la portée des canaux en fonction de l’amplitude du marché et pour suivre efficacement les tendances.
  • Le passage à l’étranger est un moyen d’éviter les faux-pas.
  • La portée du canal peut être ajustée en fonction des paramètres de facteur pour s’adapter à différents marchés de volatilité
  • Avantages de l’intégration du suivi des tendances et de la gestion des pertes

Analyse des risques

  • Une mauvaise configuration des paramètres des facteurs peut entraîner un profit insuffisant ou un stop-loss excessif.
  • Les signaux de transaction émis par les canaux hypertrend sont fréquents en période de turbulences et peuvent entraîner une survente des transactions.
  • Besoin d’optimiser la correspondance des paramètres ATR avec les paramètres facteurs

Comment gérer les risques:

  • Facteurs d’ajustement pour différents marchés afin de réduire le risque de stop-loss trop serré
  • Augmentation du filtrage conditionnel pour éviter des transactions fréquentes dans les marchés en crise
  • Facteurs tels que la volatilité du marché, le temps de détention, etc. sont pris en compte pour faire correspondre le cycle ATR

Direction d’optimisation

  • Les signaux de filtrage, combinés à d’autres indicateurs, optimisent le timing de l’entrée
  • Augmentation du suivi mobile des arrêts de perte afin de dégager plus de profits
  • Optimisation des variétés et des paramètres de cycle
  • Optimiser la correspondance des cycles ATR avec les paramètres de facteur

Résumer

Cette stratégie utilise le canal hypertrend pour réaliser le suivi des tendances et la gestion des pertes. La correspondance des paramètres ATR et des facteurs est essentielle à l’efficacité de la stratégie. La prochaine étape consiste à optimiser davantage la stratégie en termes d’optimisation des paramètres, de filtrage des signaux, etc., afin de l’adapter à un environnement de marché plus complexe.

Code source de la stratégie
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Backtest", shorttitle="STBT", overlay=true)

// Input for ATR Length
atrLength = input.int(10, title="ATR Length", minval=1)
atrFactor = input.float(3.0, title="Factor", minval=0.01, step=0.01)

// Calculate SuperTrend
[supertrend, direction] = ta.supertrend(atrFactor, atrLength)
supertrend := barstate.isfirst ? na : supertrend

// Define entry and exit conditions
longCondition = ta.crossover(close, supertrend)
shortCondition = ta.crossunder(close, supertrend)

// Plot the SuperTrend
plot(supertrend, color=color.new(color.blue, 0), title="SuperTrend")

// Plot Buy and Sell signals
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Strategy Entry and Exit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)