Estrategia de seguimiento del impulso

El autor:¿ Qué pasa?, fecha: 2023-11-10 12:12:44
Las etiquetas:

img

Resumen general

Esta estrategia se basa en indicadores de impulso combinados con promedios móviles para realizar un seguimiento de las tendencias del mercado.

Estrategia lógica

  1. Calcular el impulso del precio como: (Precio actual - Precio de hace N períodos) / Precio de hace N períodos

  2. Calcular la media móvil de la mitad del precio durante N períodos

  3. Normaliza el valor del impulso al rango de 0 a 1

  4. Cuando el impulso normalizado es mayor que 0,5 y el precio está por encima de la media móvil, ir largo

  5. Cuando el impulso normalizado es inferior a 0,5 y el precio está por debajo de la media móvil, ir corto

  6. Utilizar un mecanismo de stop loss móvil con los niveles de stop loss adecuados

La estrategia es un método de negociación basado en el valor de los precios de los mercados. Cuando el mercado está en tendencia, el precio se moverá persistentemente en una dirección, generando grandes valores de impulso.

Análisis de ventajas

Esta estrategia tiene las siguientes ventajas:

  1. Seguimiento de las tendencias del mercado, con grandes ganancias potenciales

  2. Momentum es sensible a los cambios de precios y responde rápidamente a las tendencias

  3. Las medias móviles filtran el ruido aleatorio y se combinan bien con el impulso

  4. Mecanismo de suspensión de pérdidas limita las pérdidas en operaciones individuales

  5. Lógica sencilla y clara, fácil de implementar y hacer pruebas posteriores

  6. Los parámetros flexibles pueden adaptarse a diferentes períodos y regímenes de mercado

En general, esta es una gran estrategia para los mercados de tendencias.

Análisis de riesgos

A pesar de las ventajas, hay que tener en cuenta algunos riesgos:

  1. Riesgo de ruptura en tendencias alcistas cuando el precio se invierte después de la ruptura

  2. Riesgo de reversión en tendencias a la baja cuando el precio rebota después de una caída

  3. Whipsaw señala cuando el precio oscila alrededor de la media móvil

  4. Señales incorrectas si los parámetros no se establecen correctamente

  5. Desempeño bajo en mercados con variaciones de rango

  6. Se requiere una pérdida y un movimiento estrictos para evitar una salida prematura

Para abordar estos riesgos, la estrategia de stop loss necesita optimización, filtrar señales innecesarias con parámetros sueltos, ajustar parámetros para diferentes períodos y controlar el tamaño de la posición.

Direcciones de optimización

A continuación se presentan algunas formas de optimizar aún más la estrategia:

  1. Prueba diferentes combinaciones de parámetros para obtener los mejores resultados de las pruebas de retroceso

  2. Incorporar las reglas de negociación de la tortuga de salida a 2N pérdida y 1N ganancia

  3. Optimizar el stop loss con indicadores de volatilidad para el stop loss adaptativo

  4. Añadir reglas de posicionamiento basadas en el retiro, el tiempo, etc.

  5. Prueba diferentes métodos de cálculo de momento como el momento promedio móvil exponencial

  6. Añadir filtros de patrón de velas para señales más robustas

  7. Utilice el aprendizaje automático para la optimización de parámetros, selección de características, etc.

  8. Incorporar algunas aportaciones humanas discrecionales en puntos clave

Con estas mejoras, la estrategia puede lograr una mejor estabilidad, adaptabilidad y rentabilidad.

Conclusión

La estrategia de seguimiento de impulso es un enfoque simple y práctico de seguimiento de tendencias. Puede capturar ágilmente las tendencias del mercado y obtener ganancias de burbujas y caídas. Pero los riesgos de ajuste de curva deben administrarse con controles de riesgo disciplinados para mantener la robustez. Con el ajuste de parámetros y las extensiones de funcionalidad, la estrategia puede generar ganancias constantes en más regímenes de mercado.


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

//@version=3
strategy("Momentum Strategy, rev.2", overlay=true)

//
// Data
//
src = input(close)
lookback = input(20)
cscheme=input(1, title="Bar color scheme", options=[1,2])

//
// Functions
//
momentum(ts, p) => (ts - ts[p]) / ts[p]

normalize(src, len) =>
    hi  = highest(src, len)
    lo  = lowest(src, len)
    res = (src - lo)/(hi - lo)

//
// Main
//
price = close
mid = sma(src, lookback)
mom = normalize(momentum(price, lookback),100)

//
// Bar Colors
//
clr1 = cscheme==1?black: red
clr2 = cscheme==1?white: green
barcolor(close < open ? clr1 : clr2)

//
// Strategy
//
if (mom > .5 and price > mid )
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

if (mom < .5 and price < mid )
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Más.