Stratégie de trading de suivi de tendance dynamique EMA

EMA ATR
Date de création: 2024-05-11 11:31:46 Dernière modification: 2024-05-11 11:31:46
Copier: 0 Nombre de clics: 627
1
Suivre
1617
Abonnés

Stratégie de trading de suivi de tendance dynamique EMA

Les résultats sont les suivants: La stratégie utilise des indicateurs techniques tels que les moyennes mobiles indicielles (EMA), les prix maximaux, les prix minimaux et l’amplitude réelle moyenne (ATR) pour identifier la direction de la tendance actuelle en jugeant la relation entre le prix et les EMA, les prix maximaux et les prix minimaux, en achetant lorsque le prix atteint le plus bas vers le haut, en vendant lorsque le prix atteint le plus haut vers le bas ou atteint la résistance dynamique, afin de capturer la tendance et de tirer un profit supplémentaire.

Le principe de la stratégie

  1. Le calcul de l’ATR sert à mesurer les fluctuations du marché et sert de base à la construction d’un canal dynamique.
  2. Calculer les prix maximaux et minimaux pour déterminer la direction de la tendance.
  3. Calculer EMA_HL, c’est-à-dire les EMA des prix les plus élevés et les plus bas, comme axe central du canal dynamique.
  4. Calculer EMA_HIGHEST et EMA_LOWEST, c’est-à-dire le haut et le bas des voies obtenus en ajoutant et en soustrayant l’ATR multiplié par un certain pourcentage sur la base de l’EMA_HL.
  5. Calculer SELL_LINE, c’est-à-dire le point de résistance dynamique obtenu en multipliant ATR par un certain pourcentage sur la base du prix le plus élevé.
  6. Un signal d’achat est généré lorsque l’EMA_LOWEST atteint le seuil le plus bas et que le prix de clôture est inférieur au MID.
  7. Déterminer le signal de vide: générer un signal de vente lorsque EMA_HIGHEST dépasse le prix le plus élevé vers le bas et que le prix de clôture est supérieur à EMA_MID, ou lorsque le prix le plus élevé touche SELL_LINE.

Les avantages stratégiques

  1. Le signal a une grande fiabilité en utilisant des indicateurs tels que l’EMA, les prix les plus élevés et les prix les plus bas pour évaluer les tendances.
  2. L’introduction de l’ATR comme mesure de la volatilité, la construction d’un canal dynamique adapté aux différentes conditions du marché.
  3. La résistance dynamique de SELL_LINE permet de verrouiller les bénéfices en temps opportun et de contrôler le risque de retrait.
  4. Les paramètres sont réglables, adaptés à différentes variétés et périodes, avec une certaine universalité et flexibilité.

Le risque stratégique

  1. Le retard dans la détection des tendances peut être à l’origine d’une période d’entrée inadéquate.
  2. Une mauvaise configuration des paramètres peut entraîner des signaux fréquents et augmenter les coûts de transaction.
  3. Pour les marchés en crise, la stratégie peut être moins performante et doit être évaluée en combinaison avec d’autres méthodes.
  4. Dans des cas extrêmes, comme un changement de disque rapide, la stratégie peut ne pas fonctionner et nécessiter un arrêt de perte.

Le gouvernement a décidé d’envoyer un message de soutien à l’opposition.

  1. L’introduction d’autres indicateurs tels que le volume de transactions, le taux de fluctuation, etc., enrichit la dimension de jugement des tendances et améliore la fiabilité du signal.
  2. Optimisation des paramètres, tels que les multiples ATR, les cycles EMA, etc., pour trouver la combinaison optimale de paramètres et améliorer la stabilité de la stratégie.
  3. Adhésion à la gestion des positions, comme l’ajustement des positions en fonction de la dynamique ATR, pour contrôler l’excédent de risque individuel.
  4. Il est possible de régler des arrêts et des arrêts de perte, de contrôler les pertes maximales et les gains maximaux individuels et d’améliorer le ratio risque/bénéfice.
  5. En combinaison avec d’autres stratégies, telles que la stratégie de rupture, la stratégie de retour à la valeur moyenne, etc., la composition de la stratégie améliore la stabilité globale.

Je ne sais pas si je vais le faire. Cette stratégie utilise des indicateurs techniques tels que les EMA, les prix les plus élevés et les prix les plus bas, en combinaison avec l’ATR pour construire des canaux dynamiques, générer des signaux de transaction en brisant les prix les plus élevés et les prix les plus bas pour capturer la tendance. C’est une stratégie de suivi de tendance simple et pratique.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Maboi_q

//@version=5
strategy("buy sell Trend", overlay=true)

atr_length = input.int(defval=14, title='atr length')
highest_length = input.int(defval=60, title='highest length')
highest_s_length = input.int(defval=60, title='sell highest length')
lowest_length = input.int(defval=30, title='lowest length')
sell_l_length = input.int(defval=55, title='sell line length')

f = 2.382
f2 = 5.618

atr = ta.atr(atr_length)
highest = ta.highest(highest_length)
lowest = ta.lowest(lowest_length)

f_atr = atr * f
ema_hl = ta.ema((highest[1] + lowest[1]) / 2, 14)
ema_highest = ema_hl + f_atr
ema_lowest = ema_hl - f_atr
ema_mid = (ema_highest + ema_lowest) / 2

bs_hi = ta.highest(highest_s_length)
f_atr2 = atr * f2
sell_line = ta.ema(bs_hi[1] + f_atr2, sell_l_length)

buy_cond = ta.crossover(ema_lowest, lowest) and close < ema_mid
sell_cond = (ta.crossunder(ema_highest, highest) and close > ema_mid) or high >= sell_line

if buy_cond
    strategy.entry('BUY', strategy.long)

if sell_cond
    strategy.entry('SELL', strategy.short)


plot(sell_line, color=color.new(color.maroon, 50))
plot(highest, color=color.new(color.red, 50))
plot(lowest, color=color.new(color.green, 50))
plot(ema_highest, color=color.new(color.blue, 50))
// plot(ema_mid, color=color.new(color.gray, 50))
plot(ema_lowest, color=color.new(color.blue, 50))

plotshape(buy_cond, title='buy', style=shape.triangleup, location=location.belowbar, 
 color=color.green, textcolor=color.green, size=size.tiny)

plotshape(sell_cond, title='sell', style=shape.triangledown, location=location.abovebar, 
 color=color.red, textcolor=color.red, size=size.tiny)