Stratégie de suivi de tendance basée sur le croisement de moyennes mobiles


Date de création: 2024-01-31 15:17:31 Dernière modification: 2024-01-31 15:17:31
Copier: 1 Nombre de clics: 597
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance basée sur le croisement de moyennes mobiles

Aperçu

Cette stratégie consiste à déterminer et à suivre les tendances en calculant différents types de moyennes (SMA, EMA, HMA et VWMA) et en recherchant leurs points d’intersection. Elle génère un signal d’achat lorsque la moyenne plus courte traverse la moyenne plus longue en bas et un signal de vente lorsque la moyenne plus courte traverse la moyenne plus longue en haut.

Principe de stratégie

Cette stratégie consiste principalement à comparer les relations entre deux lignes de moyenne différentes pour déterminer la tendance. Plus précisément, le type et la longueur des deux lignes de moyenne sont définis par des paramètres d’entrée. La première ligne de moyenne est plus longue et représente la tendance à long terme; la seconde, plus courte, représente la tendance à court terme.

Lorsque la courte moyenne passe en dessous de la moyenne à long terme, elle représente une tendance à court terme de plus en plus forte, le marché entrant dans une tendance à la hausse, donc un signal d’achat est émis à cet intersection. Inversement, lorsque la courte moyenne passe en haut de la moyenne à long terme, elle représente une tendance à court terme de plus en plus faible, le marché entrant dans une tendance à la baisse, donc un signal de vente est émis à cet intersection.

Il s’agit d’une méthode de négociation qui permet de suivre les tendances du marché.

Avantages stratégiques

  • La tendance principale à l’utilisation de la mesure de la transversalité moyenne est un indicateur technique classique et pratique.
  • Prise en charge de plusieurs types de combinaisons homogènes, avec une grande flexibilité
  • La logique de la stratégie est simple et claire, facile à comprendre, adaptée à l’automatisation des transactions quantitatives
  • Les paramètres configurables sont flexibles et s’appliquent à différents environnements de marché

Analyse des risques

  • La ligne moyenne a un caractère retardé, le mouvement des prix peut avoir eu lieu ou être proche d’un point d’inversion au moment de l’émission d’un signal de croisement, et il existe un certain risque de faux signaux de retard.
  • Les jugements de tendance peuvent être mal interprétés et entraîner des pertes inutiles
  • Les paramètres de la moyenne doivent être configurés de manière raisonnable, et des paramètres différents peuvent entraîner des résultats très différents.

Comment gérer les risques:

  • Réduire de manière appropriée le cycle de la moyenne et accroître la sensibilité aux changements du marché
  • Vérifier en combinaison avec d’autres indicateurs pour éviter les erreurs de jugement
  • Les méthodes d’optimisation par paramètres: parcours, apprentissage automatique, algorithmes génétiques, etc.
  • Maîtrise adéquate de la taille des positions et des points de rupture

Orientation de l’optimisation de la stratégie

  • Ajout de filtres sur d’autres indicateurs, combinés à des jugements sur plusieurs indicateurs, pour améliorer l’exactitude des décisions
  • Ajustement automatique des paramètres de la ligne moyenne en fonction de l’environnement du marché
  • Algorithme d’apprentissage automatique combiné avec des paramètres de recherche d’optimisation
  • Optimiser les stratégies de stop loss

Résumer

Cette stratégie est basée sur l’idée classique de juger les principales tendances de la ligne de croix uniforme, avec une application flexible par la combinaison de différentes lignes de croix uniforme. La logique de la stratégie est simple, facile à mettre en œuvre et adaptée à l’automatisation des transactions.

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

//@version=3
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])

ma2 = input(7, title="2nd MA Length")
type2 = input("HMA", "2nd MA Type", options=["SMA", "EMA", "HMA", "VWMA"])

f_hma(_src, _length)=>
    _return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    if (type1 == "EMA")
        ema(price, ma1)
    else
        if (type1 == "VWMA")
            vwma(price, ma1)
        else
            f_hma(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    if (type2 == "EMA")
        ema(price, ma2)
    else
        if (type2 == "VWMA")
            vwma(price, ma2)
        else
            f_hma(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


longCondition = crossover(price1, price2)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(price1, price2)
if (shortCondition)
    strategy.entry("Short", strategy.short)