Estrategia de prueba posterior del filtro horizontal vertical

El autor:¿ Qué pasa?, Fecha: 2024-01-08 10:20:25
Las etiquetas:

img

Resumen: Esta estrategia evalúa si los precios se encuentran en un estado de tendencia mediante el cálculo de la relación entre la diferencia entre los precios más altos y más bajos durante un determinado período y la amplitud del precio de cierre, y utiliza esto como indicador de señal de negociación.

Principio de la estrategia: el indicador central de esta estrategia es el filtro horizontal vertical (VHF).

VHF = (Más alta ((Llevo) - Más baja ((Llevo)) / SUM ((ABS ((Cerca-Cerca[1]), longitud)

Donde los precios más altos y más bajos son respectivamente los precios más altos y más bajos dentro del ciclo de longitud. El numerador refleja el rango de amplitud de los precios y el denominador refleja la fluctuación real de los precios. Su relación puede juzgar la tendencia de los movimientos de precios. Cuando VHF es superior a un umbral de señal dado, se considera que los precios están en un estado de tendencia. Cuando es inferior al umbral de señal dado, se considera que los precios están en estado de shock.

Esta estrategia es simple e intuitiva. Al comparar el rango de fluctuación de precios con la fluctuación real para juzgar la tendencia, se evita el problema de confiar únicamente en SMA, EMA y otros indicadores mientras se ignoran las características del precio en sí. Pero esta estrategia es sensible a la optimización de parámetros, los parámetros de longitud y señal deben ajustarse para adaptarse a diferentes ciclos y condiciones del mercado.

Análisis de ventajas:

  1. Indicador de juicio de tendencia intuitivo, simple y eficaz.
  2. Considere las características del precio en sí, no depende de ninguna curva de ajuste.
  3. Los parámetros configurables ajustan la sensibilidad del juicio.
  4. Se puede integrar fácilmente en varias estrategias comerciales.

Análisis de riesgos:

  1. Sensible a los parámetros, la configuración incorrecta puede causar demasiados intercambios falsos.
  2. Incapaz de distinguir las tendencias falsas cuando los precios están en puntos de inflexión.
  3. No sensibles a las perturbaciones de precios a corto plazo en condiciones de ciclos grandes.
  4. Necesito usar stop loss para controlar la pérdida única.

Direcciones de optimización:

  1. Optimizar el parámetro de longitud para equilibrar la sensibilidad del juicio de tendencia.
  2. Combine otros indicadores para filtrar las señales VHF. Por ejemplo, el MACD puede determinar los puntos de inflexión.
  3. Prueba métodos de aprendizaje automático para encajar en la curva de VHF.
  4. Establecer estrategias paralelas con diferentes configuraciones de ciclo para generar señales estratégicas de varios niveles.

Resumen: Esta estrategia determina intuitivamente la tendencia basada en las características del precio en sí, simple y válida, vale la pena explorar, optimizar y verificar.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/04/2018
// Vertical Horizontal Filter was initiated by Adam White. It was first published 
// in a magazine called “Issues of Futures” in August, 1991. The Vertical Horizontal 
// Filter (VHF) is a very common Indicator used by traders to find out the Phase of 
// a Price Trend. Normally, a price trend can be in a Trending Phase or a Congestion 
// Phase/Choppy Movement Phase. Adam White created this particular Technical Indicator 
// to determine whether prices are trending in a particular direction or are they going 
// through a transitional period. He used it to measure the range of Futures available
// in the market.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Vertical Horizontal Filter Backtest")
Length = input(28, minval=1)
Signal = input(0.4, step=0.01)
reverse = input(false, title="Trade reverse")
hline(Signal, color=blue, linestyle=line)
xHH = highest(high, Length)
xLL = lowest(low, Length)
xNumerator = abs(xHH - xLL)
xDenominator = sum(abs(close - close[1]), Length)
xVHF = xNumerator / xDenominator 
pos = iff(xVHF > Signal, 1,
       iff(xVHF < Signal, -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(xVHF, color=blue, title="VHF")

Más.