Stratégie de croisement des moyennes mobiles

Auteur:ChaoZhang est là., Date: 2024-02-04 16h31
Les étiquettes:

img

Résumé

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 la stratégie

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.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. Sa logique est simple et facile à comprendre et à mettre en œuvre.
  2. Les moyennes mobiles peuvent filtrer efficacement les bruits de prix et générer des signaux de trading fiables.
  3. Les MAs rapides et lents combinent des tendances à court et à long terme, rendant les signaux stables.
  4. Les paramètres de l'AM peuvent être ajustés de manière flexible pour s'adapter aux différents stocks.
  5. Des optimisations supplémentaires des paramètres de la période de mise en marché peuvent conduire à de meilleures performances commerciales.

Analyse des risques

Cette stratégie comporte également certains risques:

  1. Des signaux plus incorrects et des transactions excessives peuvent se produire lorsque les fluctuations de prix sont élevées.
  2. Des paramètres mal réglés peuvent entraîner une négociation trop fréquente ou un retard du signal.
  3. Il ne peut pas suivre efficacement les marchés et les stocks individuels en évolution rapide.
  4. Il peut y avoir un certain décalage de temps, ce qui peut entraîner la perte de points d'entrée ou de sortie importants.

Ces risques peuvent être réduits en ajustant les paramètres de l'AM, en définissant des stratégies de stop loss, etc.

Directions d'optimisation

Il existe d'autres possibilités d'optimisation pour cette stratégie:

  1. Combiner d'autres indicateurs techniques pour filtrer les signaux, par exemple le volume des transactions, le STOCH.
  2. Ajouter un mécanisme de détermination des tendances pour éviter de manquer les principales tendances.
  3. Optimisez les paramètres MA pour trouver la meilleure combinaison.
  4. Mettre en place des stratégies de stop-loss pour contrôler les pertes d'une seule transaction.
  5. Incorporer des modèles d'apprentissage en profondeur pour prédire les mouvements de prix.

Conclusion

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)

Plus de