Stratégie de croisement des moyennes mobiles

Auteur:ChaoZhang est là., Date: 2023-10-17 16:46:57 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie est une stratégie de suivi de tendance basée sur des moyennes mobiles. Elle utilise le croisement et le croisement des moyennes mobiles rapides et lentes pour déterminer la direction de la tendance pour le trading de tendance à faible risque.

La logique de la stratégie

La stratégie utilise une moyenne mobile rapide de la période 9 et une moyenne mobile lente de la période 21. Lorsque le MA rapide dépasse le MA lent, il indique une tendance haussière sur le marché et une position longue est prise. Lorsque le MA rapide dépasse le MA lent, il indique une tendance baissière et toute position longue est fermée.

Plus précisément, la stratégie calcule les valeurs des MA rapides et lents et compare leur relation pour déterminer la direction de la tendance. Dans une tendance haussière, si le MA rapide traverse au-dessus du MA lent, un signal d'entrée long est déclenché. Dans une tendance baissière, si le MA rapide traverse au-dessous du MA lent, un signal de sortie est déclenché pour fermer la position longue existante.

De cette façon, le croisement et le croisement des AMS rapides et lents captent les transitions de tendance pour une tendance à faible risque après la négociation.

Les avantages

  • L'utilisation de moyennes mobiles pour déterminer la tendance filtre le bruit du marché et identifie la direction de la tendance
  • Le MA rapide capte les changements de tendance plus rapidement, tandis que le MA lent filtre les faux signaux
  • L'utilisation du crossover pour acheter et du crossunder pour vendre évite de poursuivre les sommets et de vendre les fonds
  • Logique de négociation simple et claire, facile à comprendre et à mettre en œuvre

Les risques

  • Les moyennes mobiles présentent un retard et peuvent manquer les meilleurs points d'entrée/sortie pour les transitions de tendance
  • Les longueurs d'AM fixes ne peuvent pas s'adapter aux différents cycles du marché
  • Les stratégies de double MA ont tendance à générer des signaux de négociation excessifs et un surajustement
  • Utiliser uniquement des MAs pour déterminer les transactions est sujette à des événements soudains et des pertes

Les risques peuvent être gérés en ajustant les paramètres, en ajoutant des filtres, en supprimant les pertes et en réalisant des bénéfices.

Directions d'amélioration

  • Test de différents paramètres tels que les longueurs de la MA, les seuils de croisement, etc.
  • Ajoutez des indicateurs d'élan comme filtres pour éviter les fausses ruptures
  • Ajouter des indicateurs déterminant la tendance pour distinguer les marchés tendance et variation
  • Incorporer des indicateurs de volatilité pour optimiser les arrêts et les bénéfices
  • Utiliser l'apprentissage automatique pour optimiser dynamiquement les paramètres

Résumé

En tant que stratégie simple de suivi des tendances, l'idée principale est d'utiliser des MA rapides et lents pour déterminer la direction de la tendance. Les avantages sont la simplicité, des règles claires et un suivi efficace de la tendance. Les inconvénients sont le retard, les faux signaux et les transactions excessives. Nous pouvons l'optimiser en ajustant les paramètres et en ajoutant d'autres indicateurs pour mieux nous adapter aux conditions du marché. Dans l'ensemble, la stratégie double MA fournit une approche simple et fiable du trading quantitatif. Avec des améliorations continues, sa performance peut devenir encore meilleure.


/*backtest
start: 2023-09-01 00:00:00
end: 2023-09-20 23:59:59
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Profitable Crypto Strategy", shorttitle="Profit Strategy", overlay=true)

// Define strategy parameters
fastLength = input.int(9, title="Fast MA Length", minval=1)
slowLength = input.int(21, title="Slow MA Length", minval=1)
stopLossPercent = input.float(1.0, title="Stop Loss %", step=0.1)
takeProfitPercent = input.float(1.0, title="Take Profit %", step=0.1)

// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Entry condition: Buy when fast MA crosses above slow MA
longCondition = ta.crossover(fastMA, slowMA)
// Exit condition: Sell when fast MA crosses below slow MA
shortCondition = ta.crossunder(fastMA, slowMA)

// Plot moving averages on the chart
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.orange, title="Slow MA")

// Strategy entry and exit logic
var stopLossPrice = 0.0
var takeProfitPrice = 0.0

if (longCondition)
    stopLossPrice := close * (1.0 - stopLossPercent / 100)
    takeProfitPrice := close * (1.0 + takeProfitPercent / 100)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.close("Long")

// Set stop loss and take profit for open positions
strategy.exit("Stop Loss/Profit", stop=stopLossPrice, limit=takeProfitPrice)


Plus de