Estrategia de cierre de la vela de EMA

El autor:¿ Qué pasa?, fecha: 2024-01-29 16:02:08
Las etiquetas:

img

Resumen general

Esta estrategia genera señales comerciales basadas en la cruz dorada y la cruz muerta de los promedios móviles. Incorpora tres promedios móviles con diferentes configuraciones de parámetros: a corto, mediano y largo plazo. Al comparar la relación de altura entre estos tres MA, determina el estado alcista / bajista del mercado y produce señales comerciales.

Principio de la estrategia

La estrategia establece tres líneas de promedio móvil, que son una media móvil simple a corto plazo, una media móvil ponderada a mediano plazo y una media móvil exponencial a largo plazo.

Cuando la línea SMA a corto plazo cruza la línea WMA a mediano plazo hacia arriba y el precio de cierre también es más alto que la línea WMA, indica que el mercado se invierte hacia arriba y forma una señal alcista. Cuando la SMA a corto plazo cruza por debajo de la WMA a mediano plazo o el precio de cierre es más bajo que la WMA, da una señal bajista. Por lo tanto, esta estrategia juzga el estado alcista / bajista del mercado comparando la altura y el cruce entre los tres MA.

Análisis de ventajas

La estrategia incorpora tres MAs de corto, mediano y largo plazo, que pueden reaccionar a los cambios del mercado en diferentes ciclos y mejorar la precisión de la captura de tendencias. Especialmente, la WMA a mediano plazo tiene un mejor efecto de filtrar el ruido del mercado y evita señales erróneas de manera efectiva. Además, la estrategia solo envía señales largas cuando las señales alcistas de la SMA y el precio de cierre alcanzan una alta consistencia, lo que previene las sacas y garantiza que cada entrada sea eficiente.

Análisis de riesgos

La estrategia tiene el riesgo de señales falsas. Cuando la SMA a corto plazo produce señales incorrectas, pueden producirse pérdidas innecesarias debido a la estricta dependencia de la estrategia de la línea SMA. Además, la estrategia es sensible a los parámetros. Cuando los parámetros se establecen incorrectamente bajo los mercados de rango, se pueden desencadenar muchas operaciones incorrectas.

Para evitar tales riesgos, se sugiere ajustar las longitudes de los MA, aflojar adecuadamente las condiciones de negociación y establecer un stop loss para limitar las pérdidas individuales.

Direcciones de optimización

La estrategia se puede optimizar a partir de los siguientes aspectos:

  1. Incorporar más tipos de MAs como KC para formar una cartera de indicadores para mejorar la precisión

  2. Añadir factores de volumen como la ruptura con alto volumen

  3. Combinar los indicadores de volatilidad para evitar el fracaso en los mercados agitados

  4. Emplear el aprendizaje automático para entrenar y optimizar parámetros

Conclusión

La estrategia determina el estado alcista / bajista del mercado basado en la relación de cruce y altura entre tres MA y los precios de cierre. Al combinar MA de diferentes términos, puede descubrir efectivamente las tendencias y las señales son de alta calidad. Con el ajuste adecuado de los parámetros e introducir más indicadores auxiliares, la estrategia puede mejorarse aún más en pertinencia y estabilidad.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Candle Close Strategy KHANH 11/11/2023", overlay=true, initial_capital=100, commission_type=strategy.commission.percent, commission_value=0.0000005, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len1 = input.int(1, title="SMA #1 Length", minval=1)
src1 = input(close, title="SMA Source #1")
out1 = ta.sma(src1, len1)
plot(out1, title="SMA #1", color=close >= out1 ? color.rgb(120, 123, 134, 100) : color.rgb(120, 123, 134, 100), linewidth=1)

len2 = input.int(20, title="HMA #2 Length", minval=1)
src2 = input(close, title="HMA Source #2")
out2 = ta.hma(src2, len2)
plot(out2, title="HMA #2", color=close >= out2 ? color.rgb(253, 255, 254, 100) : color.rgb(255, 255, 255, 100), linewidth=1)

len3 = input.int(25, title="EMA #3 Length", minval=1)
src3 = input(close, title="EMA Source #3")
out3 = ta.ema(src3, len3)
plot(out3, title="EMA #3", color=close >= out3 ? color.blue : color.blue, linewidth=1)

// Define the long condition
longCondition = (out1 > out2 and close > out2)

// Define the short condition
shortCondition = (out1 < out2 or close < out2)

// Entry conditions
if (longCondition)
    strategy.entry("Long",strategy.long)
else if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trade channel plot
PeriodLookBack = input(55, title="Period Look Back")
xHighest55 = request.security(syminfo.tickerid, timeframe.period, ta.highest(PeriodLookBack))
xLowest55 = request.security(syminfo.tickerid, timeframe.period, ta.lowest(PeriodLookBack))
plot(xHighest55[1], color=color.red, title="HH")
plot(xLowest55[1], color=color.green, title="LL")



//@version=5
//indicator("Custom Moving Averages", shorttitle="CMA", overlay=true)

shortLength = input(defval=40, title="Short Length")
longLength = input(defval=80, title="Long Length")

// Sử dụng khung thời gian của biểu đồ đang sử dụng thay vì cố định là "D"
shortTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, shortLength))
shortBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, shortLength))

longTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, longLength))
longBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, longLength))

shortAverageLine = (shortTopBorder + shortBottomBorder) / 2
longAverageLine = (longTopBorder + longBottomBorder) / 2

plot(shortAverageLine, color=color.new(#fc0000, 0))
plot(longAverageLine, color=color.new(#01ff27, 0))


Más.