
La estrategia es un sistema de comercio cuantitativo basado en el cruce de las medias móviles de índices de 5 y 15 períodos (EMA). Se busca obtener ganancias estables al mismo tiempo que se protege la seguridad de los fondos mediante el establecimiento de niveles razonables de stop loss y stop loss. La estrategia utiliza la clásica señal de cruce de línea para identificar los cambios en la tendencia del mercado y se combina con un mecanismo de gestión de riesgos para controlar el porcentaje de ganancias y pérdidas en cada operación.
El núcleo de la estrategia es monitorear la intersección de las medias móviles rápidas (EMA de 5 ciclos) y las medias móviles lentas (EMA de 15 ciclos). Cuando la EMA de 5 ciclos sube y atraviesa la EMA de 15 ciclos, el sistema genera una señal de multiplicación; cuando la EMA de 5 ciclos desciende y atraviesa la EMA de 15 ciclos, el sistema genera una señal de parálisis. Para cada señal de negociación, el sistema establece automáticamente un punto de parada del 1.5% y un punto de parada del 3%, lo que garantiza una buena relación de ganancias con el riesgo.
Es una estrategia de trading cuantificada, estructurada, lógica y clara. La estrategia es sencilla, fácil de usar, adecuada para los principiantes, y ofrece una buena base para la optimización. Se recomienda a los operadores que realicen un buen feedback antes de su uso en el mercado real y optimizen los parámetros según 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)