La idea central de esta estrategia es mapear los EMAs en el horizonte al comercio intradiario para obtener el apoyo de tendencias más a largo plazo y guiar las decisiones de comercio intradiario.
La estrategia primero calcula en código los EMAs de 6, 12, 26 y 52 días en la línea solar, y los EMAs de 42, 84, 182 y 364 días en la configuración de parámetros correspondiente al EMA de la línea de circunferencia.
A continuación, se determina la tendencia a largo plazo en base a los forcados dorados y muertos de la EMA de los días 42 y 84; y la tendencia a mediano plazo en base a los forcados dorados y muertos de la EMA de los días 84 y 182.
Cuando un EMA de período más corto lleva a cabo un EMA de período más largo, se realiza una entrada de posición larga; cuando un EMA de período más corto lleva a cabo un EMA de período más largo, se realiza una salida de posición baja.
Con este método de mapeo, obtenemos el soporte del indicador EMA a nivel de la línea de rotación en las operaciones diarias, lo que permite filtrar parte del ruido y bloquear las oportunidades de tendencia más grandes.
Esta estrategia combina la flexibilidad de las operaciones intradiarias con la estabilidad de los EMAs diarios, con las siguientes ventajas:
Las EMAs circundantes filtran el ruido del mercado y identifican el verdadero movimiento de la tendencia. Las operaciones diarias pueden elegir un momento de entrada más preciso en función de la FORMACIÓN diaria.
La configuración de los parámetros de la EMA de la línea de circunferencia es más estable y no se ve afectada por las fluctuaciones de precios a corto plazo. Al mismo tiempo, la forma del día se combina con la tendencia para juzgar la tendencia y salir más a tiempo.
El EMA puede determinar con claridad el punto de inflexión de la tendencia por etapas. Además de las operaciones diarias para obtener ganancias, la probabilidad general de triunfo es alta.
El uso de combinaciones de EMA de diferentes períodos permite bloquear oportunidades de tendencia en diferentes niveles de largo, medio y corto.
La estrategia de negociación de baja frecuencia es adecuada para la línea larga. Se puede reducir la pérdida de puntos de deslizamiento causada por el número de operaciones.
Los principales riesgos de esta estrategia son:
La señal de entrada de la EMA en la línea de circunvalación puede estar retrasada y no puede capturar el momento en que los precios cambian por primera vez.
La salida de la jornada depende del cruce de la EMA, sin tener en cuenta factores como la forma, la fluctuación, etc., y puede salir de la jornada prematuramente.
El EMA tiene menos cruces abiertos y es más propenso a mantener posiciones unilaterales durante demasiado tiempo.
No hay un mecanismo de detención de pérdidas, el riesgo de retiro es mayor y requiere una gestión activa por parte de los trabajadores.
La configuración de los parámetros es más expansiva, y las diferentes monedas necesitan ajustes para obtener el mejor efecto.
El riesgo puede reducirse de la siguiente manera:
En combinación con otros indicadores para identificar la forma ENTRY, diseñar con anticipación el punto de entrada a la EMA.
Aumentar las reglas de salida, como el stop loss, el cierre del interés, etc., para evitar el exceso de tiempo de mantenimiento de posiciones unilaterales.
Optimización de los parámetros del ciclo EMA para probar combinaciones de ciclos adecuadas para diferentes monedas.
Las operaciones en varios niveles, con diferentes ciclos de EMA para mantener posiciones por niveles, reducen el riesgo de una sola posición.
La estrategia también puede ser optimizada en los siguientes aspectos:
Se han añadido reglas de acceso a las transacciones diarias, como la determinación de la forma, el volumen de transacciones, y el filtrado de la entrada de ruido.
Los indicadores como el MACD y el stoch determinan el exceso de compra y venta, así como el nivel de entrada y salida.
Aumentar los mecanismos de stop loss, reducción del riesgo de retiro y bloqueo de ganancias.
Optimización de los parámetros del ciclo EMA para probar el efecto de diferentes combinaciones de ciclos.
Prueba diferentes configuraciones de EMA, como DEMA, TEMA, etc., para mejorar la suavidad.
Mecanismos de gestión de posiciones adicionales, con diferentes posiciones para diferentes señales de la EMA.
Estudiar la configuración de los parámetros de las diferentes variedades y desarrollar estrategias adecuadas para los diferentes pares de transacciones.
Explorar métodos de aprendizaje automático para la optimización dinámica de los parámetros de EMA.
Esta es una estrategia de seguimiento de tendencias muy adecuada para las posiciones largas. Combina hábilmente el juicio de tendencias de la línea circundante con la ejecución de operaciones diarias.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=1
strategy("Investing Weekly mapped to Daily", overlay=true, pyramiding=100)
// === PLOTTING EMA ===
plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6")
plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12")
plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26")
plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52")
plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6")
plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12")
plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26")
plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === STRATEGY FOR CRYPTO ===
ema42= ema(close, 42)
ema84= ema(close, 84)
ema182= ema(close, 182)
enterLong1 = cross(ema42, ema84) and ema42 > ema84
exitLong1 = cross(ema42, ema84) and ema42 < ema84
enterLong2 = cross(ema84, ema182) and ema84 > ema182
exitLong2 = cross(ema84, ema182) and ema84 < ema182
strategy.entry(id="Entry_1", long=true, when=enterLong1)
strategy.entry(id="Entry_2", long=true, when=enterLong2)
strategy.entry(id="Exit_1", long=false, when=exitLong1)
strategy.entry(id="Exit_2", long=false, when=exitLong2)