La stratégie de suivi des moyennes mobiles est une stratégie de suivi des tendances basée sur une moyenne mobile simple. Elle utilise une moyenne mobile simple de 200 jours pour déterminer la direction de la tendance des prix. Lorsque le prix dépasse la moyenne mobile, il va long. Lorsque le prix dépasse la moyenne mobile, il va court. Cette stratégie suit la tendance au profit.
La stratégie repose sur les principes suivants:
La stratégie suit la tendance en déplaçant la direction moyenne et effectue des transactions inverses lorsque le croisement MA se produit, pour tirer profit de la tendance.
La stratégie présente les avantages suivants:
Il y a aussi des risques:
Les risques peuvent être gérés par les optimisations suivantes:
La stratégie peut être encore optimisée dans les aspects suivants:
Optimiser le paramètre de la période MA en utilisant des méthodes telles que l'analyse de marche vers l'avenir pour trouver les paramètres optimaux.
Ajouter une MA à court terme pour suivre les tendances à long terme et à court terme.
Incorporer des indicateurs de tendance comme le MACD pour améliorer l'identification de l'inversion de tendance.
Ajoutez des mécanismes de stop-loss tels que le stop-loss de suivi pour contrôler les pertes d'une seule transaction.
Test de robustesse sur différents produits et périodes de temps.
Utilisez l'apprentissage automatique pour l'optimisation adaptative par paramètres.
La stratégie de suivi des moyennes mobiles est une stratégie simple et pratique de suivi des tendances. Elle a une logique claire et est facile à mettre en œuvre pour capturer les tendances. Mais elle présente également certaines faiblesses telles que son insensibilité aux corrections à court terme et son faible contrôle des risques. Nous pouvons optimiser la stratégie à partir de plusieurs aspects pour la rendre plus robuste, mieux paramétrée et avec une gestion des risques plus forte. Dans l'ensemble, la stratégie de suivi des moyennes mobiles a une bonne valeur d'application et est un concept de trading de tendance important dans le trading quantitatif.
/*backtest start: 2023-09-19 00:00:00 end: 2023-10-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0) /////////////// Time Frame /////////////// testStartYear = input(2012, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0) testPeriod() => true ///////////// MA 200 ///////////// slowMA = sma(close, input(200)) /////////////// Strategy /////////////// long = close > slowMA short = close < slowMA last_long = 0.0 last_short = 0.0 last_long := long ? time : nz(last_long[1]) last_short := short ? time : nz(last_short[1]) long_signal = crossover(last_long, last_short) short_signal = crossover(last_short, last_long) /////////////// Execution /////////////// if testPeriod() strategy.entry("Long Entry", strategy.long, when=long_signal) strategy.entry("Short Entry", strategy.short, when=short_signal) strategy.exit("Long Ex", "Long Entry") strategy.exit("Short Ex", "Short Entry") /////////////// Plotting /////////////// plot(slowMA, color = long ? color.lime : color.red, linewidth=2) bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80) bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)