La stratégie de suivi de tendance à long terme est une stratégie qui suit les tendances des prix en utilisant des moyennes mobiles dynamiques. Elle détermine la tendance actuelle en calculant les moyennes mobiles des prix les plus élevés et les plus bas sur une période et la combine avec l'ATR pour un stop loss dynamique et un profit.
La stratégie calcule d'abord les moyennes mobiles des prix les plus élevés et les plus bas sur une période (défaut 200 jours) et prend leur point médian comme la ligne de base. Puis elle mesure l'écart du prix par rapport à la ligne de base. Si le prix est supérieur à la ligne de base de 1 ATR (0,5 fois l'ATR de 10 jours par défaut), il est considéré comme une tendance haussière. Si le prix est inférieur à la ligne de base de 1 ATR, il est considéré comme une tendance baissière.
Lorsque le prix revient à la ligne de base, des signaux de sortie sont déclenchés.
Les risques peuvent être réduits en ajustant les paramètres de l'ATR, en ajoutant des filtres pour les configurations à forte probabilité et en évaluant les conditions du marché et l'appétit pour le risque.
La stratégie de trading de tendance à long terme est un système de trading de tendance facile à utiliser. Il identifie la direction de la tendance en utilisant des moyennes dynamiques et définit des contrôles de risque avec des arrêts basés sur ATR. Il peut capturer efficacement les fluctuations rentables sur les marchés en tendance.
/*backtest start: 2022-10-10 00:00:00 end: 2023-10-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Trend Following Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length") smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length") atr_length = input(10, type=input.integer, minval=1, title="ATR Length") atr_multiplier = input(0.5, type=input.float, minval=0.5, title="ATR Multiplier") vola = atr(atr_length) * atr_multiplier price = sma(close, 3) l = ema(lowest(low, lookback_length), smoother_length) h = ema(highest(high, lookback_length), smoother_length) center = (h + l) * 0.5 upper = center + vola lower = center - vola trend = ema(price > upper ? 1 : (price < lower ? -1 : 0), 3) c = trend < 0 ? upper : lower pcenter = plot(center, transp=100) pclose = plot(close, transp=100) pc = plot(c, transp=100) buy_signal = crossover(trend, 0.0) sell_signal = crossunder(trend, 0.0) strategy.entry("Buy", strategy.long, when=buy_signal) strategy.close("Buy", when=sell_signal) bgcolor(trend >= 0 ? color.green : color.red, transp=95) fill(pc, pclose, color=trend >= 0 ? color.green : color.red)