Stratégie de suivi dynamique des tendances des vagues

EMA SMA HLC MA
Date de création: 2024-12-20 16:17:27 Dernière modification: 2024-12-20 16:17:27
Copier: 3 Nombre de clics: 413
1
Suivre
1617
Abonnés

Stratégie de suivi dynamique des tendances des vagues

Aperçu

La stratégie est un système de trading quantitatif basé sur les indicateurs WaveTrend et le suivi des tendances. Elle forme un cadre de décision de trading complet en combinant les indicateurs WaveTrend avec des moyennes mobiles. La stratégie utilise les EMA et les SMA pour calculer la valeur de la tendance des vagues et la tendance globale du marché, identifier les points de retournement du marché en définissant des seuils de survente et de survente, et améliorer la précision des transactions en combinaison avec des filtres de tendance.

Principe de stratégie

La stratégie est centrée sur les étapes suivantes:

  1. Comptez d’abord le prix moyen HLC (la moyenne des prix les plus élevés, les plus bas et les plus bas)
  2. L’EMA est utilisée pour lisser la moyenne des HLC pour obtenir la ligne ESA
  3. Calculer l’écart entre la moyenne HLC et les lignes de l’ESA et l’appliquer à l’EMA
  4. Calculer la valeur de K sur la base de l’écart et obtenir la ligne TCI finale par un doublement de l’EMA
  5. Utilisation de la SMA pour calculer une ligne de tendance à long terme comme filtre de tendance
  6. Un signal de transaction est généré lorsque la ligne TCI dépasse le niveau de survente et correspond à la direction de la tendance

Avantages stratégiques

  1. Signal fiable: réduit efficacement les faux signaux en combinant l’indicateur WaveTrend et le filtre de tendance
  2. Contrôle des risques: des seuils de survente et de survente clairs pour aider à arrêter les pertes en temps opportun
  3. Adaptabilité: les paramètres de la stratégie peuvent être ajustés de manière flexible en fonction des différentes conditions du marché
  4. La logique d’opération est claire: les conditions d’entrée et de sortie sont claires et faciles à exécuter
  5. Analyse intégrée: la stabilité des transactions est améliorée en tenant compte des fluctuations à court terme et des tendances à long terme

Risque stratégique

  1. Risque de renversement de tendance: un retard possible dans un marché très volatil
  2. Sensibilité des paramètres : différentes combinaisons de paramètres peuvent conduire à des résultats complètement différents
  3. Adaptation du marché: une fréquence de transactions est possible dans un marché instable
  4. Gestion des fonds: un contrôle raisonnable des positions est nécessaire pour faire face aux fluctuations du marché
  5. La dépendance à la technologie: les indicateurs de dépendance à la technologie peuvent négliger des facteurs fondamentaux

Orientation de l’optimisation de la stratégie

  1. Ajout d’un filtre sur la volatilité: ajustement de la marge de négociation en période de forte volatilité
  2. Introduction de l’analyse multi-périodes: amélioration de la précision des signaux combinant différentes périodes de temps
  3. Adaptation des paramètres d’optimisation: les paramètres de l’indicateur sont ajustés en fonction de la dynamique du marché
  4. Amélioration de l’arrêt de freinage: augmentation du mécanisme de freinage dynamique
  5. Ajout de confirmation de la quantité d’acheminement: analyse de la quantité d’acheminement combinée pour améliorer la fiabilité du signal

Résumer

La stratégie a construit un système de trading robuste en combinant habilement les indicateurs WaveTrend et les filtres de tendance. La stratégie permet une analyse complète du marché tout en conservant la simplicité d’opération. Bien qu’il existe un certain risque, la stratégie a une bonne valeur pratique et un bon potentiel de développement grâce à une gestion raisonnable du risque et une optimisation continue.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mojomarv

//@version=6
strategy("WaveTrend with Trend Filter", shorttitle="WaveTrend Trend", overlay=false, initial_capital = 100000)

// Inputs for the WaveTrend indicator
inputLength = input.int(10, title="Channel Length", minval=1)
avgLength = input.int(21, title="Average Length", minval=1)
obLevel = input.float(45, title="Overbought Level")
osLevel = input.float(-45, title="Oversold Level")
showSignals = input.bool(true, title="Show Buy/Sell Signals")

// Trend filter input
maLength = input.int(500, title="Trend MA Length", minval=1)

// Calculate WaveTrend values
hlc_avg = (high + low + close) / 3  // Renamed from hlc3 to hlc_avg
esa = ta.ema(hlc_avg, inputLength)
d = ta.ema(math.abs(hlc_avg - esa), inputLength)
k = (hlc_avg - esa) / (0.015 * d)
ci = ta.ema(k, avgLength)
tci = ta.ema(ci, avgLength)

// Moving average for trend detection
trendMA = ta.sma(close, maLength)

// Determine trend
bullishTrend = close > trendMA
bearishTrend = close < trendMA

// Generate signals with trend filter
crossUp = ta.crossover(tci, osLevel)
crossDown = ta.crossunder(tci, obLevel)

// Plot WaveTrend
plot(tci, title="WaveTrend Line", color=color.new(color.blue, 0), linewidth=2)
hline(obLevel, "Overbought", color=color.red, linestyle=hline.style_dotted)
hline(osLevel, "Oversold", color=color.green, linestyle=hline.style_dotted)
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_solid)

// Plot moving average for trend visualization
plot(trendMA, title="Trend MA", color=color.orange, linewidth=1)

// Plot buy and sell signals
plotshape(showSignals and crossUp, title="Buy Signal", location=location.belowbar, style=shape.labelup, color=color.new(color.green, 0), size=size.small)
plotshape(showSignals and crossDown, title="Sell Signal", location=location.abovebar, style=shape.labeldown, color=color.new(color.red, 0), size=size.small)

// Alerts
alertcondition(crossUp, title="Buy Alert", message="WaveTrend Buy Signal (Trend Confirmed)")
alertcondition(crossDown, title="Sell Alert", message="WaveTrend Sell Signal (Trend Confirmed)")
alertcondition(bullishTrend, title="bull", message="WaveTrend Sell Signal (Trend Confirmed)")
alertcondition(bearishTrend, title="bear", message="WaveTrend Sell Signal (Trend Confirmed)")

// Strategy logic
if crossUp and bullishTrend
    strategy.entry("Long", strategy.long)

if crossDown
    strategy.close("Long")

if crossDown and bearishTrend
    strategy.entry("Short", strategy.short)

if crossUp
    strategy.close("Short")