Estrategia de negociación de cruce de oro de la EMA Long Only Triple

El autor:¿ Qué pasa?, Fecha: 2023-09-26 16:23:53
Las etiquetas:

Resumen general

Esta estrategia genera señales de negociación basadas en la cruz de oro y la cruz de la muerte de tres líneas de EMA con períodos diferentes para aprovechar las fortalezas de cada EMA y lograr un mejor rendimiento comercial.

Estrategia lógica

La estrategia calcula tres líneas EMA con períodos de 8, 50 y 200 y genera señales cuando la EMA más rápida cruza por encima o por debajo de la EMA más lenta.

  1. Calcular las líneas EMA de 8 períodos, 50 períodos y 200 períodos.

  2. Venga largo cuando la EMA de 8 períodos cruce por encima de la EMA de 50 períodos (cruz de oro), cierre la posición cuando la EMA de 50 períodos cruce por debajo de la EMA de 8 períodos (cruz de muerte).

  3. Opcionalmente, solo vaya largo cuando el precio esté por encima de la EMA de 200 períodos para evitar problemas.

  4. Se puede establecer una línea EMA opcional de obtención de beneficios para cerrar posiciones cuando el precio se cruza por debajo de ella.

La EMA rápida identifica los mínimos, la EMA media determina la tendencia y la EMA lenta filtra el ruido. Juntos identifican los cambios de tendencia manteniendo una frecuencia de negociación decente.

Ventajas

  1. Los EMA triples determinan efectivamente las tendencias y capitalizan las fortalezas individuales.

  2. Sólo al ir mucho más allá de la EMA de 200 períodos se evitan los golpes.

  3. La EMA de obtención de beneficios personalizable establece objetivos de ganancias razonables.

  4. Las personalizaciones visuales como los colores de las barras y el trazado de EMA mejoran la flexibilidad.

  5. La lógica simple de la cruz dorada/muerte es fácil de entender.

Riesgos y mitigaciones

  1. Los retrasos de la EMA pueden causar que se pierda el momento de entrada.

  2. Los whipssaws pueden generar malas señales. Utilice EMAs más largas para filtrar o agregar condiciones.

  3. El objetivo de ganancia fija no es adaptable.

  4. No hay paradas significa riesgo ilimitado.

Oportunidades de mejora

  1. Optimizar los períodos de EMA para obtener los mejores parámetros.

  2. Agregue indicadores como el MACD para el tiempo.

  3. Implementar la obtención de beneficios dinámicos basados en la volatilidad.

  4. Añadir la lógica de stop-loss, seguimiento o valor fijo.

  5. Mejorar las condiciones de entrada, por ejemplo, los filtros de volumen.

Conclusión

Esta estrategia capitaliza el filtrado de tendencias de la EMA para identificar movimientos de alta probabilidad.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')

Más.