Estrategia de fuerza de volatilidad basada en el cálculo de volumen-precio a largo plazo


Fecha de creación: 2023-10-30 17:03:02 Última modificación: 2023-10-30 17:03:02
Copiar: 0 Número de Visitas: 669
1
Seguir
1617
Seguidores

Estrategia de fuerza de volatilidad basada en el cálculo de volumen-precio a largo plazo

La estrategia se basa en el indicador de medición de la diferencia entre el precio y la longitud del precio para diseñar señales de negociación que permitan juzgar la fuerza de compra y venta en el mercado.

Principio de estrategia

El indicador VB refleja el impulso de los cambios en el volumen de transacciones sobre los precios. Su idea de construcción es:

  1. La tasa de fluctuación diaria calculada para un precio típico representa la fuerza de cambio del precio.

  2. La fuerza de compra y venta en el cierre se determina por la multiplicación del volumen de transacciones y la fuerza de fluctuación de los precios.

  3. Los valores de los indicadores oscilan en el eje 0 hacia abajo, y la medida de la fuerza de la presión atmosférica se basa en el valor de los indicadores positivos y negativos.

Esta estrategia construye el indicador VB y establece la línea de señal. Cuando el indicador VB atraviesa la línea de señal, genera una señal de compra; Cuando el indicador VB atraviesa la línea de señal, genera una señal de venta.

Los pasos principales del código son los siguientes:

  1. Calcula la tasa de fluctuación diaria de un precio típico inter como fuerza de cambio de precio.

  2. Establezca el coefficiente de intersección de la fuerza de oscilación, y las fuerzas de oscilación más allá de ese rango se clasifican como coefficient.

  3. Cálculo de la fuerza cuantitativa vcp después de la interrupción.

  4. La búsqueda y la obtención de indicadores cuantitativos vcp vfi。

  5. Configuración de la longitud de la línea de señal signalLength, para obtener la línea de señal vfima。

  6. Compara el indicador VB vfi y la línea de señal vfima, para generar una señal de transacción.

Ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. El uso de la relación precio-cantidad para juzgar la fuerza de compra y venta en el mercado, sin ser influenciado por el precio en sí mismo.

  2. Se puede configurar el rango de cálculo de los parámetros que controlan la fuerza de cuantificación para evitar los efectos de las fluctuaciones anormales.

  3. Combinando el indicador VB con la comparación de la línea de señal, se puede establecer un tiempo de entrada razonable.

  4. El método de cálculo de los indicadores es simple, claro y fácil de operar en el disco duro.

  5. Se pueden personalizar los parámetros del indicador y los parámetros de la línea de señal para optimizar el efecto de la estrategia.

Riesgo estratégico

La estrategia también tiene sus riesgos:

  1. Los indicadores VB son sensibles a las fluctuaciones anormales de los precios y necesitan un ajuste adecuado de los parámetros de interrupción.

  2. La probabilidad de que el precio de las acciones se desvíe de la señal del indicador es mayor, por lo que se debe evitar el seguimiento ciego.

  3. Se requiere una optimización adecuada de los parámetros del indicador y los parámetros de la línea de señal para evitar la generación de señales falsas.

  4. Aplicable para variedades con características de precio de volumen evidentes, no apto para variedades con poca fluidez.

  5. La tendencia a la dispersión de los indicadores puede indicar una reversión del mercado.

Se puede controlar el riesgo ajustando el rango de parámetros, en combinación con otros indicadores para filtrar y relajar adecuadamente el stop loss.

Dirección de optimización de la estrategia

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros de cálculo para la cuantificación de la fuerza, equilibrando la sensibilidad y la estabilidad.

  2. Optimización de los parámetros de la línea de señal, equilibrio de la latencia y el ruido.

  3. Añadir indicadores como el análisis de propagación de volumen para comprobar la eficacia.

  4. Aumentar la tendencia y apoyar los indicadores de resistencia, evitando el comercio en sentido contrario.

  5. Establezca un mecanismo de stop loss dinámico y ajuste el stop loss según la volatilidad del mercado.

  6. El uso de métodos de aprendizaje automático para entrenar la combinación óptima de parámetros

  7. Se realizan revisiones en varias variedades y en diferentes ciclos para evaluar la solidez de la estrategia.

  8. Comparar el impacto de los diferentes parámetros de los indicadores en la curva de ganancias para encontrar el parámetro óptimo.

Resumir

La estrategia se basa en el indicador de medición del precio, para juzgar la fuerza de compra y venta. Tiene ventajas como el diseño simple del indicador, la ajustabilidad de los parámetros, pero también existe un cierto riesgo de falsas señales. A través de la optimización de los parámetros, eludir los mercados desfavorables y otras medidas, se puede mejorar la estabilidad de la estrategia. Posteriormente, se puede seguir optimizando y validando la estrategia desde múltiples ángulos, mejorando la efectividad del disco.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("VB Strategy", overlay=true)

length = input(130, title="거래량 길이")
coef = input(0.2, title="계수")
vcoef = input(2.5, title="최대 계수")
signalLength=input(5)
smoothVFI=input(false, type=bool, title="부드럽게")
//볼밴
length2 = input(20, minval=1, title="볼밴 길이")

ma(x,y) => smoothVFI ? sma(x,y) : x

typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coef * vinter * close
vave = sma( volume, length )[1]
vmax = vave * vcoef
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )

vfi = ma(sum( vcp , length )/vave, 3)
vfima=ema( vfi, signalLength )
d=vfi-vfima

upper = vfima + stdev(vfi, length2)
lower = vfima - stdev(vfi, length2)

buysignal = cross(vfi, lower) and crossunder(vfi, lower) == 1 ? vfima : na

sellsignal = cross(vfi, upper) and crossover(vfi, upper) == 1 ? vfima : na

//times = timestamp("GMT+6", 2017, 12, 6, 00, 00)

//if (buysignal and times <= time)
if (buysignal)
    if(strategy.position_size < 0)
        strategy.close("SHORT")
        
    if(strategy.position_size > 0)
        strategy.order("LONG", true, 1, when = (low+high)/2)
        
    if(strategy.position_size == 0)
        strategy.entry("LONG", strategy.long, when = (low+high)/2)

//if (sellsignal and times <= time)
if (sellsignal)
    if(strategy.position_size > 0)
        strategy.close("LONG")
        
    if(strategy.position_size < 0)
        strategy.order("SHORT", false, 1, when = (low+high)/2)
        
    if(strategy.position_size == 0)
        strategy.entry("SHORT", strategy.short, when = (low+high)/2)