Esta estrategia utiliza una combinación de indicadores de medias móviles exponenciales (EMA) y medias móviles (MACD) para identificar acciones sobrevaloradas a corto plazo y tomar posiciones cortas para beneficiarse de las caídas de precios.
Cuando la EMA de 8 días cruza por encima de la EMA de 26 días, se considera una señal de compra.
Calcule el MACD con la EMA de 12 días, la EMA de 26 días y la EMA de 9 días de la diferencia llamada DEA. Cuando el MACD cruza por encima de DEA, se considera una señal de compra.
Regla de entrada: la EMA de 8 días > la EMA de 26 días y el MACD se cruzan por encima de la DEA, larga cuando se cumplen ambas condiciones.
Regla de salida: Establezca el stop loss de seguimiento en el 3% del precio de entrada, el stop loss de seguimiento en el 1% del precio de entrada, salga cuando se toque cualquiera.
La estrategia utiliza tanto la reacción rápida de la EMA al precio como el juicio del MACD sobre la dirección del impulso, identificando los puntos de inflexión clave de los alcistas a los bajistas. La EMA rápida refleja la corrección del valor intrínseco a corto plazo frente a la EMA más lenta, mientras que la MACD refleja cambios en el poder de negociación anticipando la dirección de los promedios móviles, mejorando la precisión de la captura de oportunidades comerciales utilizando indicadores duales.
La combinación de EMA y MACD mejora la precisión de la captura de señales comerciales.
El 1% de stop de trailing establecido después de la entrada evita la ampliación de la pérdida.
La estrategia se prueba en todo el mercado bajista en 2022, simulando entornos comerciales reales.
Flexible ajuste de parámetros, relación de pérdida de parada, proporción de tamaño de posición son personalizables para que coincida con la preferencia personal de riesgo.
El marco de tiempo de 5 minutos significa una alta frecuencia de entradas y salidas, lo que requiere suficiente tiempo para dar seguimiento a las operaciones.
La pérdida de parada de seguimiento puede salir prematuramente.
El EMA y el MACD funcionan mejor para los mercados de tendencia.
Los costos de negociación deben tenerse en cuenta. Cada operación corresponde a comisiones, el comercio frecuente aumenta los costos.
Ajustar los parámetros del período EMA para optimizar las entradas y salidas. Puede probar acortando el período EMA rápido, ampliando el margen entre EMA para encontrar combinaciones óptimas.
Optimizar la relación de stop loss para reducir el riesgo de stop prematuro.
Evalúe los rendimientos de los diferentes períodos de retención para identificar la mejor duración de retención.
Evaluar la adición de otros filtros técnicos, probar la adición de índices de volatilidad, etc., para mejorar la eficacia de las decisiones comerciales.
Esta estrategia de negociación dual EMA y MACD tiene como objetivo capturar oportunidades de retroceso a corto plazo para el cortocircuito y la obtención de ganancias. Utiliza plenamente la reacción rápida de EMA y la fuerza de juicio del cambio de impulso de MACD para mejorar la precisión en el tiempo de negociación con doble confirmación. Los espacios de optimización se encuentran en el ajuste de parámetros, control de deslizamiento, período de retención, etc. Una optimización cuidadosa de parámetros puede conducir a buenos rendimientos.
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Coinrule //@version=5 // strategy('Fast EMA above Slow EMA with MACD (by Coinrule)', // overlay=true, // initial_capital=1000, // process_orders_on_close=true, // default_qty_type=strategy.percent_of_equity, // default_qty_value=30, // commission_type=strategy.commission.percent, // commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0) notInTrade = strategy.position_size <= 0 // EMAs fastEMA = ta.ema(close, 8) slowEMA = ta.ema(close, 26) plot(fastEMA, color = color.blue) plot(slowEMA, color = color.green) //buyCondition1 = ta.crossover(fastEMA, slowEMA) buyCondition1 = fastEMA > slowEMA // DMI and MACD inputs and calculations [macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9) buyCondition2 = ta.crossover(macd, macd_signal) // Configure trail stop level with input options longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01 shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=1) * 0.01 // Determine trail stop loss prices longStopPrice = 0.0 shortStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - longTrailPerc) math.max(stopValue, longStopPrice[1]) else 0 shortStopPrice := if strategy.position_size < 0 stopValue = close * (1 + shortTrailPerc) math.min(stopValue, shortStopPrice[1]) else 999999 if (buyCondition1 and buyCondition2 and notInTrade and timePeriod) strategy.entry(id="Long", direction = strategy.long) strategy.exit(id="Exit", stop = longStopPrice, limit = shortStopPrice) //if (sellCondition1 and sellCondition2 and notInTrade and timePeriod) //strategy.close(id="Close", when = sellCondition1 or sellCondition2)