Stratégie de suivi des tendances sur plusieurs périodes avec filtre 200EMA - Long Only

EMA
Date de création: 2024-05-23 18:07:50 Dernière modification: 2024-05-23 18:07:50
Copier: 3 Nombre de clics: 826
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances sur plusieurs périodes avec filtre 200EMA - Long Only

Aperçu

La stratégie est une stratégie de suivi de la tendance basée sur les moyennes mobiles de l’indice à plusieurs périodes (EMA) et le filtre EMA à 200 périodes. L’idée principale est d’utiliser les EMA de différentes périodes pour identifier la direction de la tendance du marché et d’établir des positions multiples lorsque la tendance est à la hausse et que le prix est au-dessus de l’EMA à 200 périodes.

La stratégie utilise trois périodes de 5 minutes, 15 minutes et 30 minutes pour calculer les EMA rapides et les EMA lentes. La direction de la tendance de chaque période peut être déterminée en comparant les EMA rapides et les EMA lentes de chaque période.

Principe de stratégie

  1. L’EMA rapide (par défaut 9) et l’EMA lente (par défaut 21) sont respectivement calculées pour les périodes de 5 minutes, 15 minutes et 30 minutes.
  2. Calculer une EMA de 200 périodes sur une période de 5 minutes comme filtre de tendance.
  3. Pour chaque période, comparer la taille des EMA rapides et des EMA lentes, avec les EMA rapides en hausse comme tendance à la hausse ((+1)), et les EMA lentes en hausse comme tendance à la baisse comme tendance à la baisse ((-1).
  4. Si on additionne les signaux de tendance des trois périodes, on obtient un intervalle de[-3, 3] est un signal de tendance composite.
  5. Lorsque le signal de tendance composite est égal à 3 (… forte hausse) et que le cours de clôture est en cours au-dessus de l’EMA 200 à 5 minutes, ouvrez une position plus élevée.
  6. Lorsque le signal de tendance composite est inférieur à 3 (faible tendance à la hausse) ou lorsque le prix est inférieur à l’EMA 200 de 5 minutes, la position est levée.
  7. Le stop loss est fixé à 1% en dessous du prix d’ouverture, et le stop stop est fixé à 3% au-dessus du prix d’ouverture.

Analyse des avantages

  1. L’utilisation de signaux de tendance sur plusieurs périodes permet de juger plus globalement les tendances du marché et de réduire les faux signaux.
  2. Le filtre EMA 200 garantit que les transactions se déroulent uniquement dans une forte tendance haussière, ce qui augmente le taux de réussite.
  3. Des conditions strictes d’ouverture de positions et de stop-loss permettent de contrôler les risques et d’améliorer le ratio risque/rendement.
  4. Les paramètres sont réglables pour différents marchés et styles de négociation.

Analyse des risques

  1. Les réactions peuvent être lentes à un tournant de tendance, ce qui peut entraîner la perte du meilleur moment pour prendre position.
  2. La fréquence des positions creuses peut augmenter les coûts de transaction.
  3. La position de stop loss est fixe et peut être stoppée plus tôt en cas de forte volatilité.
  4. Les jugements de tendance sont basés sur des données historiques, et la réaction aux fluctuations de prix causées par des événements soudains peut être tardive.

Direction d’optimisation

  1. L’introduction d’autres périodes ou l’optimisation des périodes existantes améliorent la précision et l’actualité de la détection des tendances.
  2. Optimisation des positions de stop loss et de stop loss, par exemple en introduisant des stops de suivi ou des stops dynamiques pour s’adapter aux différentes conditions du marché.
  3. Outre les signaux de tendance, l’introduction d’autres signaux tels que le volume de transactions, la dynamique, etc., crée des conditions de plafonnement multifonctionnelles et améliore la stabilité de la stratégie.
  4. Optimiser les paramètres pour trouver la combinaison de paramètres la plus adaptée au marché actuel.
  5. Envisagez d’intégrer le mécanisme de couverture et d’élargir sa portée.

Résumer

La stratégie juge la direction de la tendance en comparant les EMA sur plusieurs périodes de temps, en utilisant les EMA de 200 jours comme filtre de tendance et en établissant des positions multiples pour saisir la tendance à la hausse lorsque la tendance est clairement à la hausse et que le prix est au-dessus de la moyenne à long terme. Des conditions d’ouverture de position strictes et des arrêts de perte fixes aident à contrôler les risques. Dans le futur, il est possible d’améliorer l’adaptabilité et la solidité des stratégies en introduisant plus de délais, en optimisant les stop-loss, en ajoutant plus de signaux de négociation et en optimisant les paramètres, afin de mieux saisir les opportunités du marché et de mieux maîtriser les risques.

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

//@version=5
strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
fast_length = input.int(9, title="Fast EMA Length", minval=1)
slow_length = input.int(21, title="Slow EMA Length", minval=1)
filter_length_200 = input.int(200, title="200 EMA Length", minval=1)
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100
take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100

// Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes
ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

// Calculate 200 EMA for the 5-minute timeframe
ema_200_5min = ta.ema(close, filter_length_200)

// Determine the trend for each timeframe
trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1
trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1
trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1

// Combine trend signals
combined_trend = trend_5min + trend_15min + trend_30min

// Define entry and exit conditions with 200 EMA filter
enter_long = combined_trend == 3 and close > ema_200_5min
exit_long = combined_trend < 3 or close < ema_200_5min

// Plot EMAs for the 5-minute timeframe
plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min")
plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min")
plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min")

// Strategy execution
if (enter_long)
    strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc))
if (exit_long)
    strategy.close("Long")