Stratégie de trading quantitative de croisement de moyenne mobile et d'inversion de momentum

EMA VWAP TP/SL 量化交易 趋势跟踪 动量策略 均线交叉 交易系统
Date de création: 2025-06-23 11:04:12 Dernière modification: 2025-07-02 16:21:11
Copier: 1 Nombre de clics: 268
2
Suivre
319
Abonnés

Stratégie de trading quantitative de croisement de moyenne mobile et d’inversion de momentum Stratégie de trading quantitative de croisement de moyenne mobile et d’inversion de momentum

Aperçu

La stratégie de trading quantifiée par le renversement de la dynamique transversale est un système de suivi de la tendance basé sur des règles dont la logique centrale s’articule autour d’une moyenne mobile à 21 cycles ((21 EMA)). La stratégie surveille la relation entre les prix et les 21 EMA, en faisant des gains lorsque les prix se croisent au-dessus de l’équilibre, des pertes lorsque les prix se croisent au-dessous de l’équilibre, et des positions de plafonnement et d’ouverture inversées lorsque les prix se croisent à nouveau. La stratégie comprend également des mécanismes de contrôle des risques tels que des paramètres personnalisés pour le passage des périodes de négociation, des arrêts et des arrêts de perte, des limites de nombre maximal de transactions par jour et le verrouillage automatique des transactions après le premier profit, dans le but de fournir un système de trading discipliné et logiquement clair.

Principe de stratégie

Le principe central de cette stratégie est de capturer la dynamique des prix autour de la 21 EMA, pour réaliser le suivi de tendance et le trading inverse.

  1. Génération de signaux de croisement homogène: Trigger un signal de multiplication lorsque le prix se ferme en dessous de la moyenne et au-dessus de la moyenne; Trigger un signal de rupture lorsque le prix se ferme en haut de la moyenne et au-dessous de la moyenne.
  2. Mécanisme d’exécution des opérations
    • Le système ouvre immédiatement une position en cas de croisement de la même ligne.
    • Réglage des niveaux de stop (TP) et de stop (SL) de manière sélective
    • Lorsque le prix franchit à nouveau la ligne médiane, le système va liquider la position existante et inverser la position.
  3. Conditions de restriction de la transaction
    • Les transactions sont exécutées uniquement dans une fenêtre de temps définie par l’utilisateur (par défaut, de 8h30 à 10h30)
    • Exécuter un maximum de 5 transactions par période
    • Une fois qu’une transaction est rentable, le système arrête automatiquement les transactions du jour.
  4. Gestion de l’état: Le système utilise des variables pour suivre l’état de l’opération, comme le nombre de transactions effectuées dans la journée, la rentabilité de la dernière transaction, le prix d’entrée, etc., afin de contrôler l’exécution de la transaction.

La stratégie intègre également le prix moyen pondéré du volume de transactions (VWAP) comme indicateur de référence auxiliaire, fournissant des informations supplémentaires sur le contexte du marché.

Avantages stratégiques

  1. La logique est claire et concise.La logique de base de la stratégie est basée sur les paramètres techniques classiques de l’intersection EMA, les règles sont intuitives et faciles à comprendre, évitant ainsi les effets de “boîte noire” des algorithmes complexes.
  2. La discipline est stricte.Le système de blocage des transactions, en particulier après la première prise de bénéfices, a été éliminé par la programmation d’une exécution automatique des règles de négociation, ce qui a permis de prévenir efficacement les transactions excessives.
  3. Amélioration de la gestion des risques
    • Mécanisme d’arrêt et de perte sécurisé
    • Limiter le nombre de transactions par jour pour éviter les transactions excessives
    • Limiter les fenêtres de temps de négociation pour éviter les périodes de négociation inefficaces
  4. Très adaptable: Permet aux utilisateurs de personnaliser les paramètres tels que la période de négociation, le point stop ou le point de perte, qui peuvent être ajustés en fonction des différents marchés et des préférences de risque personnelles.
  5. Les commentaires visuels sont clairs: La stratégie affiche les indicateurs clés (la 21 EMA et le VWAP) et les balises de résultats des transactions sur le graphique, permettant aux traders de comprendre intuitivement l’état du marché et la performance de la stratégie.
  6. Mécanisme de rétrogradationLa stratégie consiste à lever les positions et à les inverser immédiatement lorsque la tendance est inversée, ce qui permet de mieux saisir les changements de dynamique du marché.

Risque stratégique

  1. Risque de décalage moyenL’EMA est essentiellement un indicateur de retard qui peut entraîner des retards d’entrée ou de sortie, des opportunités de trading manquées ou des pertes accrues dans des marchés en évolution rapide. Solution: envisager d’ajuster la période EMA ou d’optimiser la génération de signaux en combinaison avec d’autres indicateurs de pointe.
  2. Risques liés à la fréquence des transactionsLes prix peuvent souvent dépasser la moyenne dans un marché en crise, ce qui entraîne des transactions excessives et augmente les coûts de transaction. Solution: Ajouter des filtres de confirmation ou prolonger la période d’observation pour éviter de faux signaux de rupture.
  3. Dépendance à un seul indicateurLa stratégie repose principalement sur les signaux croisés EMA, manque d’analyse multidimensionnelle et peut être moins performante dans certains environnements de marché. La solution: envisager d’intégrer d’autres indicateurs techniques tels que le RSI, le MACD ou le volume de transactions pour construire un modèle de décision multifonctionnel.
  4. Le freinage fixe est inflexible.: Le stop-loss avec un nombre de points fixe peut ne pas s’adapter à différents environnements de fluctuation. Solution: un paramètre de stop-loss dynamique basé sur l’ATR ou la volatilité historique est possible.
  5. La fenêtre de temps est trop restreinteLes échanges de devises et de devises en ligne peuvent être très difficiles à gérer, car les heures de négociation restent serrées et les opportunités de trading de qualité peuvent être manquées à d’autres moments. La solution: créer des modèles de trading multiphasés basés sur les caractéristiques de la volatilité du marché, ou ajuster dynamiquement la fenêtre de trading.

Orientation de l’optimisation de la stratégie

  1. Optimisation des paramètres dynamiques
    • Modifier les paramètres fixes de l’EMA sur la période 21 en paramètres adaptables, en fonction de la dynamique des caractéristiques du marché pour les différentes périodes de temps
    • paramétrage dynamique du point d’arrêt basé sur la volatilité du marché, tel que le paramétrage de la position d’arrêt à l’aide d’un multiplicateur ATR
  2. Mechanisme de confirmation de signal amélioré
    • Augmentation de la condition de confirmation de passage, confirmant le signal de croisement uniquement lorsque le passage est considérablement amplifié
    • Ajout de filtres de force de tendance, tels que l’indicateur ADX, pour négocier uniquement dans des environnements clairement tendance
  3. Optimisation de la gestion des risques
    • Gestion dynamique des positions, ajustement de la taille des transactions en fonction de la volatilité du marché et du ratio de valeur nette des comptes
    • Ajout d’une fonctionnalité de suivi des pertes pour bloquer plus de bénéfices dans les tendances
  4. Analyse de plusieurs périodes
    • L’intégration de tendances sur des périodes plus longues et la prise de position uniquement dans la direction des grandes tendances
    • Une entrée en bourse précise dans un laps de temps réduit pour augmenter le rapport risque/rendement
  5. Catégorie des états du marché
    • Développement d’algorithmes de reconnaissance de l’état du marché, permettant de distinguer les périodes de tendance et les périodes de choc
    • Appliquer des paramètres ou des règles de stratégie de négociation différentes dans des conditions de marché différentes
  6. Optimisation du machine learning
    • Modèles de formation à l’aide de données historiques pour prédire l’efficacité des signaux croisés EMA
    • Construire un projet de caractéristique pour identifier les facteurs clés qui influencent la performance de la stratégie

Ces orientations d’optimisation visent à améliorer la robustesse et l’adaptabilité des stratégies, à réduire les faux signaux et à améliorer la rentabilité.

Résumer

La stratégie de négociation quantifiée de renversement de la dynamique de la courbe de croisement est un système de suivi de la tendance basé sur la courbe de 21 EMA, caractérisé par une logique claire et des règles strictes. En surveillant la relation entre les prix et la courbe de la courbe, combinée à un mécanisme rigoureux de gestion des risques, la stratégie permet de capturer efficacement les points de tournage de la tendance du marché tout en contrôlant les risques.

Le principal avantage de la stratégie réside dans sa logique de négociation simple et intuitive et son mécanisme d’exécution discipliné, en particulier la conception de la transaction de verrouillage après la première prise de bénéfices, qui empêche efficacement les transactions excessives et le retournement des bénéfices. Cependant, la stratégie présente également des risques potentiels tels que le retard linéaire et l’excès de dépendance à un seul indicateur.

Les orientations d’optimisation futures devraient être axées sur la dynamique des paramètres, la confirmation de signaux multifonctionnels, l’amélioration de la gestion des risques et la classification des états du marché, afin d’améliorer la capacité d’adaptation de la stratégie dans différents environnements de marché. Grâce à ces optimisations, la stratégie est susceptible de devenir un système de trading quantitatif plus robuste et plus fiable.

Dans le cadre de la méthode DSPLN, cette stratégie incarne la philosophie de trading “Do So Patiently Listening Now”, mettant l’accent sur la discipline et la systématisation, offrant aux traders un cadre de trading qui surmonte les perturbations émotionnelles et se concentre sur l’application des règles.

Code source de la stratégie
/*backtest
start: 2025-06-15 00:00:00
end: 2025-06-21 08:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

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

//@version=5
strategy("DSPLN EMA Flip Strategy v6", overlay=true)

// 🔹 Inputs
startHour = input.int(8, "Start Hour")
startMinute = input.int(30, "Start Minute")
endHour = input.int(10, "End Hour")
endMinute = input.int(30, "End Minute")

useTPSL = input.bool(true, "Use TP/SL?")
tpPoints = input.int(40, "Take Profit (points)")
slPoints = input.int(20, "Stop Loss (points)")

// 🔹 Time Filter
isWithinTradingHours = (hour > startHour or (hour == startHour and minute >= startMinute)) and
                       (hour < endHour or (hour == endHour and minute < endMinute))

// 🔹 Indicators
ema21 = ta.ema(close, 21)
vwap = ta.vwap

plot(ema21, title="21 EMA", color=color.orange)
plot(vwap, title="VWAP", color=color.blue)

// 🔹 State Variables
var int tradesToday = 0
var bool lastTradeWon = false
var float entryPrice = na
var label winLabel = na
var int prevTradeCount = 0

// 🔹 Entry Conditions
longEntry = isWithinTradingHours and close > ema21 and close[1] <= ema21[1]
shortEntry = isWithinTradingHours and close < ema21 and close[1] >= ema21[1]

// 🔹 Exit Conditions
longExit = strategy.position_size > 0 and close < ema21
shortExit = strategy.position_size < 0 and close > ema21

// 🔹 Trade Control
canTrade = tradesToday < 5 and not lastTradeWon

// 🔹 Entry Logic
if canTrade and strategy.position_size == 0 and longEntry
    strategy.entry("Long", strategy.long)
    entryPrice := close
    if useTPSL
        strategy.exit("TP Long", from_entry="Long", stop=close - slPoints * syminfo.mintick, limit=close + tpPoints * syminfo.mintick)

if canTrade and strategy.position_size == 0 and shortEntry
    strategy.entry("Short", strategy.short)
    entryPrice := close
    if useTPSL
        strategy.exit("TP Short", from_entry="Short", stop=close + slPoints * syminfo.mintick, limit=close - tpPoints * syminfo.mintick)

// 🔹 EMA Manual Exit Logic
if longExit
    strategy.close("Long")
    tradesToday += 1
    lastTradeWon := close > entryPrice
    if lastTradeWon
        winLabel := label.new(bar_index, high, "✅ WIN - No More Trades", style=label.style_label_down, color=color.green)

if shortExit
    strategy.close("Short")
    tradesToday += 1
    lastTradeWon := close < entryPrice
    if lastTradeWon
        winLabel := label.new(bar_index, low, "✅ WIN - No More Trades", style=label.style_label_up, color=color.green)

// 🔹 Detect Closed Trades (TP/SL exits)
tradeCount = strategy.closedtrades
if tradeCount > prevTradeCount
    closedProfit = strategy.netprofit - strategy.netprofit[1]
    tradesToday += 1
    lastTradeWon := closedProfit > 0
    if lastTradeWon
        winLabel := label.new(bar_index, high, "✅ TP WIN - No More Trades", style=label.style_label_down, color=color.green)
    prevTradeCount := tradeCount

// 🔹 Reset Daily
if (hour == endHour and minute == endMinute)
    tradesToday := 0
    lastTradeWon := false
    entryPrice := na
    prevTradeCount := 0
    if not na(winLabel)
        label.delete(winLabel)