Stratégie de suivi de la moyenne mobile


Date de création: 2023-10-20 17:02:52 Dernière modification: 2023-10-20 17:03:32
Copier: 2 Nombre de clics: 614
1
Suivre
1617
Abonnés

Stratégie de suivi de la moyenne mobile

Aperçu

La stratégie de suivi des moyennes mobiles est une stratégie de suivi des tendances basée sur des moyennes mobiles simples. Elle utilise des moyennes mobiles simples de 200 jours pour déterminer la direction de la tendance des prix.

Principe de stratégie

Cette stratégie est basée sur les principes suivants:

  1. Utilisez une moyenne mobile simple de 200 jours pour déterminer la direction de la tendance des prix.
  2. Quand le prix de clôture est en bas de l’AMC, on pense que le marché est en hausse, alors on fait plus.
  3. Lorsque le prix de clôture est en dessous de la SlowMA, le marché est considéré comme en baisse et donc vide.
  4. Les variables last_long et last_short permettent d’enregistrer la dernière fois qu’une action a été exécutée.
  5. Le croisement de last_long et last_short est déterminé par la fonction crossover pour générer un signal de transaction.
  6. Pendant la période de retransmission, le signal long_signal est plus long que le signal court_signal.

Cette stratégie consiste à déterminer la direction de la tendance à l’aide de moyennes mobiles et à effectuer des opérations inverses en temps opportun en cas de revirement de la ligne de parité, ce qui permet de tirer profit de la tendance.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Les idées stratégiques sont simples, claires, faciles à comprendre et à mettre en œuvre.
  2. L’utilisation de moyennes mobiles à longue période permet de filtrer efficacement le bruit et de localiser les principales tendances.
  3. Les opérations de rétrogradation effectuées en temps opportun permettent de capturer des fluctuations de prix plus importantes à des points de basculement.
  4. Il suffit d’un seul indicateur de la moyenne mobile pour éviter la complexité de la combinaison de plusieurs indicateurs.
  5. Les règles d’entrée et de sortie sont claires et ne nécessitent pas beaucoup d’intervention humaine.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les moyennes à long terme sont insensibles aux ajustements à court terme et risquent de manquer l’occasion d’une courte ligne.
  2. La capacité de reconnaissance des tendances cycliques majeures est faible et les pertes de réversion sont plus fréquentes.
  3. Le mécanisme de non-stop pourrait entraîner un retrait plus important.
  4. Les paramètres sont fixes et la capacité d’adaptation aux différentes variétés et aux conditions du marché est faible.
  5. Il existe un risque d’hyperadaptation si les stratégies sont testées uniquement sur des données historiques.

L’optimisation et l’amélioration des risques peuvent être réalisées dans les domaines suivants:

  1. La moyenne à court terme est combinée avec les tendances à long terme.
  2. Il a ajouté des conditions à son portefeuille pour éviter de fausses ruptures.
  3. Ajout de filtres sur les indicateurs de tendance, améliorant la capacité d’identification des retournements de tendance.
  4. L’augmentation des mécanismes d’arrêt dynamique des pertes et le contrôle des pertes individuelles.
  5. L’utilisation de méthodes d’optimisation des paramètres pour améliorer l’adaptabilité des paramètres.
  6. Tests de réplication dans différents environnements de marché pour vérifier la robustesse de la stratégie.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimiser les paramètres périodiques des moyennes mobiles pour trouver la combinaison optimale des paramètres. Des méthodes d’optimisation des paramètres telles que l’analyse de marche en avant peuvent être utilisées.

  2. Augmenter les moyennes mobiles à court terme pour former une stratégie multivariée, tout en suivant les tendances à court terme.

  3. L’utilisation d’indicateurs de tendance, tels que le MACD, améliore la capacité d’identifier les revirements de tendance.

  4. L’adhésion à des mécanismes d’arrêt des pertes, tels que le suivi des pertes, la suspension des pertes, etc., pour contrôler les pertes individuelles.

  5. Tests répétitifs, stratégies de test dans différentes variétés et périodes de temps, amélioration de la stabilité.

  6. L’auto-adaptation des paramètres et l’optimisation des stratégies sont réalisées par des méthodes telles que l’apprentissage automatique.

Résumer

La stratégie de suivi des moyennes mobiles est une stratégie de suivi des tendances simple et pratique, dont l’idée est claire et facile à mettre en œuvre, qui permet de capturer les opportunités de tendance. Cependant, la stratégie présente également des problèmes, tels que l’insensibilité aux ajustements à court terme, la faible capacité de contrôle des risques, etc. Nous pouvons l’optimiser de plusieurs façons pour rendre la stratégie plus robuste, plus optimisée en termes de paramètres et de contrôle des risques.

Code source de la stratégie
/*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)