Cette stratégie est un système de suivi des tendances basé sur des moyennes mobiles exponentielles triples (EMA). Elle capture les tendances du marché à travers des signaux croisés et la confirmation de la direction de la tendance en utilisant des EMA rapides, intermédiaires et lents, en prenant exclusivement des positions longues dans les tendances haussières.
La stratégie utilise trois EMA avec des périodes différentes: EMA rapide (périodes réglables de 3 à 20), EMA intermédiaire (périodes réglables de 21 à 60), et EMA lente (périodes fixes de 130).
Cette stratégie représente un système de suivi des tendances bien structuré et logiquement rigoureux. La combinaison de plusieurs indicateurs techniques garantit à la fois fiabilité et flexibilité. Bien qu'il existe une marge d'optimisation, le cadre global fournit une base solide pour une application pratique. Les traders sont invités à optimiser en profondeur les paramètres et à effectuer des tests antérieurs avant la mise en œuvre, en apportant des ajustements spécifiques en fonction des caractéristiques du marché.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estrategia de Largo con Medias Móviles", overlay=true) // Parámetros ajustables de las medias móviles fast_length = input.int(10, title="Período de Media Rápida", minval=3, maxval=20) mid_length = input.int(30, title="Período de Media Intermedia", minval=21, maxval=60) slow_length = input.int(130, title="Período de Media Lenta (EMA 130)", minval=130) // Calcular las medias móviles fast_ma = ta.ema(close, fast_length) mid_ma = ta.ema(close, mid_length) slow_ma = ta.ema(close, slow_length) // Media lenta exponencial de 130 periodos // Calcular la pendiente manualmente (restando el valor actual de la media móvil del valor de 1 barra anterior) slope_ma130 = slow_ma - slow_ma[1] // Pendiente de la media lenta slope_mid_ma = mid_ma - mid_ma[1] // Pendiente de la media intermedia // Condición para pendiente positiva de la media lenta slow_ma_trending_up = slope_ma130 > 0 // Condición para pendiente positiva de la media intermedia mid_ma_trending_up = slope_mid_ma > 0 // Condiciones para entrada en largo (Cruce de la media rápida sobre la media intermedia, solo si la media intermedia tiene pendiente positiva y la media lenta también tiene pendiente positiva) long_condition = ta.crossover(fast_ma, mid_ma) and mid_ma_trending_up and slow_ma_trending_up // Condiciones para entrada adicional (Cruce de la media rápida sobre la media lenta, solo si la media lenta tiene pendiente positiva) additional_long_condition = ta.crossover(fast_ma, slow_ma) and slow_ma_trending_up // Condiciones para cierre de la posición (Cruce de la media rápida por debajo de la media intermedia) exit_condition = ta.crossunder(fast_ma, mid_ma) // Abrir la posición si se cumplen las condiciones (incluyendo las pendientes de las medias) if (long_condition or additional_long_condition) strategy.entry("Comprar", strategy.long) // Cerrar la posición si se cumplen las condiciones de salida if (exit_condition) strategy.close("Comprar") // Mostrar las medias móviles en el gráfico plot(fast_ma, color=color.green, linewidth=1, title="EMA Rápida") plot(mid_ma, color=color.orange, linewidth=1, title="EMA Intermedia") plot(slow_ma, color=color.red, linewidth=2, title="EMA Lenta (130 Periodos)")