Stratégie de rupture de la moyenne mobile à retard double

Auteur:ChaoZhang est là., Date: 2024-04-01 11:58:55 Je suis désolé
Les étiquettes:

img

Résumé

La Dual Moving Average Lagging Breakout Strategy est une stratégie de trading d'analyse technique couramment utilisée. Cette stratégie combine deux moyennes mobiles simples (SMA) avec des périodes différentes et l'indicateur Average True Range (ATR), visant à capturer les points tournants des tendances du marché et à réaliser un trading à faible risque et à haut rendement.

Principe de stratégie

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

  1. Calculer deux moyennes mobiles simples avec des périodes différentes, avec des périodes de défaut de 14 et 50.
  2. Calculer l'indicateur ATR pour mesurer la volatilité du marché, avec une période par défaut de 14 jours.
  3. Tracez les bandes supérieure et inférieure de l'ATR comme plages de référence pour les fluctuations de prix. La bande supérieure est obtenue en ajoutant l'ATR multiplié par un facteur (défaut 1.5) au prix le plus élevé et la bande inférieure est obtenue en soustrayant l'ATR multiplié par le facteur du prix le plus bas.
  4. Lorsque le prix de clôture dépasse la moyenne mobile à court terme et que la moyenne mobile à court terme dépasse la moyenne mobile à long terme, un signal long est généré et une flèche ascendante est dessinée sous le chandelier.
  5. Lorsque le prix de clôture dépasse la moyenne mobile à court terme et que la moyenne mobile à court terme dépasse la moyenne mobile à long terme, un signal court est généré et une flèche descendante est dessinée au-dessus du chandelier.
  6. Le niveau de stop-loss est le prix le plus bas moins l'ATR multiplié par le facteur, et le niveau de take-profit est le prix d'entrée plus (prix d'entrée - niveau de stop-loss) multiplié par 2.

D'après les principes énoncés ci-dessus, cette stratégie combine le jugement de tendance du système des moyennes mobiles et la mesure de la volatilité de l'indicateur ATR, en mettant l'accent sur le suivi de la tendance tout en contrôlant le risque de recours, ce qui en fait une stratégie de suivi de tendance.

Analyse des avantages

La stratégie de rupture par retard de la moyenne mobile double présente les avantages suivants:

  1. Suivi de tendance: Il juge la direction de la tendance à travers le système de moyenne mobile, capture les principales tendances du marché et suit le marché.
  2. Contrôle des risques: il utilise l'indicateur ATR pour mesurer la volatilité du marché et fixe des niveaux raisonnables d'arrêt des pertes afin de maintenir les retraits dans une fourchette acceptable.
  3. Paramètres flexibles: des paramètres tels que les périodes moyennes mobiles, la période ATR et le multiplicateur peuvent être optimisés et ajustés en fonction des différents marchés et instruments, ce qui offre un certain degré d'universalité.
  4. Simple et direct: Les signaux de trading sont simples et clairs, adaptés aux investisseurs de différents niveaux.

Analyse des risques

Bien que cette stratégie présente certains avantages, elle comporte néanmoins les risques suivants:

  1. Commerce fréquent: lorsque le marché est très volatil et que la tendance n'est pas claire, cette stratégie peut générer des signaux de trading fréquents, ce qui augmente les coûts de trading.
  2. Décalage: Le système des moyennes mobiles présente par nature un certain décalage, et il peut y avoir un certain retrait au début des points tournants du marché.
  3. Optimisation des paramètres: différents paramètres ont une incidence significative sur les performances de la stratégie, ce qui nécessite une optimisation des paramètres pour différents marchés et instruments, ce qui accroît la difficulté de mise en œuvre.

Pour faire face aux risques susmentionnés, la stratégie peut être optimisée et améliorée dans les domaines suivants:

  1. Introduisez le filtrage des tendances: avant de générer des signaux de trading, déterminez d'abord la direction de la tendance de la période plus longue et ne négociez que lorsque la tendance est claire dans la période plus longue, ce qui réduit la fréquence des transactions.
  2. Optimiser le stop-loss et le take-profit: envisager l'introduction de méthodes de stop-loss dynamiques telles que le trailing stop-loss et le volatility stop-loss, ainsi que l'ajustement dynamique des niveaux de take-profit en fonction de la volatilité du marché afin d'améliorer la flexibilité de la stratégie.
  3. Optimisation de la combinaison: combiner cette stratégie avec d'autres indicateurs techniques ou facteurs fondamentaux pour améliorer la robustesse de la stratégie.

Direction de l'optimisation

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

  1. Optimisation adaptative des paramètres: pour différents instruments et délais, trouver automatiquement la combinaison optimale de paramètres pour réduire la charge de travail du réglage manuel des paramètres. Des méthodes telles que les algorithmes génétiques et la recherche de grille peuvent être utilisées pour l'optimisation.
  2. Filtrage des signaux: après avoir généré des signaux de négociation, introduire d'autres indicateurs techniques ou facteurs fondamentaux pour la confirmation secondaire des signaux afin d'améliorer la qualité du signal.
  3. Gestion des positions: lors de l'ouverture de positions, ajustez dynamiquement la taille des positions en fonction de facteurs tels que la volatilité du marché et le risque du compte pour contrôler le risque de transaction unique.
  4. Trailing stop-loss: Le niveau initial de stop-loss est fixe. Au fur et à mesure que le prix se déplace dans une direction favorable, envisagez de déplacer le niveau de stop-loss dans la direction favorable ainsi que de réduire le retrait et d'améliorer l'efficacité de l'utilisation du capital.

Les optimisations ci-dessus peuvent améliorer l'adaptabilité, la robustesse et la rentabilité de la stratégie, mais il convient de noter qu'une optimisation excessive peut entraîner un ajustement de la courbe, entraînant de mauvaises performances hors échantillon.

Résumé

La Stratégie de rupture de retard de moyenne mobile double est une stratégie classique de suivi de tendance qui détermine la direction de la tendance à travers le système de moyenne mobile et contrôle le risque à l'aide de l'indicateur ATR, capturant les mouvements de tendance tout en gérant le risque.


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

//@version=4
strategy(title="2 Moving Averages", shorttitle="2MA", overlay=true)

// Moving Averages
len = input(14, minval=1, title="Length MA1")
src = input(close, title="Source MA1")
ma1 = sma(src, len)

len2 = input(50, minval=1, title="Length MA2")
src2 = input(close, title="Source MA2")
ma2 = sma(src2, len2)

// Plotting Moving Averages
plot(ma1, color=#0b6ce5, title="MA1")
plot(ma2, color=#00ff80, linewidth=2, title="MA2")

// ATR Bands
atrLength = input(14, title="ATR Length")
atrMultiplier = input(1.5, title="ATR Multiplier")
upperBand = high + atr(atrLength) * atrMultiplier
lowerBand = low - atr(atrLength) * atrMultiplier

u =plot(upperBand, color=color.rgb(217, 220, 223, 84), title="ATR Upper Band")
l = plot(lowerBand, color=color.rgb(217, 220, 223, 84), title="ATR Lower Band")
fill(u, l, color=#471eb821, title="ATR Background")

// Conditions for plotting arrows
upArrowCondition = ma1 > ma2 and crossover(close, ma1)
downArrowCondition = ma1 < ma2 and crossunder(close, ma1)

// Plotting arrows
plotshape(upArrowCondition, style=shape.arrowup, color=color.rgb(66, 45, 255), size=size.normal, location=location.belowbar, title="Up Arrow")
plotshape(downArrowCondition, style=shape.arrowdown, color=color.red, size=size.normal, location=location.abovebar, title="Down Arrow")
// Checkbox for trade execution
showTrades = input(true, title="Hiển thị giao dịch")

// Buy Condition
if (upArrowCondition and showTrades)
    strategy.entry("Buy", strategy.long)

// Sell Condition
if (downArrowCondition and showTrades)
    strategy.entry("Sell", strategy.short)

// Stop Loss and Take Profit
stopLossBuy = low - atr(14) * atrMultiplier
takeProfitBuy = close + (close - stopLossBuy) * 2

stopLossSell = high + atr(14) * atrMultiplier
takeProfitSell = close - (stopLossSell - close) * 2

strategy.exit("Exit Buy", "Buy", stop=stopLossBuy, limit=takeProfitBuy)
strategy.exit("Exit Sell", "Sell", stop=stopLossSell, limit=takeProfitSell)



Plus de