Impulso para el avance de la EMA 34

El autor:¿ Qué pasa?, Fecha: 2024-02-26 15:05:18
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia de seguimiento de tendencias basada en el cruce de impulso de la EMA 34 como señal de entrada. Combina las señales de avance de los precios que rompen la línea de impulso de la EMA y la cruz de oro de la EMA 34 para generar señales de negociación.

Principio de la estrategia

La estrategia primero calcula las líneas EMA de 34 períodos de cierre, alto, bajo, denominadas emaClose, emaHigh, emaLow respectivamente. Luego genera señales de compra y venta según si el precio rompe el emaHigh y el emaLow.

Específicamente, cuando el precio de cierre excede emaHigh, se genera una señal de compra; cuando el precio de cierre está por debajo de emaLow, se genera una señal de venta. Una vez que se genera la señal, ingrese al precio de cierre en ese momento y establezca la toma de ganancias a 100 puntos y el stop loss a 50 puntos.

De esta manera, la estrategia utiliza el indicador de impulso de EMA 34 para captar la tendencia del mercado y aplicar la tendencia siguiente.

Análisis de ventajas

La mayor ventaja de esta estrategia es que combina tanto la señal de cruz dorada de la media móvil como la señal de avance del precio, lo que hace que el punto de entrada sea más preciso y pueda filtrar eficazmente las señales falsas.

Análisis de riesgos

El principal riesgo de esta estrategia es que es propensa a pérdidas largas consecutivas. Cuando el mercado tiene un choque de ajuste corto antes de iniciar una nueva tendencia alcista, esta estrategia puede reducir con frecuencia las posiciones en pérdida. Además, como una estrategia de seguimiento de tendencias, no puede obtener buenos beneficios en un mercado lateral.

La optimización se puede lograr ajustando adecuadamente el punto de stop loss o agregando otros indicadores para mejorar la tasa de ganancia de la estrategia.

Direcciones de optimización

La estrategia se puede optimizar en las siguientes direcciones:

  1. Añadir otros indicadores para filtrar, como añadir un indicador de volumen para evitar quedar atrapados en falsos brotes.

  2. Optimizar los parámetros del ciclo EMA y ajustarlos a parámetros del ciclo más adecuados para la variedad.

  3. Utilice un mecanismo de salida como el factor de ganancia en lugar de los simples puntos de toma de ganancia y stop loss para mejorar la estabilidad de la estrategia.

  4. Aumentar el filtrado de liquidez para evitar la negociación en períodos de escasa liquidez, lo que puede reducir las pérdidas por deslizamiento.

Resumen de las actividades

Como una estrategia de seguimiento de tendencias basada en indicadores de impulso de la EMA, esta estrategia tiene una alta utilidad práctica. Al combinar señales de avance de precios y señales de cruz dorada de la EMA, puede descubrir efectivamente nuevas direcciones de tendencia. Después de cierto parámetro y optimización del mecanismo de salida, la estabilidad de la estrategia puede mejorarse aún más.


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

//@version=5
strategy("EMA 34 Crossover Strategy_4", overlay=true)

length = 34
exitPoints = 50

emaClose = ta.ema(close, length)
emaHigh = ta.ema(high, length)
emaLow = ta.ema(low, length)

var float[] entryPrices = array.new_float()
var float[] exitLevels = array.new_float()

// Long entry condition: Price crosses above EMA 34 high
enterLong = ta.crossover(close, emaHigh)

// Short entry condition: Price crosses below EMA 34 low
enterShort = ta.crossunder(close, emaLow)

// Exit condition for both long and short trades
exitLong = array.size(entryPrices) > 0 ? close >= array.get(entryPrices, array.size(entryPrices) - 1) + exitPoints : false
exitShort = array.size(entryPrices) > 0 ? close <= array.get(entryPrices, array.size(entryPrices) - 1) - exitPoints : false

if (enterLong)
    array.push(entryPrices, close)
    array.push(exitLevels, close + exitPoints)
    strategy.entry("Buy", strategy.long)

if (enterShort)
    array.push(entryPrices, close)
    array.push(exitLevels, close - exitPoints)
    strategy.entry("Sell", strategy.short)

if (exitLong)
    strategy.close("Buy")

if (exitShort)
    strategy.close("Sell")

plot(emaClose, color=color.blue, title="EMA 34 Close")
plot(emaHigh, color=color.red, title="EMA 34 High")
plot(emaLow, color=color.green, title="EMA 34 Low")

Más.