Stratégie de croisement de moyenne mobile simple

Auteur:ChaoZhang est là., Date: 2024-02-21 15:11:32 Je suis désolé
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de trading combinée basée sur des moyennes mobiles simples (SMA). Il utilise un croisement des lignes SMA de 9 jours et 21 jours comme signaux d'achat et de vente. Lorsque la SMA à court terme traverse au-dessus de la SMA à long terme depuis le bas, un signal d'achat est généré. Lorsque la SMA à court terme traverse en dessous de la SMA à long terme depuis le haut, un signal de vente est généré.

La logique de la stratégie

La logique de base de cette stratégie est d'utiliser deux lignes SMA avec des paramètres différents - une ligne SMA de 9 jours représentant la tendance à court terme et une ligne SMA de 21 jours représentant la tendance à long terme. Lorsque la ligne de tendance à court terme traverse au-dessus de la ligne de tendance à long terme depuis le bas, cela indique que le marché passe d'une tendance à la baisse à une tendance à la hausse, générant un signal d'achat. Lorsque la ligne à court terme traverse en dessous de la ligne à long terme depuis le haut, cela indique un changement de tendance haussière à la baisse, générant un signal de vente.

Les signaux clés sur lesquels cette stratégie repose sont la croix dorée et la croix de mort des deux lignes SMA. Une croix dorée se produit lorsque la courte SMA traverse au-dessus de la longue SMA, signalant un changement possible de tendance baissière à tendance haussière. Une croix de mort se produit lorsque la courte SMA traverse au-dessous de la longue SMA, suggérant qu'une baisse de la tendance haussière peut commencer. En utilisant ces deux signaux, la stratégie identifie les relations entre les tendances à court et à long terme pour prendre des décisions de trading.

Les avantages

  1. Facile à comprendre et à mettre en œuvre
  2. Peu de paramètres nécessitant des essais/optimisations approfondis
  3. Fréquence raisonnable de négociation en évitant les transactions trop agressives
  4. Réglage de l'évolution des prix
  5. Offre une certaine mesure et stabilité

Les risques

  1. Prédisposé à générer de faux signaux et des coups de fouet
  2. La sélection des points d'achat/de vente repose largement sur l'expérience plutôt que sur une approche systématique
  3. Les performances sont fortement dépendantes des paramètres.
  4. Inefficace pour filtrer le bruit des transactions sur les marchés agités ou de côté
  5. Opérations en perte importante dans des environnements à forte volatilité

Des améliorations possibles:

  1. Ajouter des filtres pour éviter d'agir sur de faux signaux
  2. Incorporer d'autres indicateurs pour mesurer la fiabilité du signal
  3. Tester et optimiser les paramètres pour différents produits
  4. Mettre en œuvre un arrêt des pertes/une prise de profit pour contrôler les risques

Conclusion

Dans l'ensemble, il s'agit d'un système de croisement de moyennes mobiles doubles assez traditionnel et simple. Il est facile à comprendre et à mettre en œuvre avec une sélection de paramètres relativement simple. Il peut suivre efficacement les changements entre les tendances à court et à long terme. Cependant, des problèmes tels que de faux signaux, des paramètres choisis empiriquement, des performances médiocres dans des environnements à forte volatilité doivent être traités. Des optimisations, des améliorations et des combinaisons appropriées doivent être envisagées avec des pratiques de contrôle des risques solides.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)

Plus de