Stratégies de suivi de tendance basées sur les moyennes mobiles


Date de création: 2024-01-22 17:26:04 Dernière modification: 2024-01-22 17:26:04
Copier: 0 Nombre de clics: 575
1
Suivre
1617
Abonnés

Stratégies de suivi de tendance basées sur les moyennes mobiles

Aperçu

Cette stratégie utilise les moyennes mobiles rapides et les moyennes mobiles lentes pour construire des signaux de négociation permettant l’identification et le suivi des tendances. Elle génère un signal d’achat lorsque la ligne rapide traverse la ligne lente et un signal de vente lorsque la ligne rapide traverse la ligne lente.

Principe de stratégie

La stratégie utilise deux moyennes mobiles exponentielles de différentes périodes comme base de décision de négociation. Le paramètre des moyennes mobiles rapides est défini à 30 jours pour capturer les variations de prix à court terme. Le paramètre des moyennes mobiles lentes est défini à 100 jours pour déterminer la direction de la tendance à long terme des prix.

Lorsque la ligne rapide traverse la ligne lente par le bas, le marché entre dans une tendance à la hausse, générant un signal d’achat. Lorsque la ligne rapide traverse la ligne lente par le bas, le marché entre dans une tendance à la baisse, générant un signal de vente.

Avantages stratégiques

Cette stratégie présente les avantages suivants:

  1. La construction en ligne uniforme permet d’éliminer efficacement le bruit du marché à court terme, en fonction de l’évolution.
  2. La stratégie de la double ligne d’équilibre permet de déterminer clairement la direction de la tendance.
  3. Pour optimiser les paramètres, il est possible de personnaliser la période moyenne rapide et lente.
  4. Il est équipé d’une fonctionnalité permettant de suivre les tendances à long terme et à court terme.
  5. Les règles sont simples, claires, faciles à comprendre et adaptées aux débutants.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Il est possible de réduire le risque en optimisant les paramètres de la ligne moyenne.
  2. Il est impossible de juger et de gérer efficacement les situations exceptionnelles de fortes fluctuations des prix. Des arrêts de perte peuvent être mis en place pour contrôler le risque.
  3. Le système de ligne moyenne est lui-même retardé et peut manquer le point de basculement des prix. Il peut être optimisé en combinaison avec d’autres indicateurs.

Direction d’optimisation

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

  1. Optimiser les paramètres de périodicité de la moyenne pour améliorer l’efficacité des bénéfices.
  2. Ajout d’autres critères de jugement, tels que le volume des transactions, afin d’éviter les fausses ruptures.
  3. Il est important d’augmenter les stratégies de stop-loss et de contrôler les pertes individuelles.
  4. Les indicateurs de tendance sont utilisés pour évaluer la force de la tendance et éviter qu’elle ne se retourne.
  5. Ajout de fonctionnalités d’optimisation des paramètres pour rendre les stratégies plus universelles.

Résumer

Cette stratégie est basée sur un système de décision de négociation basé sur deux courbes, pour juger de la tendance du marché par la relation de prix entre les courbes rapides et les courbes lentes. La génération de signaux est simple et claire. La stratégie filtre une partie du bruit et est adaptée aux transactions de courbe moyenne et longue.

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

//@version=2
strategy("EMA Strategy v2", shorttitle = "EMA Strategy v2", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 30, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 100, title = "Slow MA Period", minval = 1)

// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop     = input(defval = true, title = "Use Initial Stop Loss?")
slPoints    = input(defval = 0, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 0, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 0, title = "Trail Offset Points", minval = 1)

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.58)