Estrategia de extracción de tendencias de filtración de banda

El autor:¿ Qué pasa?, Fecha: 2024-01-03 15:22:49
Las etiquetas:

img

Resumen general

La estrategia de extracción de tendencias de filtro de banda es una estrategia de seguimiento de tendencias de acciones basada en filtros de banda.

Principios

La estrategia primero construye una media móvil exponencial doble ajustando los parámetros longitud y delta para controlar la longitud de la media móvil y la suavidad. Luego utiliza un conjunto de transformaciones matemáticas para extraer el componente de tendencia de la serie de precios y almacenarlo en la variable xBandpassFilter. Finalmente, calcula la media móvil simple de xBandpassFilter, xMean, como el indicador para entradas y salidas.

La sensibilidad de las entradas y salidas se puede controlar ajustando el nivel de disparador.

Ventajas

  1. La doble EMA filtra efectivamente algo de ruido en los precios para estrategias más estables.
  2. El filtrado de banda pasa sólo extrae el componente de tendencia en los precios, evitando los golpes.
  3. Menos parámetros facilitan la optimización y el control de riesgos.

Los riesgos

  1. El retraso en el tiempo causa oportunidades perdidas de rápidas reversiones.
  2. La doble EMA y el filtrado de banda tienen efectos de paso bajo, lo que reduce la sensibilidad.
  3. El exceso de filtración puede causar tendencias fuertes faltantes si los parámetros están mal ajustados.

Acortando la longitud puede mejorar los problemas de retraso.

Mejoras

  1. Añadir stop loss para controlar la pérdida de una sola operación.
  2. El sistema de medias móviles dobles puede mejorar la estabilidad.
  3. Combinar con el volumen u otras señales de reversión para evitar golpes.
  4. Utilice el aprendizaje automático o algoritmos genéticos para optimizar los parámetros.

Conclusión

La estrategia es relativamente estable con un buen rendimiento en mercados con tendencias fuertes.


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
	   iff(xMean < Trigger, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMean, color=red, title="ExTrend")

Más.