Stratégie de négociation combinée de moyenne mobile double et MACD

Auteur:ChaoZhang est là., Date: le 29 février 2024 11:31:48
Les étiquettes:

img

Résumé

La double moyenne mobile et la stratégie de négociation combinée MACD est une stratégie de négociation quantitative qui utilise à la fois des moyennes mobiles et des indicateurs de dynamique pour la génération et la validation des signaux commerciaux.

La logique de la stratégie

Cette stratégie utilise une combinaison de la moyenne mobile simple (SMA) de 20 périodes et de la moyenne mobile exponentielle de 5 périodes (EMA). La SMA de 20 périodes peut lisser efficacement les fluctuations du marché et déterminer les tendances des prix à moyen et long terme, tandis que l'EMA de 5 périodes attribue des poids plus élevés aux prix récents et réagit de manière sensible aux changements de prix à court terme. Des signaux d'achat sont générés lorsque le prix franchit la ligne de 5 périodes alors qu'il est au-dessus de la ligne de 20 périodes, et des signaux de vente sont générés lorsque le prix franchit la ligne de 5 périodes alors qu'il est en dessous de la ligne de 20 périodes. Une telle combinaison de moyenne mobile double garantit que les signaux de trading suivent les tendances majeures tout en améliorant la sensibilité et le timing des signaux grâce à l'introduction de moyennes mobiles à court terme.

Après la génération des signaux commerciaux, l'indicateur MACD est introduit pour valider la tendance. Plus précisément, lorsque les signaux d'achat sont déclenchés, la ligne MACD DIFF doit voir une "croix dorée" avec la ligne DEA qui est maintenue pendant plusieurs périodes pour confirmer une tendance à la hausse; inversement, lorsque les signaux de vente sont déclenchés, une "croix morte" suivie d'une tendance à la baisse pendant plusieurs périodes doit être observée. Cela filtre les transactions bruyantes et évite d'ouvrir fréquemment des positions pendant les consolidations du marché.

Enfin, des niveaux de stop-loss raisonnables sont définis pour les positions longues et courtes. La ligne de stop-loss longue est définie en dessous du point le plus bas depuis l'entrée, tandis que la ligne de stop-loss court est définie au-dessus du point le plus élevé depuis l'entrée. Les niveaux de stop-loss sont mis à jour dynamiquement avec les fluctuations de prix.

Analyse des avantages

  • Les moyennes mobiles doubles permettent d'identifier efficacement la direction des transactions et d'éviter les interférences sonores du marché
  • La validation MACD assure une tendance établie et empêche l'ouverture fréquente de positions lors des consolidations
  • Une stratégie stricte de freinage des pertes maintient les bénéfices au maximum et contrôle le risque de marché
  • Paramètres réglables permettant une optimisation en fonction des caractéristiques du marché et du produit

Analyse des risques

  • Une sélection incorrecte des paramètres MACD peut manquer des tendances plus courtes ou intervenir trop fréquemment
  • Les paramètres de moyenne mobile doivent être testés pour déterminer l'optimum par produit.
  • Le stop loss peut être pénétré dans des marchés à forte tendance, provoquant certaines pertes.

Les paramètres MACD peuvent être ajustés pour une meilleure coopération. En outre, les paramètres de la moyenne mobile de la période doivent être optimisés par caractéristique du produit. Enfin, la plage de stop loss peut être assouplie raisonnablement pour permettre la libération complète des bénéfices pour les mouvements directionnels majeurs.

Directions d'optimisation

Des optimisations supplémentaires peuvent être poursuivies dans les directions suivantes pour cette stratégie:

  1. Introduire des algorithmes adaptatifs de moyennes mobiles. Les combinaisons de moyennes mobiles à période dynamique s'adaptent automatiquement aux marchés sans avoir besoin de réglage manuel des paramètres.

  2. Incorporer des modèles d'apprentissage automatique. Des algorithmes tels que l'apprentissage profond peuvent identifier automatiquement les caractéristiques du marché de différents produits et produire des paramètres optimaux en temps réel.

  3. Ajouter des filtres supplémentaires. D'autres indicateurs techniques peuvent être introduits en plus des signaux actuels comme normes de jugement auxiliaires, comme l'intégration de facteurs de volume.

  4. Optimiser les stratégies de stop loss. Des techniques de stop loss plus intelligentes telles que le stop loss de rupture et le stop loss de suivi devraient être recherchées, afin d'obtenir une plus grande récompense tout en contrôlant le risque.

Résumé

La double moyenne mobile et la stratégie de combinaison MACD considèrent de manière exhaustive des aspects tels que la tendance, l'élan, le contrôle des risques au-delà des limitations d'indicateurs techniques uniques, et peuvent améliorer efficacement la stabilité du trading quantitatif.


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

//@version=5
strategy("Bollinger Band Strategy with Early Signal (v5)", overlay=true)

// Inputs
length = 20
mult = 1.5
src = close
riskRewardRatio = input(3.0, title="Risk-Reward Ratio")

// Calculating Bollinger Bands
basis = ta.ema(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plotting Bollinger Bands
plot(upper, "Upper Band", color=color.red)
plot(lower, "Lower Band", color=color.green)

// Tracking Two Candles Ago Crossing Bollinger Bands
var float twoCandlesAgoUpperCrossLow = na
var float twoCandlesAgoLowerCrossHigh = na

if (close[2] > upper[2])
    twoCandlesAgoUpperCrossLow := low[2]
if (close[2] < lower[2])
    twoCandlesAgoLowerCrossHigh := high[2]

// Entry Conditions
longCondition = (not na(twoCandlesAgoLowerCrossHigh)) and (high > twoCandlesAgoLowerCrossHigh)
shortCondition = (not na(twoCandlesAgoUpperCrossLow)) and (low < twoCandlesAgoUpperCrossLow)

// Plotting Entry Points
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy Execution
if (longCondition)
    stopLoss = low - (high - low) * 0.05
    takeProfit = close + (close - stopLoss) * riskRewardRatio
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", stop=stopLoss, limit=takeProfit)

if (shortCondition)
    stopLoss = high + (high - low) * 0.05
    takeProfit = close - (stopLoss - close) * riskRewardRatio
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", stop=stopLoss, limit=takeProfit)


Plus de