Estrategia de doble media móvil basada en predicción de tendencias


Fecha de creación: 2024-02-02 17:39:54 Última modificación: 2024-02-02 17:39:54
Copiar: 0 Número de Visitas: 572
1
Seguir
1617
Seguidores

Estrategia de doble media móvil basada en predicción de tendencias

Descripción general

La estrategia de doble equilátero de predicción de tendencias es una estrategia que trata de predecir cambios de tendencia antes de que la tendencia de los precios se invierta. Se basa en el indicador WaveTrend de LazyBear. La estrategia es capaz de identificar tendencias de precios y mostrar señales de compra y venta a través de un efecto visual lleno de curvas.

Principio de estrategia

La estrategia utiliza el indicador WaveTrend de LazyBear como base. WaveTrend es un indicador de seguimiento de tendencias muy bueno en sí mismo. La estrategia se ha optimizado para escalar sobre esta base. Los pasos principales son los siguientes:

  1. Cálculo del precio promedio de HLC
  2. Calcula el precio medio de EMA
  3. Calculación de las EMA de la desviación absoluta de los precios
  4. Cálculo de los indicadores de ajuste al límite cero
  5. EMA para calcular la tendencia
  6. Cálculo de la línea media

A través de este tratamiento, se pueden filtrar las fluctuaciones aleatorias de los precios para identificar tendencias más claras. Las cruces de línea media rápida y lenta se pueden utilizar para emitir señales de compra y venta.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Identificar las tendencias de los precios
  2. Las señales se generan a tiempo para predecir el cambio de tendencia.
  3. Relleno de tendencias de visibilidad clara a través de curvas
  4. El espacio para optimizar los parámetros es amplio y se puede ajustar según las diferentes variedades y ciclos

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Como todas las estrategias de indicadores tecnológicos, existe el riesgo de fracaso cuando los precios fluctúan fuertemente.
  2. Los parámetros mal configurados pueden causar falsas señales
  3. El retraso en la señal puede causar pérdidas

Estos riesgos pueden mitigarse mediante ajustes en los parámetros y en combinación con otros indicadores.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Ajuste de parámetros para adaptarse a más variedades y ciclos
  2. Incrementar las estrategias de control de pérdidas y controlar el riesgo de pérdidas
  3. Combinación con otros indicadores para mejorar la precisión de la señal
  4. Agregando modelos de aprendizaje automático para ayudar a determinar tendencias y señales

Resumir

En general, la estrategia de predicción de tendencias de doble línea media es una estrategia muy prometedora. Es capaz de identificar con eficacia las tendencias de precios y tratar de predecir los cambios en las tendencias con anticipación. Con cierta optimización y mejora, la estrategia puede convertirse en un poderoso sistema de comercio cuantitativo.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BreakingDawn [JackTz]", overlay = true)

// WaveTrend [LazyBear]
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
 
WTfactor = input(4, title=" WTFactor")
averageHlc3 = sum(hlc3, WTfactor) / WTfactor
ap = averageHlc3 
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1,4)
wtAvg = wt1-wt2
wtPeriodAvgVal = wtAvg * 45 + averageHlc3
wtPeriodAvg2Val = wtAvg * 25 + averageHlc3

buy = wtAvg[1] < wtAvg and wtAvg < close
sell = wtAvg[1] > wtAvg

fillColor = buy ? color.green : color.red
control = plot(wtPeriodAvgVal, color = fillColor)
signal = plot(wtPeriodAvg2Val, color = fillColor)
fill(signal, control, color = fillColor)

if year > 2016
    strategy.entry("buy", strategy.long, when = buy)
    strategy.close("buy",when = sell)