Esta estrategia es un sistema de trading basado en las señales de cruce de los promedios móviles exponenciales (EMA) de 9 y 20 días. Captura las inversiones de tendencia del mercado mediante el monitoreo de la relación de cruce entre la EMA rápida (9 días) y la EMA lenta (20 días). La estrategia emplea trading programático para lograr una operación totalmente automatizada, evitando efectivamente la interferencia emocional humana.
El núcleo de la estrategia utiliza dos EMA con períodos diferentes para identificar la dirección de la tendencia y los puntos de inflexión. Cuando la EMA de 9 días cruza por encima de la EMA de 20 días, el sistema genera una señal larga; cuando la EMA de 9 días cruza por debajo de la EMA de 20 días, el sistema genera una señal corta.
Esta estrategia es un sistema clásico de seguimiento de tendencias que captura oportunidades de inversión de tendencias a través de cruces de EMA. La lógica de la estrategia es simple y clara, lo que la hace fácil de entender e implementar. Sin embargo, para el comercio en vivo, se recomienda combinarla con otros indicadores técnicos y métodos de gestión de dinero para mejorar aún más el sistema de negociación. Además, la optimización de parámetros de acuerdo con diferentes características del mercado puede mejorar la practicidad de la estrategia.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy with Buttons", overlay=true) // Input parameters for EMAs shortEmaLength = input(9, title="Short EMA Length") longEmaLength = input(20, title="Long EMA Length") // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Plot EMAs plot(shortEma, color=color.blue, title="9 EMA") plot(longEma, color=color.red, title="20 EMA") // Buy and Sell Logic longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Buy Button if (ta.change(longCondition)) if (longCondition) strategy.entry("Buy", strategy.long) // Sell Button if (ta.change(shortCondition)) if (shortCondition) strategy.entry("Sell", strategy.short) // Alert Conditions alertcondition(longCondition, title="Buy Alert", message="Buy Signal") alertcondition(shortCondition, title="Sell Alert", message="Sell Signal")