Stratégie de cassure High-Low combinée à une tendance alpha et à un filtre de moyenne mobile

ATR MA TRMUS SMA
Date de création: 2024-07-31 11:12:34 Dernière modification: 2024-07-31 11:12:34
Copier: 0 Nombre de clics: 350
1
Suivre
1222
Abonnés

Stratégie de cassure High-Low combinée à une tendance alpha et à un filtre de moyenne mobile

Aperçu

Cette stratégie est un système de négociation qui combine des ruptures de prix bas et hauts, des indicateurs de tendance alpha et des filtres de moyenne mobile. Elle vise à capturer les changements de tendance lorsque les prix franchissent des niveaux critiques, tout en utilisant les tendances alpha et les moyennes mobiles pour filtrer les faux signaux et améliorer l’exactitude des transactions.

Principe de stratégie

  1. Les ruptures de prix élevées ou basses: la stratégie utilise des cycles définis par l’utilisateur (la ligne de 20 K par défaut) pour déterminer les prix de clôture les plus élevés et les plus bas de la période la plus proche. Lorsque les prix de clôture actuels franchissent ces niveaux, un signal de transaction potentiel est déclenché.

  2. L’indicateur de tendance alpha: il s’agit d’un indicateur de suivi de tendance basé sur l’ATR (Average True Range). Il identifie la tendance actuelle en effectuant des ajustements dynamiques à la hausse et à la baisse. Il est considéré comme une tendance à la hausse lorsque le prix est supérieur à la ligne de tendance alpha, et vice versa.

  3. Filtrage des moyennes mobiles: la stratégie utilise les moyennes mobiles simples (SMA) comme filtre de tendance supplémentaire. Le surplus est considéré uniquement lorsque le prix est au-dessus des moyennes mobiles, et le négatif au contraire.

  4. Le signal de transaction est généré:

    • Signal d’achat: produit lorsque le prix de clôture dépasse les plus hauts récents et est supérieur à la moyenne mobile et à la ligne de tendance Alpha.
    • Signal de vente: produit lorsque le prix de clôture est inférieur à la moyenne mobile et à la ligne de tendance Alpha.
  5. Gestion des risques: la stratégie intègre des fonctionnalités de stop-loss et de stop-loss. L’utilisateur peut définir des niveaux de stop-loss et de stop-loss basés sur des pourcentages pour contrôler les risques et les gains de chaque transaction.

Avantages stratégiques

  1. Multiple confirmation: en combinant des ruptures de prix, des tendances alpha et des moyennes mobiles, la stratégie réduit efficacement les faux signaux et améliore la précision des transactions.

  2. Adaptabilité: la stratégie peut s’adapter à différentes conditions et volatilités du marché, car l’indicateur de tendance Alpha s’adapte automatiquement aux fluctuations du marché.

  3. Gestion des risques: la fonctionnalité intégrée de stop-loss et de stop-loss aide à contrôler les risques de chaque transaction et à protéger la sécurité des fonds.

  4. Visualisation: La stratégie dessine sur des graphiques différents indicateurs et signaux permettant aux traders de comprendre de manière intuitive l’état du marché et les opportunités de trading potentielles.

  5. Optimisation des paramètres: l’utilisateur peut ajuster divers paramètres en fonction de différents marchés et de ses préférences personnelles, tels que le cycle de rupture, la longueur de la moyenne mobile et la multiplication de l’ATR.

Risque stratégique

  1. Risque de choc du marché: dans un marché horizontal où il n’y a pas de tendance claire, la stratégie peut produire de fréquents faux signaux, ce qui entraîne des sur-échanges et des pertes.

  2. Risque de glissement: dans les marchés à rupture rapide ou à forte volatilité, le prix de transaction réel peut être significativement différent de celui prévu et affecter la performance de la stratégie.

  3. Une dépendance excessive à l’égard des données historiques: la stratégie prend des décisions basées sur des modèles de prix historiques, mais les performances passées ne garantissent pas les résultats futurs.

  4. Sensitivité des paramètres: la performance d’une stratégie peut être très sensible aux paramètres, et un mauvais choix de paramètres peut entraîner des résultats sous-optimisés.

  5. Risque de renversement de tendance: dans le cas d’une forte reprise de tendance, la stratégie peut ne pas s’adapter à temps, ce qui entraîne de plus grandes pertes.

Orientation de l’optimisation de la stratégie

  1. Adaptation des paramètres dynamiques: il est envisageable d’ajuster automatiquement les cycles de rupture et les multiples ATR en fonction de la volatilité du marché pour s’adapter à différents environnements de marché.

  2. Ajout d’une confirmation de transaction: le facteur de transaction est pris en compte lors de la génération du signal, ce qui améliore la fiabilité de la percée.

  3. L’introduction de l’apprentissage automatique: optimiser la sélection des paramètres et le filtrage des signaux à l’aide d’algorithmes d’apprentissage automatique peut améliorer la performance globale de la stratégie.

  4. L’analyse de plusieurs périodes: une combinaison de périodes plus longues et plus courtes pour confirmer les tendances peut réduire les faux signaux et améliorer la qualité des transactions.

  5. Augmentation des indicateurs de l’humeur du marché: l’intégration d’indicateurs de l’humeur du marché tels que VIX ou d’autres peut aider la stratégie à mieux juger de l’environnement du marché.

  6. Améliorer les méthodes de stop loss: envisagez d’utiliser un stop loss suivi ou un stop loss dynamique basé sur l’ATR, ce qui pourrait améliorer l’efficacité de la gestion des risques.

  7. Augmentation du contrôle de la fréquence des transactions: La mise en place d’une période de refroidissement ou d’une limite de transactions par jour peut prévenir les transactions excessives et réduire les coûts de transaction.

Résumer

La stratégie de rupture haute et basse combinée à la tendance alpha et au filtrage des moyennes mobiles est un système de négociation complet qui identifie les changements de tendance potentiels et les opportunités de négociation à l’aide d’une combinaison de multiples indicateurs techniques. L’avantage de la stratégie réside dans son mécanisme de confirmation à plusieurs niveaux et sa fonctionnalité de gestion des risques intégrée, lui permettant de maintenir une performance relativement stable dans une variété de conditions de marché.

La stratégie a le potentiel d’être un outil de trading plus robuste et plus adaptable grâce à des optimisations et améliorations continues, telles que l’ajustement des paramètres dynamiques, l’analyse des cadres temporels multiples et l’introduction de l’apprentissage automatique. Enfin, il est recommandé aux traders de tester et d’optimiser suffisamment les paramètres de la stratégie dans un environnement simulé avant de négocier en direct pour s’assurer qu’ils sont conformes à la tolérance au risque des individus et aux objectifs de négociation.

Code source de la stratégie
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Kullanıcının ayarlayabileceği mum sayısı
length = input.int(20, minval=1, title="Number of Bars")

// Stop Loss ve Take Profit seviyeleri
stopLossPerc = input.float(2.0, title="Stop Loss %", minval=0.0) / 100.0
takeProfitPerc = input.float(4.0, title="Take Profit %", minval=0.0) / 100.0

// Trend filtresi için hareketli ortalama
maLength = input.int(50, minval=1, title="Moving Average Length")
ma = ta.sma(close, maLength)

// ATR ve Alpha Trend parametreleri
lengthATR = input.int(14, minval=1, title="ATR Length")
multiplier = input.float(1.5, minval=0.1, step=0.1, title="Multiplier")

// ATR hesaplaması
atr = ta.atr(lengthATR)

// Alpha Trend hesaplaması
upperLevel = close + (multiplier * atr)
lowerLevel = close - (multiplier * atr)

var float alphaTrend = na
alphaTrend := na(alphaTrend[1]) ? close : (close > lowerLevel[1] ? math.max(alphaTrend[1], lowerLevel) : close < upperLevel[1] ? math.min(alphaTrend[1], upperLevel) : alphaTrend[1])

// Son belirlenen mumun en yüksek ve en düşük kapanış fiyatlarını hesaplayalım
highestClose = ta.highest(close, length)
lowestClose = ta.lowest(close, length)

// Alım ve satım sinyalleri
buySignal = close > highestClose[1] and close[1] <= highestClose[1] and close > ma and close > alphaTrend
sellSignal = close < lowestClose[1] and close[1] >= lowestClose[1] and close < ma and close < alphaTrend

// Alım işlemi
if (buySignal)
    strategy.entry("Buy", strategy.long, stop=close * (1 - stopLossPerc), limit=close * (1 + takeProfitPerc))

// Satım işlemi
if (sellSignal)
    strategy.entry("Sell", strategy.short, stop=close * (1 + stopLossPerc), limit=close * (1 - takeProfitPerc))

// Grafik üzerine göstergeler ekleyelim
plot(highestClose, color=color.green, linewidth=2, title="Highest Close")
plot(lowestClose, color=color.red, linewidth=2, title="Lowest Close")
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(alphaTrend, color=color.orange, linewidth=2, title="Alpha Trend")

// Alım ve satım sinyalleri için işaretleyiciler ekleyelim
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")