Esta estrategia es un sistema de negociación cuantitativo basado en el cruce de los promedios móviles exponenciales (EMA) de 5 períodos y 15 períodos. Su objetivo es lograr rendimientos estables al tiempo que protege el capital a través de niveles razonables de stop-loss y take-profit. La estrategia utiliza señales de cruce de promedios móviles clásicos para identificar cambios en la tendencia del mercado y las combina con mecanismos de gestión de riesgos para controlar la relación riesgo-recompensa de cada operación.
El núcleo de la estrategia es monitorear el cruce entre la media móvil rápida (EMA de 5 períodos) y la media móvil lenta (EMA de 15 períodos). Una señal larga se genera cuando la EMA de 5 períodos cruza por encima de la EMA de 15 períodos, mientras que una señal corta se genera cuando la EMA de 5 períodos cruza por debajo de la EMA de 15 períodos. Para cada señal de negociación, el sistema establece automáticamente un nivel de stop-loss del 1.5% y un nivel de take-profit del 3%, lo que garantiza una relación riesgo-recompensación favorable.
Esta es una estrategia de trading cuantitativa bien estructurada con lógica clara. Captura los puntos de reversión de tendencia a través de cruces de promedios móviles e implementa control de riesgos con niveles fijos de stop-loss y take-profit. La estrategia es simple de usar, adecuada para principiantes y proporciona una buena base para una mayor optimización. Se aconseja a los operadores que realicen pruebas de retroceso antes de la implementación en vivo y optimicen los parámetros de acuerdo con las características específicas del mercado.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true) // Define EMAs ema5 = ta.ema(close, 5) ema15 = ta.ema(close, 15) // Plot EMAs on the chart plot(ema5, title="5 EMA", color=color.blue) plot(ema15, title="15 EMA", color=color.red) // Crossover conditions longCondition = ta.crossover(ema5, ema15) shortCondition = ta.crossunder(ema5, ema15) // Stop-loss and take-profit percentage stopLossPercent = 1.5 // Stop-loss at 1.5% takeProfitPercent = 3.0 // Take-profit at 3% // Calculate stop-loss and take-profit levels for long and short positions longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // Enter long position with stop-loss and take-profit if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit) // Enter short position with stop-loss and take-profit if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit) // Plot stop-loss and take-profit levels plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr) plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)