Les ressources ont été chargées... Je charge...

Dépassement historique avec tendance des filtres à moyenne mobile mensuelle Suivre la stratégie

Auteur:ChaoZhang est là., Date: 2024-12-13 10h25 et 18h
Les étiquettes:ATHSMA- Je vous en prie.

img

Résumé

Cette stratégie est un système de suivi des tendances basé sur le filtre des hautes percées historiques et des moyennes mobiles mensuelles. Elle génère des signaux d'achat en surveillant les écarts de prix au-dessus des sommets historiques précédents, tout en utilisant la moyenne mobile simple (8 SMA) sur une période de 8 mois comme filtre de vente pour réduire les risques de fausses ruptures.

Principes de stratégie

La logique de base se compose de deux éléments clés:

  1. Signal d'achat: généré lorsque le dernier prix de clôture dépasse le sommet historique précédent (à l'exclusion du sommet actuel des barres).
  2. Signal de vente: déclenché lorsque le prix de clôture mensuel tombe en dessous de la moyenne mobile simple à 8 périodes. La stratégie comprend également un mécanisme de suivi de l'état du signal pour éviter les signaux répétés dans le même état, améliorant ainsi la stabilité de la stratégie.

Les avantages de la stratégie

  1. Capture de tendance forte: capture efficacement les fortes tendances à la hausse grâce à la détection des hauts taux d'éclatement historiques.
  2. Contrôle des risques robuste: intègre la moyenne mobile mensuelle comme filtre pour détecter efficacement les fausses évasions.
  3. Haute stabilité du signal: utilise la variable lastSignal pour suivre les états du signal, évitant ainsi la répétition du signal.
  4. Bonne visualisation: fournit une interface graphique claire, y compris les lignes historiques élevées, les moyennes mobiles et les marqueurs d'achat / vente.
  5. Haute adaptabilité: peut être appliquée à différents délais et instruments.

Risques stratégiques

  1. Risque de retard: les signaux de rupture historiquement élevés sont intrinsèquement un peu en retard, manquant potentiellement des points d'entrée optimaux.
  2. Risque de fausse rupture: Malgré le filtrage des moyennes mobiles mensuelles, de fausses ruptures peuvent encore se produire sur des marchés variés.
  3. Risque de baisse: la stratégie peut connaître des baisses importantes à des moments de renversement de tendance.
  4. Risque de gestion des positions: la stratégie ne dispose pas de mécanismes de dimensionnement des positions, ce qui nécessite des règles supplémentaires en matière de gestion des fonds.

Directions d'optimisation de la stratégie

  1. Confirmation du volume: ajouter des indicateurs de volume comme conditions de confirmation de rupture pour améliorer la fiabilité du signal.
  2. Définition des règles d'arrêt-perte plus souples, telles que les arrêts de retard ou les arrêts basés sur la volatilité.
  3. Gestion des positions: ajustement dynamique des positions en fonction de la volatilité du marché et de la force de la tendance.
  4. Filtrage des signaux: Ajoutez des indicateurs de force de tendance comme ADX pour filtrer davantage les signaux faibles.
  5. Filtrage du temps: Ajoutez des filtres de période pour éviter de négocier pendant des périodes de temps inappropriées.

Résumé

C'est une tendance bien conçue qui suit une stratégie avec une logique claire. Grâce à la combinaison de hauts historiques et de moyennes mobiles mensuelles, il permet à la fois de capturer efficacement la tendance et de contrôler raisonnablement les risques. Bien qu'il existe des risques inhérents de retard et de fausses ruptures, les directions d'optimisation suggérées offrent un potentiel d'amélioration de la performance. La stratégie est particulièrement adaptée aux marchés avec des tendances claires et peut servir d'outil de référence important pour les investissements à moyen et long terme.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Signal on Close Greater Than Previous All-Time High Strategy", overlay=true)

// Initialize the previous all-time high
var float prevAllTimeHigh = na

// Update the all-time high, excluding the current bar's high (use previous bar's high)
if (na(prevAllTimeHigh) or high[1] > prevAllTimeHigh)
    prevAllTimeHigh := high[1]

// Monthly closing price and 8 SMA on monthly time frame
monthlyClose = request.security(syminfo.tickerid, "M", close)
monthlySMA = ta.sma(monthlyClose, 8)

// Variables to track the last signal type
var int lastSignal = 0 // 0 = None, 1 = Buy, 2 = Sell

// Debugging output to check the all-time high and conditions
plot(prevAllTimeHigh, color=color.blue, linewidth=1, title="Previous All-Time High")
plot(monthlySMA, color=color.green, linewidth=1, title="8 SMA (Monthly)")

// Buy signal: when the latest close is greater than the previous all-time high
buySignal = close > prevAllTimeHigh and lastSignal != 1

// Sell signal: when the monthly close is below the 8 SMA
sellSignal = monthlyClose < monthlySMA and lastSignal != 2

// Update the last signal type after triggering a signal
if (buySignal)
    lastSignal := 1
if (sellSignal)
    lastSignal := 2

// Execute the strategy orders
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.close("Buy")

// Optional: Plot buy and sell signals on the chart for visual reference
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)


Relationnée

Plus de