Stratégie MACD et EMA Golden Cross et Dead Cross


Date de création: 2023-12-28 15:22:14 Dernière modification: 2023-12-28 15:22:14
Copier: 2 Nombre de clics: 972
1
Suivre
1621
Abonnés

Stratégie MACD et EMA Golden Cross et Dead Cross

Aperçu

La stratégie consiste à calculer les entrées et les sorties en calculant le croisement de la ligne rapide et de la ligne lente de l’indicateur MACD. En combinaison avec l’indicateur EMA, la direction de la tendance est déterminée.

Principe de stratégie

Lorsque la ligne rapide du MACD franchit la ligne lente par le bas et que la valeur du MACD est inférieure à 0, cela indique que la moyenne mobile à court terme du prix de l’action commence à monter et que le mouvement commence à augmenter. Lorsque la ligne rapide du MACD franchit la ligne lente par le haut et que la valeur du MACD est supérieure à 0, cela indique que la moyenne mobile à court terme du prix de l’action commence à baisser et que le mouvement commence à s’affaiblir.

L’indicateur EMA détermine la direction de la tendance générale. Une valeur élevée de l’EMA est une tendance à la hausse et une valeur inférieure est une tendance à la baisse. La stratégie consiste à faire plus lorsque l’EMA indique une tendance à la hausse et à faire un vide lorsque l’EMA indique une tendance à la baisse.

Le stop loss est la valeur de l’EMA au moment où le signal est généré. L’EMA permet de bien juger la tendance. Le paramétrage de l’EMA permet de réduire la probabilité que le stop loss soit franchi par le bas ou le haut de la période précédente.

Analyse des avantages

Cette stratégie, combinée à l’indicateur MACD et à l’indicateur EMA, permet de mieux juger du moment d’entrée et de la direction de la tendance. La méthode de stop-loss est raisonnable et évite de suivre la chute. Le rapport de risque de gain est de 2, un paramètre plus conservateur.

Analyse des risques

Les indices MACD présentent un avraging lag, les retournements d’indicateurs étant souvent en retard par rapport aux retournements de prix. La stratégie ne peut pas déterminer le point d’entrée spécifique, il existe une certaine aveuglement.

Direction d’optimisation

  1. Optimiser les paramètres de l’indicateur MACD pour le rendre plus sensible ou stable.
  2. En combinaison avec d’autres indicateurs, il est possible de déterminer plus précisément le moment de l’admission.
  3. Adaptez dynamiquement le paramètre de stop-loss.
  4. Optimiser la gestion des fonds et déterminer la taille de position la plus appropriée.

Résumer

Cette stratégie utilise l’indicateur MACD et l’indicateur EMA pour déterminer le moment d’entrée et la direction de la tendance. Elle utilise une méthode de stop-loss simple et raisonnable. La stratégie peut être optimisée pour le retard de l’indicateur MACD, les paramètres de stop-loss, etc., afin d’obtenir de meilleurs résultats.

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

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

// MACD Settings
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
src = close

[macdLine, signalLine, _] = ta.macd(src, fastLength, slowLength, signalLength)

// 200 EMA
ema200 = ta.ema(src, 200)
plot(ema200, title="200 EMA", color=color.red)

// Long Condition
longCondition = ta.crossover(macdLine, signalLine) and macdLine < 0 and close > ema200
if (longCondition and strategy.position_size <= 0)
    strategy.entry("Long", strategy.long)
    longStopLoss = ema200
    longTakeProfit = close + 2 * (close - ema200)
    strategy.exit("Exit Long", "Long", stop=longStopLoss, limit=longTakeProfit)

// Short Condition
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine > 0 and close < ema200
if (shortCondition and strategy.position_size <= 0)
    strategy.entry("Short", strategy.short)
    shortStopLoss = ema200
    shortTakeProfit = close - 2 * (ema200 - close)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss, limit=shortTakeProfit)