Cette stratégie est un système de suivi de tendance basé sur une combinaison de plusieurs moyennes mobiles, utilisant principalement les relations de croisement et de position entre l'EMA20 hebdomadaire, l'EMA100 quotidien, l'EMA50 quotidien et l'EMA20 quotidien pour saisir les opportunités d'investissement à moyen et long terme.
La logique de base de la stratégie repose sur les conditions clés suivantes: 1. Utilise la moyenne mobile exponentielle hebdomadaire de 20 périodes (EMA1W20) comme indicateur de tendance principal 2. Combine avec la moyenne mobile simple de 100 jours (SMA1D100) pour la confirmation de tendance secondaire 3. Utilise la moyenne mobile simple à 50 jours (SMA1D50) comme référence de tendance à moyen terme 4. Utilise la moyenne mobile exponentielle à 20 jours (EMA1D20) pour la confirmation de la tendance à court terme Le système génère un signal long lorsque le prix se maintient au-dessus de l'EMA1W20 et du SMA1D100 pendant 14 jours consécutifs, puis tombe en dessous du SMA1D50.
Cette stratégie établit une tendance relativement complète en suivant le système à travers de multiples combinaisons de moyennes mobiles, adaptées aux investisseurs à moyen et long terme. Bien qu'elle comporte certains risques de retard et de sensibilité aux paramètres, la stratégie a une valeur pratique grâce à un contrôle correct des risques et une optimisation continue.
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 1h 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/ // © petitepupu //@version=5 ema20wTemp = ta.ema(close, 20) ema20w = request.security(syminfo.tickerid, "1W", ema20wTemp, barmerge.gaps_on, barmerge.lookahead_off) sma100d = ta.sma(close, 100) sma50d = ta.sma(close, 50) ema20d = ta.ema(close, 20) daysAbove = input.int(14, title="Days", minval=1) plot(ema20w, color=color.blue) plot(sma100d, color=color.yellow) plot(sma50d, color=color.red) plot(ema20d, color=color.green) longCondition = true clean = true for i = 0 to daysAbove if close[i] < ema20w or close[i] < sma100d or close > sma50d longCondition := false clean := false break //TODO: if clean != true longCondition := true for i = 0 to daysAbove if close[i] > ema20w or close[i] > sma100d or close >= ema20d or -100 * (close - ema20d)/ema20d < 5.9 longCondition := false break // plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", size = size.small) if (longCondition) strategy.entry("Long", strategy.long) strategy(title="LT Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=800)