SuperTrend et stratégie de suivi de la tendance basée sur DEMA

Auteur:ChaoZhang est là., Date: 2023-12-08 16:42:14 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie combine l'indicateur SuperTrend et l'indicateur DEMA pour mettre en œuvre une tendance suivant la stratégie de trading. Elle génère des signaux d'achat lorsque le prix franchit la bande supérieure et des signaux de vente lorsque le prix franchit la bande inférieure. L'indicateur DEMA est utilisé pour filtrer les faux signaux. Cette stratégie fonctionne bien pour les marchés en tendance et peut suivre efficacement les tendances et filtrer les consolidations.

La logique de la stratégie

Le noyau de cette stratégie repose sur l'indicateur SuperTrend pour déterminer la direction de tendance des prix. L'indicateur SuperTrend intègre l'indicateur ATR et peut identifier efficacement les tendances des prix. Lorsque les prix augmentent, une bande supérieure se formera, et lorsque les prix baissent, une bande inférieure se formera. Une rupture de la bande inférieure signale un renversement de tendance et génère un signal d'achat. Une rupture de la bande supérieure signale un renversement de tendance et génère un signal de vente.

Pour filtrer les faux signaux, cette stratégie intègre également l'indicateur DEMA. Les signaux d'achat ne sont générés que lorsque les prix franchissent la bande supérieure et sont au-dessus de la ligne DEMA. Les signaux de vente ne sont générés que lorsque les prix franchissent la bande inférieure et sont en dessous de la ligne DEMA. Cela filtre efficacement les faux signaux sur les marchés en évolution.

Plus précisément, la logique des signaux de négociation est la suivante:

  1. Une rupture de la bande inférieure indique un renversement de tendance et génère un signal d'achat.
  2. Une rupture de la bande supérieure indique un renversement de tendance et génère un signal de vente.
  3. Un signal d'achat réel n'est généré que lorsque le signal d'achat apparaît et que le prix est au-dessus de la ligne DEMA.
  4. Un signal de vente réel n'est généré que lorsque le signal de vente apparaît et que le prix est en dessous de la ligne DEMA.

Grâce à cette conception logique, la stratégie peut suivre les tendances des marchés en évolution et éviter d'ouvrir fréquemment des positions sur des marchés variables.

Les avantages de la stratégie

  • Combine les avantages des indicateurs SuperTrend et DEMA pour réaliser le suivi des tendances et le filtrage des signaux.
  • Facile à optimiser les paramètres de SuperTrend pour différents produits et délais.
  • Il est simple d'optimiser les paramètres DEMA sans tests répétés.
  • Convient pour les marchés en tendance, peut suivre les tendances efficacement.
  • Les faux signaux dans les marchés variés sont filtrés par l'indicateur DEMA.
  • Une logique simple et facile à comprendre et à modifier.

Risques liés à la stratégie

  • Ne peut pas gérer les fluctuations de prix extrêmes bien.
  • Il peut y avoir des pertes en cas d'inversion des tendances.
  • Les paramètres DEMA inappropriés peuvent manquer les meilleurs points d'entrée/sortie.
  • Les paramètres de SuperTrend inappropriés tels que la période ATR peuvent générer de faux signaux.

Gestion des risques:

  • Optimisez les paramètres DEMA et SuperTrend.
  • Utilisez des ordres stop-loss pour limiter les pertes.
  • Ajouter des mécanismes de confirmation aux points clés pour éviter les faux signaux.

Les domaines d'amélioration

La stratégie peut être améliorée par les aspects suivants:

  1. Optimisation des paramètres de SuperTrend: tester différentes combinaisons de périodes ATR pour trouver les paramètres optimaux.

  2. Optimisation des paramètres DEMA. Testez différentes valeurs pour déterminer les paramètres optimaux.

  3. Ajoutez un mécanisme de stop-loss, réglez le stop-loss en fonction des valeurs ATR pour éviter les arrêts surdimensionnés.

  4. Ajoutez des filtres de signaux. Augmentez la confirmation d'autres indicateurs à des points clés pour éviter de faux signaux. Par exemple, ajoutez la confirmation du volume à des points d'inversion de tendance.

  5. Améliorer la taille des positions, en ajustant dynamiquement les tailles en fonction de la volatilité et des risques du marché.

Conclusion

Cette stratégie combine les atouts des indicateurs SuperTrend et DEMA pour mettre en œuvre une stratégie de trading quantitative basée sur le suivi des tendances et le filtrage des signaux.


/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Krish\'s Supertrend Strategy', overlay=true)

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

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

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

dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.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.new(color.green, 0))
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.new(color.green, 0))
plotshape(buySignal and showsignals ? up : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))

dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
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.new(color.red, 0))
plotshape(sellSignal and showsignals ? dn : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))

// DEMA Settings
dema_length = 200
dema = ta.ema(close, dema_length)

// Long and Short Conditions
longCondition = buySignal and close > dema
shortCondition = sellSignal and close < dema

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

strategy.close('Long', when=ta.change(trend) or close < dema)
strategy.close('Short', when=ta.change(trend) or close > dema)

// Plotting
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, transp=90)
fill(mPlot, dnPlot, title='DownTrend Highlighter', color=shortFillColor, transp=90)

// Alerts (using plotshape for alerts in strategies)
plotshape(buySignal, title='SuperTrend Buy', color=color.new(color.green, 0), style=shape.triangleup, size=size.small)
plotshape(sellSignal, title='SuperTrend Sell', color=color.new(color.red, 0), style=shape.triangledown, size=size.small)
changeCond = trend != trend[1]
plotshape(changeCond, title='SuperTrend Direction Change', color=color.new(color.yellow, 0), style=shape.triangleup, size=size.small)




Plus de