Tendance à la suite de la stratégie de négociation de la moyenne mobile

Auteur:ChaoZhang est là., Date: 2024-01-05 13:48:07 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie est une tendance qui suit la stratégie de négociation de la moyenne mobile. Elle utilise des moyennes mobiles des prix les plus élevés et les plus bas avec différents paramètres pour déterminer les tendances du marché et générer des signaux de négociation aux points tournants.

La logique de la stratégie

La stratégie utilise des moyennes mobiles simples des prix les plus élevés et les plus bas avec différents paramètres pour définir les tendances du marché.

  1. Le système h1 et l1 suit la tendance à la hausse. h1 est la moyenne mobile simple des prix les plus élevés, agissant comme la bande supérieure de la tendance; l1 est construit par h1 moins la valeur ATR, servant de bande inférieure.

  2. Le système h2 et l2 suit la tendance à la baisse. h2 est la moyenne mobile simple des prix les plus bas, agissant comme la bande inférieure; l2 est construit par h2 plus la valeur ATR, servant de bande supérieure.

Les systèmes à double bande peuvent identifier plus précisément les points tournants de la tendance et filtrer certaines transactions bruyantes. Pendant ce temps, la valeur ATR est utilisée pour définir le stop loss et prendre les niveaux de profit pour contrôler le rapport risque-rendement par transaction.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Le système à double bande filtre le bruit et identifie plus précisément les virages.
  2. ATR suit dynamiquement la volatilité, permettant un contrôle efficace des pertes par transaction.
  3. La logique est simple et facile à comprendre, adaptée aux débutants.
  4. Les paramètres peuvent être ajustés de manière flexible pour s'adapter à différents environnements de marché.

Analyse des risques

Il existe également certains risques associés à cette stratégie:

  1. Les signaux de rupture des bandes pourraient retarder, manquant des opportunités aux premiers stades de la tendance.
  2. Le suivi des moyennes mobiles a une capacité plus faible à détecter les tendances courbes.
  3. Les frais de négociation ne sont pas pris en compte.

Les solutions:

  1. Réduire les périodes de moyenne mobile pour des signaux plus sensibles.
  2. Incorporer d'autres indicateurs tels que le MACD pour déterminer les types de tendance, en évitant le sur-échange dans les zones de variation.
  3. Ajustez la taille des positions à une fréquence de négociation plus faible.

Directions d'optimisation

La stratégie peut être optimisée par les aspects suivants:

  1. Utiliser des algorithmes d'apprentissage automatique pour ajuster automatiquement les paramètres afin de s'adapter aux marchés en évolution.
  2. Incorporer le volume des transactions pour éviter les fausses ruptures.
  3. Ajouter des règles de dimensionnement des micro positions pour relier la taille des positions à la force de la tendance.
  4. Optimiser les mécanismes d'arrêt des pertes avec arrêt des trailers, etc.

Conclusion

En conclusion, il s'agit d'une stratégie de suivi de tendance simple et pratique. La philosophie de base est d'identifier les points tournants de la tendance et de contrôler les pertes par transaction grâce au filtrage à double bande et aux arrêts ATR dynamiques. Il présente des mérites pratiques définis et également une grande marge d'optimisation. De meilleures performances pourraient être obtenues grâce au réglage des paramètres, à l'intégration d'autres indicateurs, etc.


/*backtest
start: 2023-12-05 00:00:00
end: 2024-01-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("I Like Winners And Love Loosers!", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

highest_length = input(200, type=input.integer, minval=1, title="Highest Length")
highest_average = input(10, type=input.integer, minval=1, title="Highest Average Length")

lowest_length = input(200, type=input.integer, minval=1, title="Lowest Length")
lowest_average = input(10, type=input.integer, minval=1, title="Lowest Average Length")

atr_length = input(14, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(2, type=input.integer, minval=1, title="ATR Multiplier")
a = atr(atr_length) * atr_multiplier

h1 = sma(highest(high, highest_length), highest_average)
l1 = h1 - a

h2 = sma(lowest(low, lowest_length), lowest_average)
l2 = h2 + a

buy1_signal = crossover(close, h1)
sell1_signal = crossunder(close, l1)
strategy.entry("Buy", strategy.long, when=buy1_signal)
strategy.close("Buy", when=sell1_signal)

buy2_signal = crossunder(close, h2)
sell2_signal = crossover(close, l2)
strategy.entry("Sell", strategy.short, when=buy2_signal)
strategy.close("Sell", when=sell2_signal)

y1 = plot(h1, title="H1", color=color.green, transp=50, linewidth=2)
y2 = plot(l1, title="L1", color=color.red, transp=50, linewidth=2)
y3 = plot(h2, title="H2", color=color.green, transp=50, linewidth=2)
y4 = plot(l2, title="L2", color=color.red, transp=50, linewidth=2)

fill(y1,y2,color=color.green)
fill(y3,y4,color=color.red)


Plus de