L'ADX, l'MA et l'EMA sont des stratégies de suivi de tendance à long terme uniquement

Auteur:ChaoZhang est là., Date: 2024-01-29 11h30 et 15h
Les étiquettes:

img

Résumé

Cette stratégie utilise principalement l'indicateur ADX pour juger de la tendance et combine les moyennes mobiles MA et EMA avec différents paramètres pour créer une stratégie de suivi de tendance longue. Lorsque l'ADX augmente, cela indique une direction longue. Lorsque le prix franchit la MA et l'EMA ascendantes, ouvrez des positions longues. Lorsque l'ADX tombe ou que le prix tombe en dessous de MA ou EMA, fermez les positions.

Principe de stratégie

La stratégie utilise principalement l'ADX pour juger de la tendance et de la force du marché. L'ADX calcule le degré et la direction des changements de prix pour déterminer l'existence et la force de la tendance. Lorsque l'ADX augmente, cela signifie qu'il est actuellement dans une tendance à la hausse. Lorsque l'ADX tombe, cela signifie que la tendance s'affaiblit.

La stratégie utilise également deux moyennes mobiles, MA et EMA, avec des paramètres différents comme jugement auxiliaire. Ils peuvent filtrer efficacement le hasard des prix et montrer la direction de la tendance principale des prix. Lorsque les prix augmentent et traversent MA et EMA, c'est un signal long. Lorsque les prix chutent et traversent, c'est un signal de fermeture.

Combinant les caractéristiques de l'ADX et des moyennes mobiles, la stratégie construit des signaux de trading pour juger de la direction de la tendance: aller long lorsque l'ADX augmente et que les prix franchissent les MA et EMA ascendantes, et fermer des positions lorsque l'ADX chute ou que les prix franchissent les MA/EMA.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Utilisez ADX pour juger de la force de la tendance, réduire les transactions invalides et suivre les tendances.
  2. La combinaison de deux moyennes mobiles avec des paramètres différents permet d'identifier efficacement les tendances.
  3. Seules les positions longues permettent d'éviter les opérations inverses fréquentes et les pertes par glissement.
  4. Des conditions d'entrée strictes peuvent contrôler efficacement les risques.
  5. Mettre en œuvre une stratégie de suivi des tendances à long terme.

Analyse des risques

Il y a aussi des risques:

  1. L'indicateur ADX a un retard, peut-être manquant le meilleur point d'entrée.
  2. Seules les positions longues ne peuvent pas tirer profit de la chute des marchés.
  3. Il existe un certain risque de perte lorsque les tendances changent.
  4. Des paramètres incorrects affectent également les performances de la stratégie.

Les solutions:

  1. Ajustez les paramètres ADX pour réduire raisonnablement le décalage.
  2. Réglez le stop-loss pour contrôler la perte unique.
  3. Testez et optimisez les paramètres pour sélectionner les meilleurs.

Optimisation

La stratégie peut être optimisée par les aspects suivants:

  1. Ajouter une stratégie de stop loss pour mieux contrôler les risques.
  2. Ajouter la gestion des positions pour ajuster dynamiquement les positions en fonction des conditions du marché.
  3. Tester et optimiser les paramètres pour trouver la meilleure combinaison.
  4. Ajoutez des algorithmes d'apprentissage automatique pour optimiser dynamiquement les paramètres.
  5. Construire des stratégies de martingale pour réduire l'impact du ratio de profit.

Conclusion

En général, il s'agit d'une stratégie de suivi de tendance à long terme qui utilise l'ADX pour juger de la force de la tendance et deux moyennes mobiles comme filtres auxiliaires. Il contrôle efficacement l'apparition de transactions invalides et atteint l'effet de suivi des tendances.


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ADX, MA, and EMA Long Strategy - ADX Trending Up", shorttitle="ADX_MA_EMA_Long_UpTrend", overlay=true)
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
maPeriod = input(50, title="MA Period")
emaPeriod = input(50, title="EMA Period")
dirmov(len) =>
    up = change(high)
    down = -change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    truerange = rma(tr, len)
    plus = fixnan(100 * rma(plusDM, len) / truerange)
    minus = fixnan(100 * rma(minusDM, len) / truerange)
    [plus, minus]
adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
maValue = sma(close, maPeriod)
emaValue = ema(close, emaPeriod)
longCondition = sig > sig[1] and close > maValue and close > emaValue
if (longCondition)
    strategy.entry("Long", strategy.long)
exitCondition = sig < sig[1] or  close < maValue or close < emaValue
if (exitCondition)
    strategy.close("Long")
plot(maValue, color=color.blue, title="MA")
plot(emaValue, color=color.orange, title="EMA")
plot(sig, color=color.red, title="ADX")


Plus de