
La stratégie de retraite des moyennes mobiles est une stratégie de négociation quantitative qui suit l’intersection des moyennes mobiles des cours d’une action afin de déterminer s’il y a une opportunité de retraite, et si elle existe, de procéder à une opération inversée. La stratégie utilise la retraite des Fibonacci pour définir les points d’entrée et les points d’arrêt de la perte afin de capturer la retraite des prix à court terme.
La stratégie est basée principalement sur deux moyennes mobiles: l’EMA du 14e jour et la SMA du 56e jour. Lorsque l’EMA du 14e jour génère un signal d’achat en traversant la SMA du 56e jour par le bas. Après cela, le code remonte au 20e jour pour trouver un bas comme support, puis combine le prix proche du point de travers pour tracer une traction de Fibonacci, avec 1.272 fois la traction de la traction comme entrée, 0.618 fois la traction de la traction comme sortie.
L’ensemble de la stratégie est principalement composé des étapes suivantes:
C’est le processus et le principe de fonctionnement de la stratégie. Lorsque le prix fait un revirement de courte durée, la stratégie peut saisir cette opportunité de profit.
Les avantages principaux de cette approche sont les suivants:
Dans l’ensemble, cette stratégie est parfaitement adaptée pour les opérations de revers de courte ligne, permettant de saisir des opportunités d’arbitrage en cas de rebond. La mise en œuvre de la stratégie est également simple et directe.
Bien qu’il y ait des avantages à utiliser cette stratégie de retraite des moyennes mobiles, il y a des risques à prendre en compte:
Pour ces risques, nous pouvons définir un temps d’arrêt plus court, contrôler strictement les pertes individuelles; en même temps, optimiser la portée de la ligne de rétraction, définir des bénéfices cibles raisonnables, afin d’éviter une partie du risque.
Il y a encore beaucoup de possibilités d’optimisation de la stratégie de retraite des moyennes mobiles, principalement dans les domaines suivants:
tester différents paramètres, tels que la longueur de cycle des moyennes mobiles, le nombre de jours de rétroaction, le nombre de fois de rétroaction, etc., pour trouver le paramètre optimal;
l’augmentation des mécanismes de freinage des pertes, avec des freins multiples ou mobiles, afin de mieux maîtriser les risques;
En combinaison avec d’autres indicateurs FILTER, afin d’éviter de négocier dans des conditions de marché défavorables;
Optimiser la gestion des fonds, définir une taille de position raisonnable et un seuil de risque.
Cette stratégie peut être améliorée en testant et en optimisant les paramètres, ce qui permet d’obtenir des performances de négociation plus stables.
La stratégie de retraite des moyennes mobiles est une stratégie de négociation de courte ligne très pratique. Elle permet de saisir les occasions de reprise des prix sur une courte période et de négocier à travers des points d’entrée et de stop-loss prédéfinis. L’idée de la stratégie est claire et simple, facile à comprendre et à mettre en œuvre.
/*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)