La estrategia de cruce de oro en línea media es una estrategia de negociación cuantitativa más común. La estrategia utiliza dos parámetros diferentes: el índice de la media móvil ((EMA), que hace más cuando el EMA a corto plazo atraviesa el EMA a largo plazo; y la posición en blanco cuando el EMA a corto plazo atraviesa el EMA a largo plazo. La estrategia utiliza el EMA a corto plazo para responder más rápidamente a los cambios en los precios y el EMA a largo plazo para reflejar mejor la tendencia.
La estrategia primero define dos líneas medias de EMA, la longitud de EMA1 es de 10 y la longitud de EMA2 es de 21. Luego se calcula el valor de las dos líneas medias. Cuando el precio comienza a romper hacia arriba, se considera una señal de venta; cuando el precio cae por debajo de la línea EMA2 se considera una señal de posición cerrada.
El código también define un umbral para filtrar brechas falsas, cuya fórmula de cálculo es:
threshold = ((ema1 - ema2)*100) / ((ema1 + ema2)/2)
Este umbral representa el porcentaje de la distancia entre las dos líneas medias del promedio de la línea media. Cuando el umbral es mayor que el 0.15%, se hace una señal de más, y cuando es menor que -0.006, se hace una señal de posición plana.
En resumen, las señales de negociación de la estrategia se resumen en:
La estrategia tiene las siguientes ventajas:
El uso de la línea media de la EMA puede suavizar los datos de precios y favorecer la generación de señales de negociación.
El doble EMA establece diferentes parámetros que pueden equilibrarse en velocidad de respuesta y estabilidad.
Aumentar el umbral puede filtrar falsas brechas y evitar transacciones inútiles.
La estrategia es simple, clara y fácil de entender, adecuada para los principiantes en el comercio cuantitativo.
Se puede ajustar con flexibilidad los parámetros EMA y los umbrales de umbral para optimizar el efecto de la estrategia.
La estrategia también tiene sus riesgos:
La EMA se queda atrás de los precios y podría perder la oportunidad de operar en la línea corta.
Hay un riesgo de ser encerrado, y si la tendencia se invierte, podría haber grandes pérdidas.
Si se establece mal el umbral, puede filtrar una señal válida o emitir una señal falsa.
Los parámetros de EMA no son adecuados, no hay diferencias evidentes entre los EMA a corto plazo y a largo plazo, lo que genera falsas señales.
Las fluctuaciones de la bolsa grande pueden causar pérdidas de parada y deben ser superadas, por lo que se debe establecer una parada razonable.
La estrategia puede ser optimizada en los siguientes aspectos:
Optimización de los parámetros de EMA, para probar el efecto de los diferentes parámetros de ciclo en la eficacia de la estrategia.
Optimización de los umbrales de umbral para equilibrar la filtración de señales falsas y la preservación de señales válidas.
Añadir otros indicadores técnicos, como MACD, KDJ, etc., para determinar de manera integral las señales de negociación.
La inclusión de un mecanismo de suspensión de pérdidas, que puede ser un sistema de suspensión móvil o un sistema de suspensión de pérdidas, para controlar las pérdidas individuales.
Se puede considerar la posibilidad de incorporar un método de construcción por lotes para reducir el riesgo de una sola entrada.
Prueba diferentes períodos de tenencia para encontrar un período de tenencia más adecuado.
La estrategia general de la línea de equilibrio de la cruz dorada es clara y fácil de entender, utiliza las características de la línea de equilibrio de la EMA para determinar las señales de negociación. La estrategia tiene ciertas ventajas, pero también debe tener en cuenta algunos riesgos potenciales.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
if high > ta.highest(high[1], 5)
strategy.entry("Enter Long", strategy.long)
else if low < ta.lowest(low[1], 5)
strategy.entry("Enter Short", strategy.short)//@version=3
strategy(title="ema10-21", shorttitle="10/21", overlay=true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 2500, commission_type = strategy.commission.percent, commission_value = 0.2)
len1 = input(10, minval=1, title="EMA #1 length")
src1 = input(close, title="EMA Source #1")
a = ta.ema(src1, len1)
plot(a, title="EMA #1", color=color.orange, linewidth=2, style=plot.style_line)
len2 = input(21, minval=1, title="EMA #2 length")
src2 = input(close, title="EMA Source #2")
b = ta.ema(src2, len2)
plot(b, title="EMA #2", color=color.blue, linewidth=2, style=plot.style_line)
threshold = ((a-b)*100)/((a+b)/2)
thresholdUp = threshold > 0.15
thresholdDown = threshold < -0.006
if (thresholdUp)
strategy.entry("Buy", strategy.long)
if (thresholdDown)
strategy.close("Buy", strategy.long)
//goLong() => (crossover(a, b)) and (threshold >= 0.0025)
//killLong() => (crossunder(a, b)) and (threshold <= -0.0025)
//strategy.entry("Buy", strategy.long, when = goLong())
//strategy.close("Buy", when = killLong())
//threshold = ((a-b)*100)/((a+b)/2)
//achat = out1 > out2
//vente = out1 < out2 //and threshold < -0.025
//strategy.entry("long", true, when = achat)
//strategy.exit("exit", "long", when = vente)