Stratégie de recul des moyennes mobiles

Auteur:ChaoZhang est là., Date: le 19 décembre 2023 à 11 h 55 min 25 s
Les étiquettes:

img

Résumé

La stratégie de rebond de la moyenne mobile suit les croisements des moyennes mobiles des prix et identifie les opportunités de rebond pour effectuer des transactions contraires à la tendance lorsque des croisements dorés se produisent.

La logique de la stratégie

Le noyau de cette stratégie implique deux moyennes mobiles - l'EMA de 14 jours et la SMA de 56 jours. Elle déclenche un signal d'achat lorsque l'EMA de 14 jours franchit le sommet de la SMA de 56 jours par le bas. Ensuite, la stratégie regarde en arrière 20 jours pour trouver un bas swing comme support. Combiné avec le prix de clôture au point de croisement, les lignes de pullback de Fibonacci sont tracées, avec 1.272 ligne de pullback comme entrée et 0.618 comme sortie. Ainsi, la stratégie définit un point d'entrée pour faire court après les croix dorées, et tire profit si les prix reviennent vraiment à la ligne 0.618.

Les étapes clés de cette stratégie sont les suivantes:

  1. Le calcul de l'EMA à 14 jours et de la SMA à 56 jours;
  2. Vérifiez si l'EMA traverse le signal de croix dorée de la SMA;
  3. Regardez en arrière pour trouver un bassin pour le soutien;
  4. Tracer les lignes de rebond de Fibonacci avec le point bas et le point de croisement;
  5. Mettez l'entrée à court à la ligne de rebond de 1.272;
  6. Arrêt de prise de profit à la ligne de repli de 0,618.

Ce qui précède explique le flux de travail principal et la logique de cette stratégie de baisse.

Les avantages

Les principaux avantages de cette stratégie de baisse des moyennes mobiles sont les suivants:

  1. L'idée de stratégie est simple et facile à comprendre;
  2. Utiliser la théorie de Fibonacci pour définir de meilleurs contrôles des risques;
  3. Capable de saisir les opportunités d'inversion à court terme pour de bons bénéfices;
  4. Il suffit d'une moyenne mobile en croix d'or pour déclencher les entrées.

En résumé, cela est très approprié pour le trading de style inversion moyenne à court terme. Il capture les chances de rebond pour réaliser des profits. La stratégie est également simple et simple à mettre en œuvre.

Les risques

Malgré les avantages, il y a aussi certains risques à noter pour cette stratégie:

  1. La détention à long terme peut entraîner d'énormes pertes, car nous sommes contre-trend shorting;
  2. L'ampleur du retrait est trop faible pour atteindre les bénéfices.
  3. Des réglages trop agressifs.

Pour atténuer les risques, nous pouvons définir un court délai d'arrêt des pertes pour contrôler les pertes; optimiser également les plages de la ligne de rebond pour viser des objectifs de profit raisonnables.

Des possibilités d'amélioration

Il y a encore beaucoup de place pour optimiser cette stratégie de baisse de la moyenne mobile:

  1. Testez différents paramètres sur des éléments tels que les périodes moyennes mobiles, les jours de rétrospective, les multiples de Fibonacci, etc. pour trouver l'optimum;

  2. Ajouter des mécanismes de stop loss tels que des stops multiples ou des trailing stops pour mieux contrôler les risques;

  3. Mettre en place d'autres indicateurs en tant que FILTRE pour éviter des conditions de marché inappropriées;

  4. Optimiser la taille des positions et les règles de gestion des risques.

Grâce à des tests rigoureux et à une optimisation, une amélioration significative peut être réalisée pour cette stratégie commerciale.

Conclusion

La stratégie de retrait de la moyenne mobile est une stratégie de trading à court terme très pratique. Elle capture les opportunités de renversement de la moyenne lorsque les prix reculent à court terme. L'idée de stratégie est simple et facile à saisir. Il y a encore des risques qui doivent être abordés par l'optimisation et le contrôle des risques. Dans l'ensemble, il s'agit d'une stratégie quantitative prometteuse digne d'une recherche et d'une application ultérieures.


/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MAC Pullback", overlay=true)

// Setting up timeperiod for testing
startPeriodYear = input(2014, "Backtest Start Year")
startPeriodMonth = input(1, "Backtest Start Month")
startPeriodDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0)

stopPeriodYear = input(2035, "Backtest Stop Year")
stopPeriodMonth = input(12, "Backtest Stop Month")
stopPeriodDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0)

// Moving Averages
ema14 = ema(close, 14)
ema28 = ema(close, 28)
sma56 = sma(close, 56)

// Plot
plot(ema14, title="ema14", linewidth=2, color=green)
plot(ema28, title="ema28", linewidth=2, color=red)
plot(sma56, title="sma56", linewidth=3, color=blue)


// Strategy
goLong = cross(ema14, sma56) and ema14 > ema28
goShort = cross(ema14, sma56) and ema14 < ema28


// Locate Swing Lows
leftBars = input(20)
rightBars=input(20)
swinglow = pivotlow(close, leftBars, rightBars)
plot(swinglow, style=cross, linewidth=8, color=#00FF00, offset=-rightBars)

if goLong == true and time >= testPeriodStart and time <= testPeriodStop
    // We try to make sure that we're catching the first Pullback after the crossover
    if ema14[12] < sma56[12] 
        pivotpoint = lowest(40)[0] //lowest value of the month as our swing low
        
        // We calculate a Fib 1.272 extension (from the previous swing low to 
        // the crossover long entry's open) and use this as our entry target to short the Pullback
        extensiontarget = ((close[1] - pivotpoint) * 1.27) + pivotpoint
        shorttarget = ((close[1] - pivotpoint) * 0.618) + pivotpoint        
        
        strategy.order("Pullback", strategy.short, 5.0, limit=extensiontarget)
        // I would like to use a trailing stop but for know we just hope to get 
        // filled if the pullback reaches all the way down to the 0.618.
        // We also place a tight stop loss since we trying to short an uptrend
        strategy.exit("Pullback Exit", "Pullback", limit=shorttarget, loss=400)

Plus de