La stratégie de croisement des moyennes mobiles est une stratégie courante de négociation d'actions. Elle génère des signaux d'achat et de vente en calculant les moyennes mobiles rapides et lentes et en détectant leurs points de croisement.
La logique de base de cette stratégie est la suivante: la moyenne mobile rapide représente la tendance à court terme d'un stock, tandis que la moyenne mobile lente représente sa tendance à long terme.
Dans cette stratégie, la moyenne mobile rapide maFast et la moyenne mobile lente maSlow sont définies. maFast a une période de 9 jours représentant la tendance à court terme de 9 jours d'un stock. maSlow a une période de 18 jours représentant la tendance à long terme de 18 jours.
Les avantages de cette stratégie sont les suivants:
Cette stratégie comporte également certains risques:
Ces risques peuvent être réduits en ajustant les paramètres de l'AM, en définissant des stratégies de stop loss, etc.
Il existe d'autres possibilités d'optimisation pour cette stratégie:
En conclusion, la stratégie de croisement des moyennes mobiles est une stratégie très classique et pratique dans l'ensemble. Elle a une logique simple et de larges applications dans le trading réel. En ajustant les paramètres et en combinant d'autres indicateurs techniques, elle peut être encore améliorée pour atteindre de meilleurs ratios risque-rendement. En général, c'est une pierre angulaire importante du trading quantitatif et mérite une recherche et une application approfondies.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Moving Average Cross", overlay=true, initial_capital=10000, currency='USD') // === GENERAL INPUTS === // short ma maFastSource = input(defval = close, title = "Fast MA Source") maFastLength = input(defval = 9, title = "Fast MA Period", minval = 1) // long ma maSlowSource = input(defval = close, title = "Slow MA Source") maSlowLength = input(defval = 18, title = "Slow MA Period", minval = 1) // === SERIES SETUP === /// a couple of ma's.. maFast = ema(maFastSource, maFastLength) maSlow = ema(maSlowSource, maSlowLength) // === PLOTTING === fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30) slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30) // === LOGIC === enterLong = crossover(maFast, maSlow) exitLong = crossover(maSlow, maFast) // Entry // strategy.entry(id="Long Entry", long=true, when=enterLong) strategy.entry(id="Short Entry", long=false, when=exitLong) // === FILL ==== fill(fast, slow, color = maFast > maSlow ? green : red)