Stratégie de persistance croisée MACD multi-fuseaux horaires combinée à un filtre de tendance EMA

MACD EMA
Date de création: 2025-02-21 10:11:34 Dernière modification: 2025-02-27 17:17:57
Copier: 1 Nombre de clics: 366
2
Suivre
319
Abonnés

Stratégie de persistance croisée MACD multi-fuseaux horaires combinée à un filtre de tendance EMA Stratégie de persistance croisée MACD multi-fuseaux horaires combinée à un filtre de tendance EMA

Aperçu

La stratégie est un système de négociation multi-zones basé sur l’indicateur MACD et les moyennes mobiles. Il combine l’indicateur MACD avec deux périodes de temps, 1 minute et 3 minutes, tout en utilisant l’EMA à 200 cycles comme filtre de tendance, pour négocier en capturant la continuité des tendances du marché. La stratégie contient un mécanisme de gestion des risques, y compris des paramètres d’arrêt des pertes et des fonctionnalités d’ajustement dynamique pour se déplacer vers la base.

Principe de stratégie

La logique fondamentale de la stratégie repose sur les éléments clés suivants :

  1. L’indicateur MACD utilise deux périodes de 1 minute et 3 minutes pour confirmer la continuité de la tendance
  2. L’EMA à 200 cycles est utilisée comme base de référence pour les principales tendances
  3. Filtrer les signaux de transaction en combinant la relation entre le prix et la position de la ligne médiane
  4. Opérer des transactions sur la base d’un filtre de période

Les règles spécifiques de génération de signaux de transaction sont les suivantes:

  • Signaux multiples: la ligne MACD est au-dessus de la ligne zéro et traverse la ligne de signal vers le haut, tandis que la MACD confirme la tendance pendant 3 minutes, le prix est au-dessus de l’EMA200
  • Signaux de tête vide: la ligne MACD est en dessous de la ligne zéro et traverse la ligne de signal vers le bas, tandis que la MACD confirme la tendance pendant 3 minutes, le prix est en dessous de l’EMA200

Avantages stratégiques

  1. La confirmation de cycles de temps multiples améliore la précision des transactions
  2. Le filtrage des tendances réduit les faux signaux
  3. Une bonne gestion des risques
  4. Utilisez un filtre temporel pour éviter les transactions pendant les périodes d’inactivité
  5. La dynamique des ajustements des points de couverture protège les bénéfices déjà réalisés
  6. Une logique stratégique claire pour faciliter l’adaptation et l’optimisation

Risque stratégique

  1. Risque de glissement dans un marché très volatil
  2. Les mécanismes de confirmation multiple peuvent entraîner la perte de certaines opportunités commerciales
  3. Le point de rupture fixe peut ne pas être suffisamment flexible dans certaines conditions de marché
  4. Il faut prendre en compte l’impact des coûts de transaction sur le rendement de la stratégie
  5. Un retrait plus important est possible dans un marché très volatil

Suggestions de contrôle des risques :

  • La marge stop est ajustée en fonction des fluctuations du marché.
  • Envisager d’augmenter les objectifs de profit pour assurer la rentabilité
  • Suspension des transactions pendant la publication des données économiques clés
  • Évaluer et ajuster régulièrement les paramètres stratégiques

Orientation de l’optimisation de la stratégie

  1. Paramètre MACD de réglage dynamique:
  • Adaptation aux fluctuations du marché
  • Considérez l’utilisation d’une moyenne mobile adaptative
  1. Pour améliorer le filtrage temporel:
  • Définition des périodes de transaction
  • Une analyse synthétique des volumes pour optimiser le temps de transaction
  1. Mécanisme de stop loss optimisé :
  • Introduction de l’arrêt dynamique
  • Distance de rupture basée sur ATR
  1. Le filtrage des tendances est renforcé:
  • Ajouter plus de confirmation de paramètres techniques
  • Considérer l’introduction de l’analyse du comportement des prix

Résumer

La stratégie a construit un système de négociation relativement parfait en combinant des indicateurs MACD à plusieurs périodes et des filtres de tendance EMA. Son avantage réside dans l’intégrité des mécanismes de confirmation multiple et de la gestion des risques, mais il faut également prêter attention aux problèmes d’adaptabilité dans différents environnements de marché. Grâce à l’orientation optimisée proposée, la stratégie est susceptible d’améliorer encore sa capacité de rendement tout en conservant sa stabilité.

Code source de la stratégie
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-15 02:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("NQ MACD Continuation Backtest", overlay=true)

// MACD Settings
fastLength = 12
slowLength = 26
signalLength = 9

// 1-minute MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)

// 3-minute MACD for trend filter
[htfMacd, htfSignal, _] = request.security(syminfo.tickerid, "3", ta.macd(close, fastLength, slowLength, signalLength), lookahead=barmerge.lookahead_on)

// 200 EMA
ema200 = ta.ema(close, 200)

// Time Filters
inSession = (hour(time, "America/New_York") >= 9 and (hour(time, "America/New_York") > 9 or minute(time, "America/New_York") >= 45)) and (hour(time, "America/New_York") < 22 or (hour(time, "America/New_York") == 22 and minute(time, "America/New_York") == 30))
notRestricted = (hour(time, "America/New_York") >= 6 and hour(time, "America/New_York") < 22)

// Track Previous MACD Crosses
var bool bullishCrossed = false
var bool bearishCrossed = false
if (ta.crossover(macdLine, signalLine) and macdLine > 0)
    bullishCrossed := true
if (ta.crossunder(macdLine, signalLine) and macdLine < 0)
    bearishCrossed := true

// Define Continuation Signals with EMA and 3-Min MACD Filter
bullishContinuation = (ta.crossover(macdLine, signalLine) and macdLine > 0 and signalLine > 0 and htfMacd > htfSignal and bullishCrossed and close > ema200)
bearishContinuation = (ta.crossunder(macdLine, signalLine) and macdLine < 0 and signalLine < 0 and htfMacd < htfSignal and bearishCrossed and close < ema200)

// Entry Conditions with SL and 10 Contracts
if (bullishContinuation and inSession and notRestricted)
    strategy.entry("Long", strategy.long, qty=10, stop=close - 7 * syminfo.mintick)
if (bearishContinuation and inSession and notRestricted)
    strategy.entry("Short", strategy.short, qty=10, stop=close + 7 * syminfo.mintick)

// Break-Even Adjustment
if (strategy.position_size > 0 and close >= strategy.position_avg_price + 5 * syminfo.mintick)
    strategy.exit("BreakEvenLong", from_entry="Long", stop=strategy.position_avg_price)
if (strategy.position_size < 0 and close <= strategy.position_avg_price - 5 * syminfo.mintick)
    strategy.exit("BreakEvenShort", from_entry="Short", stop=strategy.position_avg_price)

// Display Indicators on Chart
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
plot(ema200, color=color.red, title="200 EMA")