Esta estrategia evalúa la dirección de la tendencia del mercado mediante el cálculo de los cambios en el volumen de negociación y adopta un enfoque de seguimiento de tendencia estableciendo posiciones al comienzo de las tendencias y cerrando posiciones cuando las tendencias terminan.
La estrategia tiene plenamente en cuenta el impacto de los cambios en el volumen de operaciones en el juicio de tendencia, utilizando indicadores de impulso para medir la fuerza de la tendencia y capturar con mayor precisión los puntos de inflexión de la tendencia.
La estrategia incorpora el cálculo del umbral del volumen de negociación para filtrar las fluctuaciones normales y capturar únicamente el comportamiento colectivo de los grandes fondos, evitando ser engañados por el ruido del mercado.
La consideración combinada del precio y el volumen puede evitar eficazmente las falsas rupturas.
El uso de medias móviles y criterios lógicos filtra la mayoría de las señales falsas.
Seguir las tendencias en lugar de predecir inversiones es adecuado para el comercio de tendencias a medio y largo plazo y para captar la dirección principal del mercado.
La estrategia se basa principalmente en los cambios en el volumen de operaciones para determinar las tendencias, y su eficacia puede verse comprometida en productos con volumen de operaciones inactivo.
Los datos sobre el volumen de operaciones pueden manipularse, lo que puede generar señales engañosas, por lo que es necesario tener cuidado con las divergencias entre el volumen de precios.
Las relaciones precio-volumen a menudo están rezagadas, potencialmente perdiendo el momento óptimo de entrada al comienzo de las tendencias.
Los métodos de stop loss en bruto pueden salir prematuramente de las operaciones, incapaces de capturar las tendencias de forma persistente.
Incapaz de responder eficazmente a las correcciones a corto plazo, y puede ser insensible a eventos repentinos.
Considere la posibilidad de incorporar medias móviles, indicadores de volatilidad para optimizar las entradas y paradas; analizar el volumen de precios con más fuentes de datos para evitar señales engañosas; incorporar indicadores técnicos adecuados para mejorar la capacidad de respuesta a las correcciones a corto plazo.
Optimice las condiciones de entrada incorporando promedios móviles, ichimoku kinko hyo, etc. para confirmar las entradas después de que comience la tendencia.
Optimice las paradas con paradas de seguimiento, paradas escalonadas, etc. para hacer que las paradas se adhieran estrechamente al precio y a las paradas de tendencia.
Agregue métricas de tendencia como ADX para evitar operaciones incorrectas en mercados de rango y agitados.
Optimizar los parámetros a través de backtests más largos para encontrar combinaciones óptimas de parámetros.
Ampliar la estrategia a más productos, buscando instrumentos de mayor calidad con volumen activo.
Considerar la adición de modelos de aprendizaje automático para aprovechar más datos para el análisis precio-volumen y mejorar la calidad de la señal.
La lógica general de la estrategia es clara, con indicadores básicos intuitivos que identifican con fiabilidad la dirección de la tendencia. La ventaja radica en enfatizar los cambios en el volumen de operaciones, adecuados para rastrear las tendencias a medio y largo plazo, pero hay que tener cuidado con las señales engañosas.
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Strategy for Volume Flow Indicator with alerts and markers on the chart", overlay=true) // This indicator has been copied form Lazy Bear's code lengthVFI = 130 coefVFI = 0.2 vcoefVFI = 2.5 signalLength= 5 smoothVFI=true ma(x,y) => smoothVFI ? sma(x,y) : x typical=hlc3 inter = log( typical ) - log( typical[1] ) vinter = stdev(inter, 30 ) cutoff = coefVFI * vinter * close vave = sma( volume, lengthVFI )[1] vmax = vave * vcoefVFI vc = iff(volume < vmax, volume, vmax) mf = typical - typical[1] vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) ) vfi = ma(sum( vcp , lengthVFI )/vave, 3) vfima=ema( vfi, signalLength ) dVFI=vfi-vfima bullishVFI = dVFI > 0 and dVFI[1] <=0 bearishVFI = dVFI < 0 and dVFI[1] >=0 longCondition = dVFI > 0 and dVFI[1] <=0 shortCondition = dVFI < 0 and dVFI[1] >=0 plotshape(bullishVFI, color=color.green, style=shape.labelup, textcolor=#000000, text="VFI", location=location.belowbar, transp=0) plotshape(bearishVFI, color=color.red, style=shape.labeldown, textcolor=#ffffff, text="VFI", location=location.abovebar, transp=0) alertcondition(bullishVFI, title='Bullish - Volume Flow Indicator', message='Bullish - Volume Flow Indicator') alertcondition(bearishVFI, title='Bearish - Volume Flow Indicator', message='Bearish - Volume Flow Indicator') if(year > 2018) strategy.entry("Long", strategy.long, when=dVFI > 0 and dVFI[1] <=0) if(shortCondition) strategy.close(id="Long")