
Descripción general
La estrategia es una estrategia de comercio cuantitativa basada en el cruce de un indicador de oscilación de precios de desorientación (DPO) y un promedio móvil indexado (EMA). La idea central de la estrategia es capturar los cambios en la tendencia del mercado mediante la comparación de la relación entre el DPO y su EMA de 4 períodos, lo que genera señales de compra y venta. La estrategia es especialmente adecuada para períodos de tiempo más grandes de 4 horas o más, y es más eficaz cuando se utiliza un gráfico de deslizamiento plano (Heikin Ashi).
Principio de estrategia
La lógica central de la estrategia incluye los siguientes pasos clave:
- Calcula el promedio móvil simple de 24 períodos (SMA) como referencia
- Mueve el SMA hacia adelante por un período de longitud/2+1 para obtener el SMA tras desplazamiento
- Se obtiene el valor de DPO con el precio de cierre menos el SMA tras el desplazamiento
- Calcula el promedio móvil del índice de 4 períodos de DPO
- Cuando el DPO atraviesa su EMA de 4 ciclos, genera una señal de compra
- Cuando el DPO baja a través de sus 4 ciclos de EMA, genera una señal de venta
Ventajas estratégicas
- La claridad de las señales: generar puntos de compra y venta claros a través de señales cruzadas, evitando juicios subjetivos
- El seguimiento de tendencias es bueno: el indicador DPO puede filtrar el ruido del mercado y capturar mejor las principales tendencias
- Menos retrasos: utiliza un ciclo corto (de 4 ciclos) de EMA como línea de señal, para responder más rápidamente a los cambios en el mercado
- Adaptabilidad: las estrategias tienen cierta capacidad de adaptación a diferentes entornos de mercado
- Sencillez de operación: la lógica de la estrategia es clara, fácil de entender y ejecutar
Riesgo estratégico
- Riesgo de mercado volátil: pueden producirse señales falsas frecuentes en un mercado lateral y volátil.
- Riesgo de retraso: aunque se utiliza un EMA de corto plazo, existe un cierto retraso
- Riesgo de reversión de la tendencia: puede causar grandes pérdidas en caso de reversión repentina de una tendencia fuerte
- Sensibilidad de parámetros: los efectos de la estrategia son más sensibles a la selección de parámetros de ciclo
- Dependencia de las condiciones del mercado: la estrategia puede no funcionar de manera óptima en ciertas condiciones del mercado
Dirección de optimización de la estrategia
- Introducción del filtro de frecuencia de oscilación: se puede agregar ATR u otros indicadores de frecuencia de oscilación para filtrar señales en entornos de baja frecuencia de oscilación
- Aumento de la confirmación de la tendencia: en combinación con otros indicadores de tendencia como el ADX para confirmar la fuerza de la tendencia
- Optimización de la configuración de stop loss: se puede ajustar la posición de stop loss en función de la dinámica de la volatilidad del mercado
- Mejora de la filtración de señales: añadir confirmación de la transacción u otros indicadores técnicos para filtrar las falsas señales
- Adaptación de parámetros: optimización dinámica de los parámetros para adaptarse a diferentes entornos de mercado
Resumir
La estrategia de cruce de tendencias DPO-EMA es una estrategia de comercio cuantitativa de estructura simple pero con un efecto notable. Al combinar un indicador de oscilación de tendencia y un promedio móvil, la estrategia puede capturar eficazmente los cambios en la tendencia del mercado. Aunque existen algunos riesgos inherentes, la estrategia sigue teniendo un buen valor de aplicación en la vida real con medidas de optimización y gestión de riesgos razonables.
Código Fuente de la Estrategia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("DPO 4,24 Strategy", shorttitle="DPO Strategy", overlay=true)
// Define a fixed lookback period and EMA length
length = 24
ema_length = 4
// Calculate the Simple Moving Average (SMA) of the closing prices
sma = ta.sma(close, length)
// Calculate the shifted SMA value
shifted_sma = sma[length / 2 + 1]
// Calculate the Detrended Price Oscillator (DPO)
dpo = close - shifted_sma
// Calculate the 4-period Exponential Moving Average (EMA) of the DPO
dpo_ema = ta.ema(dpo, ema_length)
// Generate buy and sell signals based on crossovers
buy_signal = ta.crossover(dpo, dpo_ema)
sell_signal = ta.crossunder(dpo, dpo_ema)
// Overlay buy and sell signals on the candlestick chart
plotshape(series=buy_signal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy entry and exit conditions
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.close("Buy")