Stratégie de suivi de tendance basée sur des lignes de super tendance


Date de création: 2023-12-08 17:07:53 Dernière modification: 2023-12-08 17:07:53
Copier: 3 Nombre de clics: 606
1
Suivre
1621
Abonnés

Stratégie de suivi de tendance basée sur des lignes de super tendance

Aperçu

Cette stratégie est une stratégie de suivi de la tendance basée sur l’indicateur de la gamme moyenne de vraie fluctuation (Average True Range, ATR), utilisée pour déterminer la direction de la tendance du marché et donner un signal de négociation. Cette stratégie a à la fois une double fonction de jugement de tendance et de suivi de tendance et peut être utilisée dans des domaines tels que les indices boursiers à terme, les devises étrangères et les monnaies numériques.

Principe de stratégie

La stratégie consiste à calculer l’indicateur ATR sur un certain cycle et à le comparer au prix pour déterminer si le prix est dans le canal de la tendance à la hausse. Plus précisément, la stratégie calcule d’abord l’indicateur ATR, puis construit la montée et la descente en fonction de la valeur ATR multipliée par le facteur.

La clé de cette stratégie est de construire un critère de jugement de la tendance pour dépasser la ligne de tendance. La ligne de tendance est basée sur la dynamique de l’indicateur ATR, capable de filtrer efficacement le bruit du marché et de déterminer la direction de la tendance principale.

Avantages stratégiques

Le plus grand avantage de cette stratégie réside dans sa capacité à combiner la détection de tendances et le suivi des tendances. Plus précisément, les principaux avantages sont:

  1. Les lignes hypertrend construites à l’aide d’ATR permettent d’identifier efficacement les tendances du marché et de filtrer le bruit.
  2. Les lignes de tendance supérieure ont un certain retard qui aide à réduire les signaux erronés.
  3. Il est facile d’utiliser et d’utiliser pour la simulation des tendances et des signaux de trading.
  4. Les paramètres peuvent être optimisés pour un marché plus large.
  5. Les indicateurs visuels permettent de juger de la tendance actuelle.

Analyse des risques

La stratégie présente principalement les risques suivants:

  1. Les paramètres ATR sont mal réglés, ce qui peut entraîner une ligne de tendance hyper sensible ou retardée.
  2. Il n’est pas possible d’éviter complètement les effets du bruit, ce qui peut entraîner des signaux erronés dans certains cas.
  3. La précision de la ligne de tendance est réduite en cas de forte volatilité.
  4. Il n’est pas possible de prédire le point d’inversion, il suffit de suivre les tendances qui se sont déjà produites.

Les mesures peuvent être optimisées en ajustant des paramètres tels que la période ATR, le coefficient de la ligne de tendance supérieure, ou en combinant d’autres indicateurs pour la vérification, ce qui réduit la probabilité d’erreurs. De plus, des points de stop-loss peuvent être définis pour contrôler les pertes individuelles.

Direction d’optimisation

Il y a encore de la place pour optimiser cette stratégie:

  1. L’optimisation automatique des paramètres est réalisée en combinaison avec des algorithmes d’apprentissage automatique.
  2. Ajout d’indicateurs de jugement et de vérification tels que les moyennes mobiles lisses.
  3. Définir une stratégie de stop-loss et d’optimisation de la gestion des fonds
  4. La combinaison d’indicateurs d’humeur et d’analyses d’actualités permet de prédire une éventuelle inversion de tendance.
  5. L’analyse de données historiques plus volumineuses par le biais de l’apprentissage en profondeur améliore la précision des jugements.

L’optimisation en profondeur devrait améliorer encore la stabilité, l’adaptabilité et l’espace de profit des stratégies.

Résumer

Cette stratégie est globalement caractérisée par une stabilité, une fiabilité et un bon rendement. La construction d’une ligne de tendance supérieure pour juger des tendances principales, tout en donnant des signaux de négociation est le plus grand avantage de la stratégie.

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

//@version=4
strategy("Supertrend Strategy", overlay = true)

Periods = input(10, title="ATR Period")
src = input(hl2, title="Source")
Multiplier = input(3.0, title="ATR Multiplier", step=0.1)
changeATR = input(true, title="Change ATR Calculation Method?")
showsignals = input(true, title="Show Buy/Sell Signals?")
highlighting = input(true, title="Highlighter On/Off?")

atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2

up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn

trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)

dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)

longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white

fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!")
alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")