Stratégie de suivi des tendances à échelles multi-temporelles basée sur le MACD impulsif et le croisement de la double moyenne mobile

MACD SMMA SMA ZLEMA EMA MA
Date de création: 2024-05-17 15:33:02 Dernière modification: 2024-05-17 15:33:02
Copier: 5 Nombre de clics: 1201
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances à échelles multi-temporelles basée sur le MACD impulsif et le croisement de la double moyenne mobile

Aperçu

La stratégie utilise plusieurs indicateurs de moyennes mobiles, dont les SMMA, les SMA, les ZLEMA et les EMA, et construit sur leur base un indicateur MACD amélioré (l’Impulse MACD), qui génère un signal de transaction par la croisée de l’Impulse MACD avec sa ligne de signal. L’idée principale de la stratégie est d’utiliser des moyennes mobiles à différentes échelles de temps pour capturer les tendances du marché, tout en utilisant l’Impulse MACD pour confirmer la force et la direction des tendances.

Principe de stratégie

  1. La longueur calculée est 34 pour les SMMA, ZLEMA, des prix à la hausse, à la baisse et à la clôture, obtenus par l’Impulse MACD ((MD)).
  2. Calculer le SMA à 9 cycles de l’Impulse MACD comme ligne de signal ((SB) )
  3. Calculer la différence entre le MACD d’impulsion et la ligne de signal (SH) qui reflète l’intensité de la tendance
  4. Le moment où l’Impulse MACD franchit la ligne de signal, un signal d’achat est généré, et le moment où il franchit la ligne de signal, il est en position d’équilibre.
  5. La colonne de l’Impulse MACD est représentée en différentes couleurs pour visualiser la force et la faiblesse de la tendance, en fonction de la relation entre le prix et le MACD d’Impulse et le SMMA de haut ou de bas prix.

Avantages stratégiques

  1. L’utilisation de plusieurs types de moyennes mobiles permet de mieux refléter les tendances du marché.
  2. L’amélioration de l’indicateur MACD (Impulse MACD) prend en compte la position relative des prix par rapport aux moyennes mobiles et permet de mieux refléter la force de la tendance.
  3. L’introduction de la ligne de signal aide à filtrer certains faux signaux et à améliorer la qualité du signal.
  4. Le MACD d’Impulse est représenté en couleurs différentes en fonction de l’intensité de la tendance, ce qui permet de juger de façon intuitive de l’évolution des cours.

Risque stratégique

  1. Une mauvaise sélection des paramètres peut entraîner des signaux fréquents ou retardés, qui doivent être optimisés en fonction des différents marchés et cycles.
  2. Cette stratégie peut générer plus de faux signaux et entraîner des pertes en cas de choc.
  3. La stratégie manque de mécanisme de stop-loss, ce qui pourrait entraîner une reprise plus importante en cas de forte tendance.

Orientation de l’optimisation de la stratégie

  1. L’introduction d’indicateurs de jugement de tendance, tels que l’ADX, qui permettent de négocier uniquement lorsque la tendance est claire, réduit les pertes en cas de choc.
  2. Pour les signaux de négociation générés, il est possible de combiner avec d’autres indicateurs tels que RSI, ATR, etc. pour une confirmation secondaire, améliorant la qualité du signal.
  3. Il est nécessaire de mettre en place des stop-loss et des stop-positions raisonnables pour contrôler le risque de transaction unique.
  4. Optimiser les paramètres, par exemple en utilisant des algorithmes génétiques pour trouver la combinaison optimale de paramètres.

Résumer

La stratégie est basée sur plusieurs types de moyennes mobiles, construit sur l’amélioration de l’indicateur MACD, et de générer des signaux de négociation avec sa croix avec les lignes de signal, tout en montrant visuellement la force de la tendance, l’idée générale est claire, l’avantage est évident. Cependant, la stratégie a aussi certaines limites, telles que l’insuffisance de l’adaptation aux conditions de choc, le manque de mesures de contrôle de vent, etc.

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

//@version=5
strategy("Impulse MACD Strategy [LazyBear]", shorttitle="IMACD_Strategy", overlay=false)

// Function to calculate SMMA
calc_smma(src, len) =>
    var float smma = na
    smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len
    smma

// Function to calculate SMA
	ta.sma(src, len)
    sum = 0.0
    for i = 0 to len - 1
        sum := sum + src[i]
    sum / len

// Function to calculate ZLEMA
calc_zlema(src, length) =>
    var float ema1 = na
    var float ema2 = na
    var float d = na
    ema1 := ta.ema(src, length)
    ema2 := ta.ema(ema1, length)
    d := ema1 - ema2
    ema1 + d

// Function to calculate EMA
calc_ema(src, len) =>
    ema = 0.0
    ema := ta.ema(src, len)
    ema

// Inputs
lengthMA = input(34, title="Length of Moving Average")
lengthSignal = input(9, title="Length of Signal Line")

// Calculations
src = hlc3
hi = calc_smma(high, lengthMA)
lo = calc_smma(low, lengthMA)
mi = calc_zlema(src, lengthMA) 

md = mi > hi ? (mi - hi) : mi < lo ? (mi - lo) : 0
sb = ta.sma(md, lengthSignal)
sh = md - sb
mdc = src > mi ? src > hi ? color.lime : color.green : src < lo ? color.red : color.orange

// Plotting
plot(0, color=color.gray, linewidth=1, title="MidLine")
plot(md, color=mdc, linewidth=2, title="ImpulseMACD", style=plot.style_histogram)
plot(sh, color=color.blue, linewidth=2, title="ImpulseHisto", style=plot.style_histogram)
plot(sb, color=color.maroon, linewidth=2, title="ImpulseMACDCDSignal")

// Execute trades based on signals
if (ta.crossover(md, sb))
    strategy.entry("Buy", strategy.long)
if (ta.crossunder(md, sb))
    strategy.close("Buy")