Stratégie de trading quantitative d'inversion de tendance de la moyenne mobile-MACD

EMA MACD SMA
Date de création: 2025-02-24 09:43:04 Dernière modification: 2025-02-27 16:49:52
Copier: 1 Nombre de clics: 427
2
Suivre
319
Abonnés

Stratégie de trading quantitative d’inversion de tendance de la moyenne mobile-MACD Stratégie de trading quantitative d’inversion de tendance de la moyenne mobile-MACD

Aperçu

Cette stratégie est un système de trading de retournement de tendance basé sur la ligne moyenne et l’indicateur MACD. Elle combine les moyennes mobiles des indices rapides (EMA), les moyennes mobiles simples (SMA) et l’indicateur MACD pour tirer profit des opportunités d’achat dans les changements de tendance du marché.

Principe de stratégie

La stratégie utilise les lignes équivalentes EMA ((10) et MA ((20) comme référence pour la détermination de la tendance, et la confirmation du signal en combinaison avec l’indicateur MACD ((12,26,9). Plus précisément, le signal d’entrée doit satisfaire aux conditions suivantes:

  1. EMA 10 sur 20), indiquant que la tendance à court terme commence à être plus forte que la tendance à moyen terme
  2. L’indicateur MACD et la ligne de signal sont tous deux situés sous l’axe zéro, mais la ligne MACD est située au-dessus de la ligne de signal, montrant un potentiel revers de bas La condition de placement de la stratégie est de traverser 0 sous la différence du MACD et lorsque le MACD et la ligne de signal sont situés au-dessus de l’axe zéro, ce qui indique que la tendance haussière est peut-être terminée.

Avantages stratégiques

  1. La vérification croisée de multiples indicateurs techniques améliore la fiabilité du signal
  2. La combinaison de l’indicateur de tendance et de l’indicateur de dynamique permet de saisir les grandes tendances et de déterminer précisément le moment de l’entrée
  3. L’utilisation de deux courbes de moyenne, l’EMA et le SMA, assure une sensibilité aux changements du marché et permet de filtrer certains faux signaux.
  4. Des conditions claires de placement permettent d’arrêter les opérations en temps opportun et d’éviter les emprisonnements

Risque stratégique

  1. De faux signaux de rupture fréquents peuvent se produire sur un marché volatil
  2. Le système de ligne égale a un certain retard et peut manquer le meilleur moment pour entrer.
  3. L’indicateur MACD pourrait produire un signal de retard dans un marché très volatil
  4. L’absence d’un mécanisme de stop-loss clair peut entraîner des pertes importantes en cas de forte volatilité du marché

Orientation de l’optimisation de la stratégie

  1. L’introduction d’indicateurs de volatilité (comme l’ATR) pour l’ajustement dynamique de la taille des positions et des positions de stop loss
  2. Ajout d’un filtre de force de tendance pour éviter de négocier dans des tendances faibles
  3. Optimisation des paramètres de la moyenne, permettant de choisir la combinaison optimale de paramètres en fonction des différentes caractéristiques du marché
  4. Ajout de vérification des indicateurs de transaction pour améliorer la fiabilité du signal
  5. Mise en place d’un meilleur système de gestion des fonds, y compris la construction par lots et la mise en place de mécanismes de dépôt dynamiques

Résumer

La stratégie, utilisant un système de coordonnées et un indicateur MACD, permet de construire un système de négociation de renversement de tendance relativement complet. Bien qu’il existe un certain risque de retard et de faux signaux, elle a une bonne valeur d’application dans le monde réel grâce à une optimisation raisonnable des paramètres et des mesures de contrôle des risques. Il est recommandé d’ajuster les paramètres de la stratégie en fonction de l’environnement du marché et des préférences de risque personnelles.

Code source de la stratégie
/*backtest
start: 2024-02-25 00:00:00
end: 2025-01-20 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

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

//Macd 参数
fastLength = input(12, title="快线长度")
slowLength = input(26, title="慢线长度")
MACDLength = input(9, title="MACD 信号线长度")

// 计算 MACD
MACD = ta.ema(close, fastLength) - ta.ema(close, slowLength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD


// 计算 EMA(10) 和 MA(20)
ema10 = ta.ema(close, 10)
ma20 = ta.sma(close, 20)
// 在图表上绘制 EMA(10) 和 MA(20),用于调试
plot(ema10, title="EMA 10", color=color.blue, linewidth=2)
plot(ma20, title="MA 20", color=color.red, linewidth=2)

// 实时检查条件
// 检查 EMA(10) 是否高于 MA(20)
bool emaAboveMa = ema10 > ma20

// 检查 MACD 是否在信号线上方,且 MACD 和信号线均在 0 轴下方
bool macdCondition = (MACD > aMACD) and (MACD < 0) and (aMACD < 0)

// 添加调试信息 - 当条件满足时绘制图形
plotshape(emaAboveMa, title="EMA Above MA Condition",  size=size.small, text="eam")
plotshape(macdCondition, title="MACD Condition", size=size.small, text="macd")

// 当两个条件都满足时,触发买入操作
if (emaAboveMa and macdCondition)
    strategy.entry("多头", strategy.long, comment="买入信号")
    // 显示买入信号的标签
    label.new(bar_index, high, "买入", textcolor=color.white, style=label.style_label_up, size=size.normal)

// 平仓条件
if (ta.crossunder(delta, 0) and MACD > 0 and aMACD > 0)
    strategy.close("MacdLE", comment="Close Long")
//if (ta.crossunder(delta, 0))
//	strategy.entry("MacdSE", strategy.short, comment="MacdSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)