Diese Strategie ist ein Trend-Folge-System, das auf dreifachen exponentiellen gleitenden Durchschnitten (EMA) basiert. Sie erfasst Markttrends durch Crossover-Signale und Trendrichtungsbestätigung unter Verwendung von schnellen, mittleren und langsamen EMAs und nimmt ausschließlich Long-Positionen in Aufwärtstrends ein. Die Strategie implementiert strenge Stop-Loss-Kontrollen und Backtesting-Validierungsmechanismen, um eine robuste Handelsleistung zu erzielen.
Die Strategie verwendet drei EMAs mit unterschiedlichen Perioden: schnelle EMA (anpassbare 3-20 Perioden), mittlere EMA (anpassbare 21-60 Perioden) und langsame EMA (feste 130 Perioden).
Diese Strategie stellt ein gut strukturiertes und logisch rigoroses Trendfolgensystem dar. Die Kombination mehrerer technischer Indikatoren gewährleistet sowohl Zuverlässigkeit als auch Flexibilität. Während es Raum für Optimierung gibt, bietet der Gesamtrahmen eine solide Grundlage für die praktische Anwendung. Händlern wird empfohlen, die Parameter gründlich zu optimieren und vor der Implementierung ein Backtesting durchzuführen und spezifische Anpassungen anhand der Marktmerkmale vorzunehmen.
/*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)")