Indicateur de momentum et stratégie de trading combinée SuperTrend


Date de création: 2023-12-27 16:37:58 Dernière modification: 2023-12-27 16:37:58
Copier: 0 Nombre de clics: 914
1
Suivre
1621
Abonnés

Indicateur de momentum et stratégie de trading combinée SuperTrend

Une vue d’ensemble de la stratégie

Cette stratégie est appelée stratégie de trading combinant les indicateurs de dynamique et les indicateurs de SuperTrend. L’idée principale de cette stratégie est de combiner les indicateurs de dynamique et les indicateurs de SuperTrend, en utilisant les avantages des deux indicateurs pour des entrées et des sorties plus précises.

Plus précisément, l’indicateur de dynamique est utilisé pour juger de l’accélération ou de la décélération du mouvement des prix, pour juger des changements de tendance. Le SuperTrend est utilisé pour juger si les prix ont franchi le canal de la hausse ou de la baisse, pour juger des changements de tendance. La combinaison des deux permet de capturer plus précisément les virages de tendance.

Deuxièmement, les détails de la stratégie

  1. Partie de l’indicateur de puissance

Calculer la valeur de la dynamique de N jours du prix et calculer la dynamique de 1 jours de la valeur de la dynamique. Lorsque la dynamique de N jours est supérieure à 0 et la dynamique de 1 jours est supérieure à 0, le signal est plus; lorsque la dynamique de N jours est inférieure à 0 et la dynamique de 1 jours est inférieure à 0, le signal est vide.

  1. Partie de l’indicateur SuperTrend

Calculez la valeur ATR du prix et tracez les lignes de canal de hausse et de canal de baisse en fonction de l’ATR. Faites un signal de plus lorsque le prix franchit le canal de hausse en bas et un signal de moins lorsque le prix franchit le canal de baisse en haut.

  1. entry logic

Les signaux de multiplication de l’indicateur de dynamique et les signaux de multiplication de SuperTrend sont combinés pour former le signal de multiplication d’entrée final. Les signaux de dépréciation de l’indicateur de dynamique et les signaux de dépréciation de SuperTrend sont combinés pour former le signal d’entrée finale.

Troisièmement, analyser les forces stratégiques

  1. L’indicateur de dynamique est utilisé pour déterminer l’accélération ou la décélération du mouvement des prix et pour capturer les points de basculement de la tendance.

  2. L’indicateur de SuperTrend est utilisé pour déterminer les canaux de rupture et pour capturer les points de rupture.

  3. Les deux indicateurs sont mutuellement vérifiables, ce qui réduit les faux signaux et améliore l’exactitude des entrées.

  4. La logique d’exit, combinée à deux indicateurs, permet de suivre la tendance et d’éviter une sortie prématurée.

Quatrièmement, analyse stratégique des risques

  1. Une mauvaise configuration des paramètres de l’indicateur de la dynamique de N jours peut entraîner la perte d’un point de basculement de tendance.

  2. Les paramètres de SuperTrend sont mal réglés, les canaux sont mal tracés et peuvent générer de faux signaux.

  3. Les deux indicateurs se vérifient mutuellement, et il est possible que certaines opportunités soient manquées.

  4. Il est nécessaire d’ajuster la combinaison de paramètres pour trouver la paire de paramètres optimale et exploiter au maximum le potentiel de la stratégie.

Les solutions sont les suivantes:

  1. L’analyse de marche-avant est utilisée pour trouver les paramètres optimaux.

  2. Ajout d’un module d’optimisation des paramètres, optimisation en temps réel des paramètres.

  3. La logique combinée des deux indicateurs est adaptée et prise en compte dans son intégralité.

Cinquièmement, améliorer la stratégie

  1. Ajout de modules d’optimisation d’adaptation des paramètres pour qu’ils s’adaptent en temps réel à l’environnement du marché

  2. Ajout de modèles d’apprentissage automatique pour aider à juger de l’exactitude des signaux de mesure

  3. Élargissement de l’indicateur pour constituer un ensemble d’indicateurs et générer des signaux d’entrée à l’aide du mécanisme de vote

  4. Utilisez des modèles d’apprentissage en profondeur pour remplacer les indicateurs traditionnels et déterminez les moments d’entrée et de sortie avec une méthode basée sur les données

VI. Conclusion

Cette stratégie utilise les avantages de l’indicateur de dynamique et de l’indicateur SuperTrend pour améliorer l’exactitude de l’entrée grâce à la double vérification et pour déterminer le moment de la sortie. Comparé à l’utilisation d’un seul indicateur, il est possible de réduire les faux signaux et d’obtenir un taux de victoire plus élevé.

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

//@version=4
strategy("Momentum + SuperTrend Strategy", overlay=true)

// Momentum Strategy
length = input(12)
price = close
momentum(seria, length) =>
    mom = seria - seria[length]
    mom
mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)
momLongCondition = mom0 > 0 and mom1 > 0
momShortCondition = mom0 < 0 and mom1 < 0

// SuperTrend Strategy
Periods = input(10)
Multiplier = input(3.0)
changeATR = input(true)
src = input(hl2)
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
buySignal = trend == 1 and trend[1] == -1
sellSignal = trend == -1 and trend[1] == 1

// Combined Entry Conditions
longCondition = momLongCondition and buySignal
shortCondition = momShortCondition and sellSignal

// Strategy Entries
if (longCondition)
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

if (shortCondition)
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

// Plot SuperTrend on the chart
upPlot = plot(trend == 1 ? up : na, title="SuperTrend Up", color=color.green, linewidth=2)
dnPlot = plot(trend == -1 ? dn : na, title="SuperTrend Down", color=color.red, linewidth=2)

// Highlight the SuperTrend region
fill(upPlot, dnPlot, color = trend == 1 ? color.new(color.green, 90) : color.new(color.red, 90), title="SuperTrend Highlight")

// Plot SuperTrend Buy/Sell signals on the chart
plotshape(series=buySignal, title="SuperTrend Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="SuperTrend Sell Signal", color=color.red, style=shape.triangledown, size=size.small)
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © naveen1119