En la carga de los recursos... Cargando...

Tendencia de varios plazos de seguimiento de la estrategia con filtro EMA 200 - Solo largo

El autor:¿ Qué pasa?, Fecha: 2024-05-23 18:07:50
Las etiquetas:El EMA

img

Resumen general

Esta estrategia es una estrategia de seguimiento de tendencias basada en promedios móviles exponenciales (EMA) de varios plazos y un filtro EMA de 200 períodos. La idea principal es utilizar EMA en diferentes plazos para identificar la dirección de la tendencia del mercado y establecer posiciones largas cuando la tendencia es alta y el precio está por encima de la EMA de 200 períodos. Esto asegura que las operaciones solo se realicen durante fuertes tendencias alcistas, con el objetivo de capturar movimientos alcistas sostenidos mientras se gestiona el riesgo con mecanismos definidos de stop-loss y take-profit.

La estrategia utiliza tres marcos de tiempo: 5 minutos, 15 minutos y 30 minutos, calculando EMAs rápidas y lentas para cada uno. Al comparar las EMAs rápidas y lentas para cada marco de tiempo, se puede determinar la dirección de la tendencia. Las señales de tendencia de los tres marcos de tiempo se suman para obtener una señal de tendencia combinada. Cuando la señal de tendencia combinada es 3 (indicando una tendencia alcista en todos los marcos de tiempo) y el precio de cierre actual está por encima de la EMA de 200 períodos en el marco de tiempo de 5 minutos, la estrategia entra en una posición larga.

Principios de estrategia

  1. Calcular la EMA rápida (default 9 periodos) y la EMA lenta (default 21 periodos) para los intervalos de tiempo de 5 minutos, 15 minutos y 30 minutos.
  2. Calcular la EMA de 200 períodos en el marco de tiempo de 5 minutos como un filtro de tendencia.
  3. Para cada período de tiempo, comparar las EMA rápidas y lentas: rápido por encima de lento indica una tendencia alcista (+1), lento por encima de rápido indica una tendencia bajista (-1).
  4. La suma de las señales de tendencia de los tres marcos de tiempo para obtener una señal de tendencia combinada en el intervalo [-3, 3].
  5. Introducir una posición larga cuando la señal de tendencia combinada sea igual a 3 (fuerte tendencia alcista) y el precio de cierre actual esté por encima de la EMA de 200 períodos de 5 minutos.
  6. Cierre la posición cuando la señal de tendencia combinada caiga por debajo de 3 (enfraquecimiento de la tendencia alcista) o el precio caiga por debajo de la EMA de 200 períodos de 5 minutos.
  7. Establezca el stop-loss un 1% por debajo del precio de entrada y el take-profit un 3% por encima del precio de entrada.

Ventajas

  1. Mediante la utilización de señales de tendencia de múltiples marcos de tiempo, la estrategia puede evaluar de manera más completa la tendencia del mercado y reducir las señales falsas.
  2. El filtro EMA de 200 períodos asegura que las operaciones solo se realicen durante fuertes tendencias alcistas, lo que aumenta la tasa de éxito.
  3. Las condiciones estrictas de entrada y salida, junto con el stop-loss y el take-profit, ayudan a controlar el riesgo y a mejorar la relación riesgo-beneficio.
  4. Los parámetros ajustables hacen que la estrategia sea adaptable a diferentes mercados y estilos comerciales.

Los riesgos

  1. La estrategia puede reaccionar lentamente en los puntos de inflexión de la tendencia, perdiendo oportunidades óptimas de entrada.
  2. Las entradas y salidas frecuentes pueden aumentar los costos comerciales.
  3. Los niveles fijos de stop-loss pueden dar lugar a salidas prematuras en mercados altamente volátiles.
  4. La determinación de la tendencia se basa en datos históricos y puede no reaccionar rápidamente a movimientos repentinos de precios causados por eventos inesperados.

Direcciones de optimización

  1. Introducir más plazos o optimizar la selección de plazos existentes para mejorar la exactitud y la puntualidad de la identificación de tendencias.
  2. Optimizar los niveles de stop-loss y take-profit, como la aplicación de trailing stops o take-profits dinámicos, para adaptarse a las diferentes condiciones del mercado.
  3. Incorporar señales adicionales como volumen, impulso, etc., junto con las señales de tendencia para formar condiciones de entrada y salida de múltiples factores, mejorando la robustez de la estrategia.
  4. Optimizar los parámetros para encontrar la combinación más adecuada para el mercado actual.
  5. Considere la posibilidad de añadir un mecanismo de venta a corto plazo para ampliar la aplicabilidad de la estrategia.

Resumen de las actividades

Esta estrategia determina la dirección de la tendencia comparando las EMA en múltiples marcos de tiempo mientras usa una EMA de 200 períodos como filtro de tendencia. Establece posiciones largas cuando la tendencia es claramente alcista y el precio está por encima del promedio móvil a largo plazo, con el objetivo de capturar fuertes tendencias alcistas. Condiciones estrictas de entrada y salida y niveles fijos de stop-loss y take-profit ayudan a gestionar el riesgo. Sin embargo, la estrategia puede reaccionar lentamente en los puntos de inflexión de la tendencia y tiene limitaciones para lidiar con la volatilidad repentina del mercado debido a los niveles fijos de stop-loss y take-profit. En el futuro, la adaptabilidad y la robustez de la estrategia pueden mejorarse mediante la introducción de más plazos, la optimización de los niveles de stop-loss y take-profit, la incorporación de señales comerciales adicionales, la optimización de parámetros, etc. Esto permitirá a la estrategia aprovechar mejor las oportunidades de mercado y controlar los riesgos.


/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
fast_length = input.int(9, title="Fast EMA Length", minval=1)
slow_length = input.int(21, title="Slow EMA Length", minval=1)
filter_length_200 = input.int(200, title="200 EMA Length", minval=1)
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100
take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100

// Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes
ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

// Calculate 200 EMA for the 5-minute timeframe
ema_200_5min = ta.ema(close, filter_length_200)

// Determine the trend for each timeframe
trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1
trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1
trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1

// Combine trend signals
combined_trend = trend_5min + trend_15min + trend_30min

// Define entry and exit conditions with 200 EMA filter
enter_long = combined_trend == 3 and close > ema_200_5min
exit_long = combined_trend < 3 or close < ema_200_5min

// Plot EMAs for the 5-minute timeframe
plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min")
plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min")
plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min")

// Strategy execution
if (enter_long)
    strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc))
if (exit_long)
    strategy.close("Long")


Relacionados

Más.