Stratégie de suivi de tendance MACD


Date de création: 2023-12-11 14:57:00 Dernière modification: 2023-12-11 14:57:00
Copier: 0 Nombre de clics: 649
1
Suivre
1621
Abonnés

Stratégie de suivi de tendance MACD

Aperçu

La stratégie de suivi de la tendance MACD est une stratégie de négociation quantitative basée sur l’indicateur MACD. Cette stratégie permet de juger de la tendance du marché en identifiant les signaux de fourches dorées et de fourches mortes de l’indicateur MACD et de suivre la tendance des cours des actions.

Principe de stratégie

La logique de base de la stratégie de suivi des tendances du MACD est la suivante:

  1. Calculer les lignes MACD et les lignes de signal.
  2. Lorsque la ligne MACD atteint 0 de bas en haut, le point le plus élevé de ce moment est enregistré et le signal de dérivation est attendu.
  3. Lorsque la ligne MACD descend de haut en bas au-dessous de zéro, enregistrez le point le plus bas à ce moment-là et attendez le signal de la fourche.
  4. Lors de l’émergence d’une fourchette, le prix de clôture actuel est enregistré comme point d’entrée de plus, point d’arrêt de plus, point d’ouverture de plus.
  5. En cas de fourche morte, le prix de clôture actuel est enregistré comme point d’entrée de la position en cours de négociation, le point d’arrêt de la perte est défini et la position est ouverte en cours de négociation.
  6. Lorsqu’une position est détenue en position multiple, la position est libérée si le taux de rendement atteint l’objectif prédéterminé ou si le retrait atteint le point de rupture.
  7. Lorsqu’on détient une position en cours d’exécution, on obtient un profit si le rendement atteint l’objectif prédéfini ou si le retrait atteint le point de rupture.

Grâce à ce mécanisme de suivi des tendances, la stratégie est en mesure de saisir les changements de tendances du marché en temps opportun et de réaliser des bénéfices.

Analyse des avantages

La stratégie de suivi de la tendance MACD présente les avantages suivants:

  1. La source du signal stratégique est la seule à être claire et produite directement par l’indicateur MACD, évitant ainsi les interférences.
  2. L’indicateur MACD est utilisé pour déterminer la direction de la tendance du marché.
  3. Le nombre d’entreprises qui se sont lancées dans le secteur de l’électricité a augmenté de façon spectaculaire.
  4. Le risque est maîtrisé et il y a un mécanisme de stop loss.

Analyse des risques

Les stratégies de suivi de la tendance du MACD comportent également les risques suivants:

  1. L’indicateur MACD est sujet à de faux signaux, ce qui peut entraîner des pertes sur une ligne trop courte.
  2. Les points de rupture sont mal réglés et peuvent augmenter les pertes individuelles.
  3. Il est difficile de trouver un équilibre entre le taux de profit et le point de rupture, et il y a un risque que le suivi excessif entraîne des pertes.

Les mesures d’optimisation suivantes peuvent être prises pour répondre à ces risques:

  1. En combinaison avec d’autres indicateurs, il permet de filtrer les fausses signaux.
  2. Modification dynamique des points de rupture.
  3. Optimiser les paramètres de suivi des taux de profit et des points d’arrêt.

Direction d’optimisation

Les stratégies de suivi des tendances du MACD peuvent être optimisées en fonction des facteurs suivants:

  1. Optimiser les paramètres de l’indicateur MACD et réduire le taux de faux signaux.

  2. Les autres indicateurs de filtrage comme l’augmentation du volume de transaction. Des conditions de volume de transaction minimum peuvent être définies.

  3. Le système d’arrêt de suivi dynamique est configuré. Le point d’arrêt peut être ajusté en temps réel en fonction de la volatilité.

  4. Optimisation de la logique de détection des signaux d’ouverture de position. Il est possible de définir des conditions de déclenchement plus strictes.

  5. Le filtrage des signaux par des modèles d’apprentissage automatique. Les modèles peuvent être entraînés à juger de la fiabilité des signaux.

Résumer

La stratégie de suivi de la tendance MACD est une stratégie quantitative plus mature dans l’ensemble. Cette stratégie utilise l’indicateur MACD pour déterminer la direction de la tendance du marché, avec le contrôle des risques du mécanisme de stop-loss, pour suivre efficacement la tendance des cours des actions. Mais l’indicateur MACD lui-même présente également des défauts et est susceptible de générer de faux signaux.

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

//@version=5
strategy("MACD Cross Strategy", overlay=true)

// Get MACD values
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
var float entryLongPrice = na
var float entryShortPrice = na

var float highestLongProfit = 0
var float highestShortProfit = 0

var float highestMACD = 0
var float lowestMACD = 0
var bool haveOpenedLong = false
var bool haveOpenedShort = false

var float stoploss = 0.04 // To be adjust for different investment
var float minProfit = 0.05 // To be adjust for different investment

if macdLine > 0
    lowestMACD := 0
    highestMACD := math.max(highestMACD, macdLine)
    haveOpenedShort := false
else
    highestMACD := 0
    lowestMACD := math.min(lowestMACD, macdLine)
    haveOpenedLong := false

// Enter long position when MACD line crosses above the signal line
if ta.crossover(macdLine, signalLine) and macdLine < highestMACD and macdLine > 0 and haveOpenedLong == false
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", from_entry = "Long", stop=close*(1 - stoploss))
    entryLongPrice := close
    haveOpenedLong := true

if ta.crossunder(macdLine, signalLine) and macdLine > lowestMACD and macdLine < 0 and haveOpenedShort == false
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", from_entry = "Short", stop=close*(1 + stoploss))
    entryShortPrice := close
    haveOpenedShort := true

// log.info("entryLongPrice:{0}", entryLongPrice)
if strategy.position_size > 0
    profit = close - entryLongPrice
    log.info("profit:{0}", profit)
    if profit > 0
        highestLongProfit := math.max(highestLongProfit, profit)
        if profit / entryLongPrice > minProfit and highestLongProfit * 0.8 > profit
            strategy.close("Long")
            highestLongProfit := 0

if strategy.position_size < 0
    profit = entryShortPrice - close
    if profit > 0
        highestShortProfit := math.max(highestShortProfit, profit)
        log.info("highestShortProfit={0}, profit={1}", highestShortProfit, profit)
        if profit / entryShortPrice > minProfit and highestShortProfit * 0.8 > profit
            strategy.close("Short")
            highestShortProfit := 0