
La estrategia es una estrategia de seguimiento de tendencias y breakouts de tendencia basada en un promedio móvil multi-periódico del índice (EMA). Combina al mismo tiempo 5 EMA de diferentes períodos, con una gran capacidad de identificación de tendencias, que puede capturar movimientos de precios de línea media y larga en la tendencia.
Calcule el EMA de 5 ciclos diferentes, es decir, el EMA de 12 ciclos, 15 ciclos, 18 ciclos, 21 ciclos y 24 ciclos.
EMA 12 > EMA 15 > EMA 18 > EMA 21 > EMA 24 como señal de compra; EMA 12 < EMA 15 < EMA 18 < EMA 21 < EMA 24 como señal de venta.
La señal de transacción se activa solo después de la fecha de inicio establecida por el usuario.
Cuando se activa la señal de compra, se ejecuta la operación de apertura de posición larga; cuando se activa la señal de venta, se ejecuta la operación de apertura de posición corta.
La estrategia utiliza la relación entre las órbitas internas y externas de la canal para determinar la dirección de la tendencia de los precios mediante la combinación de varios EMA. La configuración del ciclo EMA es más cercana, lo que aumenta la sensibilidad a las señales de ruptura y evita ser engañado por el ruido del mercado a corto plazo. Además, permite al usuario personalizar la fecha de inicio de la estrategia, lo que permite una mayor flexibilidad.
El uso de múltiples grupos de EMA para formar canales de tendencia, tiene una mayor capacidad para identificar tendencias.
La configuración del ciclo EMA es cercana, sensible a las señales de ruptura de tendencia, y capta la tendencia de la línea media y larga a tiempo.
Se puede personalizar la fecha de inicio de la estrategia y la flexibilidad de uso.
La gestión de fondos es personalizada y permite controlar el tamaño de cada pedido.
Las reglas de negociación son claras y sencillas, adecuadas para el seguimiento de tendencias.
La EMA es inherentemente retrógrada y puede perderse fuertes fluctuaciones a corto plazo.
Las operaciones de ruptura son fáciles de estafar y requieren un alto riesgo razonable.
La inversión de la tendencia puede generar grandes pérdidas.
La elección de la variedad de acciones adecuada no es adecuada para acciones con mucha volatilidad.
Las medidas de control y optimización de riesgos correspondientes:
Ajuste adecuado de los parámetros de EMA para optimizar la combinación de ciclos.
Añadir filtros de otros indicadores para determinar la dirección de la tendencia.
Establezca un punto de parada razonable para controlar las pérdidas individuales.
Añadir otras combinaciones de indicadores, como MACD, KDJ, etc., para mejorar la eficacia de la estrategia.
La adición de la cantidad de transacciones condicionadas para evitar falsas rupturas.
Optimización de los parámetros de ciclo de la EMA para encontrar la combinación óptima.
Para evitar las fluctuaciones del mercado, detenga las operaciones durante un período de tiempo determinado.
Optimización dinámica de los ciclos y parámetros de EMA mediante métodos de aprendizaje automático.
En general, esta estrategia es una estrategia de seguimiento de tendencias más típica. Utiliza las ventajas de la EMA para formar un canal de negociación mediante la combinación de varios EMA y genera una señal de negociación cuando el precio rompe el canal. La ventaja de la estrategia es que las reglas de negociación son simples y claras, y es fácil seguir la tendencia de la línea media larga. La desventaja es que es sensible al ruido del mercado a corto plazo y existe un cierto atraso.
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Scalping Strategy - EMA",
shorttitle="EMA Scalp",
overlay=true)
// User input for start date
startDateInput = input(title="Start Date", defval=timestamp("2024-02-01"))
// Calculate EMAs
ema_12 = ta.ema(close, 12)
ema_15 = ta.ema(close, 15)
ema_18 = ta.ema(close, 18)
ema_21 = ta.ema(close, 21)
ema_24 = ta.ema(close, 24)
// Plot EMAs
plot(ema_12, color=color.red, title="EMA 12")
plot(ema_15, color=color.orange, title="EMA 15")
plot(ema_18, color=color.yellow, title="EMA 18")
plot(ema_21, color=color.green, title="EMA 21")
plot(ema_24, color=color.blue, title="EMA 24")
// Define a start date for the strategy based on user input
isAfterStartDate = true
// Visualize the isAfterStartDate condition
bgcolor(isAfterStartDate ? color.new(color.green, 90) : na, title="After Start Date")
// Entry conditions
buy_condition = (ema_12 > ema_15) and (ema_15 > ema_18) and (ema_18 > ema_21) and (ema_21 > ema_24) and isAfterStartDate
sell_condition = (ema_12 < ema_15) and (ema_15 < ema_18) and (ema_18 < ema_21) and (ema_21 < ema_24) and isAfterStartDate
// Execute trades using conditional blocks
if (buy_condition)
strategy.entry("Buy", strategy.long)
if (sell_condition)
strategy.entry("Sell", strategy.short)