Esta estrategia es un sistema de negociación basado en una media móvil exponencial dual (EMA), que implementa órdenes de compra límite a nivel de EMA20. Emplea un enfoque de gestión de dinero conservador, utilizando solo el 10% del capital de la cuenta por operación e incorporando niveles de toma de ganancias y stop-loss para la gestión de riesgos. La estrategia utiliza dos períodos EMA (30 y 300 días) para determinar las tendencias del mercado y solo busca oportunidades de entrada durante los mercados de tendencia al alza.
La lógica central de la estrategia se basa en varios elementos clave: 1. Utiliza el EMA300 como filtro de tendencia, considerando solo las posiciones largas cuando el precio está por encima del EMA300, asegurando que la dirección del comercio se alinee con la tendencia principal. 2. Las plazas limitan las órdenes de compra en el nivel EMA20 cuando se cumplen las condiciones de tendencia, lo que permite entradas a precios relativamente más bajos durante los retrocesos al soporte promedio móvil. 3. Implementar niveles fijos de toma de ganancias y stop-loss basados en porcentajes, incumpliendo el 10% para los objetivos de ganancias y el 5% para los stop-loss, manteniendo una relación riesgo-recompensación superior a 2: 1. 4. Emplea el tamaño de la posición en el 10% del capital de la cuenta, reduciendo efectivamente la exposición al riesgo por operación a través de una gestión conservadora del dinero.
Esta estrategia combina un sistema de promedio móvil con reglas estrictas de control de riesgos para crear un sistema comercial relativamente robusto. Sus principales fortalezas se encuentran en sus características de seguimiento de tendencias y mecanismos integrales de gestión de riesgos, optimizando los precios de entrada a través de órdenes límite mientras se mantiene una gestión de dinero conservadora. Aunque la estrategia puede tener un rendimiento inferior en mercados variados, las direcciones de optimización sugeridas pueden mejorar aún más su estabilidad y rentabilidad.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Limit Buy at EMA20 (Last 30 Days)", overlay=true) // Inputs for EMAs ema20Length = input.int(30, title="EMA 20 Length") ema300Length = input.int(300, title="EMA 300 Length") tpPercentage = input.float(10.0, title="Take Profit (%)", step=0.1) / 100 slPercentage = input.float(5.0, title="Stop Loss (%)", step=0.1) / 100 // Stop loss at 15% // Calculate EMAs ema20 = ta.ema(close, ema20Length) ema300 = ta.ema(close, ema300Length) // Plot EMAs plot(ema20, color=color.blue, title="EMA 20") plot(ema300, color=color.red, title="EMA 300") // Limit backtesting to the last 30 days startTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - 30, 0, 0) if (time < startTime) strategy.close_all() strategy.cancel_all() // Entry Condition: Price above EMA300 longCondition = close > ema300 and time >= startTime // Calculate position size (10% of equity) positionSize = strategy.equity * 0.10 / ema20 // Use EMA20 as the limit price // Place a limit buy order at EMA20 if (longCondition) strategy.order("Limit Buy", strategy.long, qty=positionSize, limit=ema20) // Calculate TP and SL levels tpPrice = ema20 * (1 + tpPercentage) slPrice = ema20 * (1 - slPercentage) // Set take profit and stop loss if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Limit Buy", stop=slPrice, limit=tpPrice)