Ekai Volume Profile
- Indicadores
- Versión: 1.0
Perfil de volumen de rango fijo de nivel institucional para MetaTrader 5 con controles de rango arrastrables con el ratón, división entre compras y ventas, POC y área de valor
Descripción general
EKAI Anchored Volume Profile Pro incorpora de forma nativa en MetaTrader 5 la potencia visual del perfil de volumen de rango fijo de TradingView y del perfil de volumen de flujo de órdenes de NinjaTrader. Dos controles deslizables definen un intervalo de tiempo en el gráfico, y el indicador traza un perfil de volumen con todas las funciones dentro de ese intervalo: histograma, división entre compras y ventas por dirección del tick, Punto de Control (POC) y Área de Valor (VAH/VAL).
Puedes mover cualquiera de los controladores en cualquier momento haciendo clic en él y arrastrándolo. El perfil se recalcula automáticamente. Si cruzas un controlador sobre el otro, el indicador detecta el cambio y los reordena de forma silenciosa.
En segundo plano, el indicador utiliza una cascada de clasificación de volumen de tres niveles: da prioridad a los indicadores de ticks reales de los brókers (disponibles en futuros y bolsas de valores), recurre al algoritmo Lee-Ready para Forex (mediante el análisis de cotizaciones de compra, venta y última cotización) y, por último, a la distribución del volumen por ticks si no hay datos de ticks disponibles. Esto significa que la misma herramienta funciona con futuros de ES, NQ y CL, con CFD sobre acciones y con cualquier par de divisas, ofreciéndote siempre la mejor clasificación disponible para ese instrumento.
El resultado es una herramienta de análisis de volumen de nivel profesional que los operadores pueden utilizar para identificar nodos de alto volumen (acumulación institucional), nodos de bajo volumen (objetivos de ruptura) y desequilibrios agresivos entre compradores y vendedores dentro de cualquier ventana temporal personalizada, ya sea para prepararse para concursos de empresas de inversión, identificar niveles clave o estructurar operaciones intradía.
¿Qué la hace diferente?
El mercado MQL5 cuenta con numerosos indicadores de perfil de volumen, pero la mayoría se encuadra en una de estas tres categorías:
- Perfiles de sesión (Asia / Londres / Nueva York) sin control por parte del usuario sobre el rango
- Rango fijo (rango visible o número fijo de barras) sin selección manual
- Herramientas básicas de tipo VWAP con anclaje que solo fijan un único punto
Son muy pocos los indicadores que combinan:
- Dos controles de rango arrastrables con el ratón: se selecciona el rango visualmente, igual que en el rango fijo VP de TradingView
- Distribución de compra/venta en tiempo real: cada barra del histograma se divide en partes de compra (verde) y venta (rojo) según la dirección del tick
- Clasificación del volumen en tres niveles: indicadores reales del bróker → Lee-Ready → distribución del volumen por ticks; se indica claramente qué método se está utilizando
- Cálculo completo del Área de Valor: POC, VAH y VAL calculados con el algoritmo estándar de expansión del 70 % a partir del POC
- Estado persistente por gráfico: el rango que establezcas se mantiene tras reiniciar MT5
Si has estado alternando entre TradingView (para el análisis de volumen) y MetaTrader (para la ejecución), este indicador te permite tenerlo todo en MT5.
Características principales
Dos marcadores de rango arrastrables
El núcleo del indicador es un rango, no un único punto de anclaje. Dos líneas verticales doradas definen los límites izquierdo y derecho del rango:
- Haz clic en cualquiera de las líneas → quedará seleccionada (función nativa de MT5)
- Arrastra horizontalmente → mueve el límite a cualquier barra
- Suelta → el perfil se recalcula automáticamente
- Cruza un extremo sobre el otro → el indicador detecta el cambio y reordena ambos extremos y el rectángulo de forma silenciosa
Entre los dos marcadores, un fondo azul marino semitransparente (que se puede activar o desactivar) marca claramente el rango seleccionado en el gráfico. Este fondo se sitúa detrás de las barras de precios, por lo que nunca obstaculiza la visión de las velas.
Histograma dividido en compra/venta
Para cada intervalo de precios dentro del rango, el indicador calcula por separado el volumen de compra y el volumen de venta:
- Parte verde (compra): compra agresiva a ese nivel de precio
- Parte roja (venta): venta agresiva a ese nivel de precio
Las dos partes se representan una al lado de la otra dentro de una misma barra, de modo que se puede ver de inmediato si en cada nivel de precio ha predominado la acumulación o la distribución. Las barras se extienden desde el extremo izquierdo hacia la derecha, y el POC (la barra más grande) alcanza un porcentaje configurable del ancho total del rango (por defecto, el 65 %).
Estilo alternativo: barras de un solo color según el lado dominante (verde si predominó la compra, rojo si predominó la venta).
Cascada de clasificación de volumen en tres niveles
MetaTrader 5 no ofrece una única forma fiable de clasificar un tick como compra o venta. Este indicador utiliza una cascada para ofrecerte siempre la mejor clasificación disponible para el instrumento:
Nivel 1: indicadores reales del bróker (TICK_FLAG_BUY / TICK_FLAG_SELL)
- Disponible en mercados de futuros (CME: ES, NQ, CL, GC, etc.) y bolsas de valores
- La propia bolsa marca cada operación indicando el lado del agresor
- La clasificación más precisa posible
Nivel 2 — Prueba de cotización «Lee-Ready»
- Para el mercado al contado de divisas y los CFD, donde normalmente no hay indicadores de los corredores
- Utiliza el precio de compra, el de venta y el último precio del tick para clasificar:
- Operación por encima del punto medio del spread → COMPRA (el agresor compró al precio de venta)
- Operación por debajo del punto medio → VENTA (el agresor vendió al precio de compra)
- Operación exactamente en el punto medio → pasa al Nivel 3
- Algoritmo académico estándar utilizado en el análisis de flujos institucionales
Nivel 3 — Prueba de tick
- Último recurso cuando no hay contexto de oferta/demanda disponible
- Compara el precio del tick actual con el del tick anterior:
- Precio al alza → COMPRAR
- Precio a la baja → VENDER
- Mismo precio → se mantiene la dirección anterior
Nivel 4 — Plan de contingencia de distribución a nivel de barra
- Si CopyTicksRange no devuelve ningún dato (algo poco habitual; ocurre con algunos brókers que tienen un historial de ticks limitado), el indicador distribuye el volumen de ticks de la barra a lo largo del rango máximo-mínimo de la misma, ponderado en una proporción de 65/35 a favor del lado alcista/bajista en función del cierre respecto a la apertura
El panel de información siempre muestra qué nivel se ha utilizado, para que conozcas la fiabilidad de la clasificación:
- Real (señales del bróker): 45 230 ticks — máxima confianza
- Lee-Ready (est.): 45 230 ticks — alta fiabilidad
- Prueba de ticks (est.): 45 230 ticks — fiabilidad razonable
- Volumen de ticks (distribución de barras): 250 barras — aproximación
Punto de control (POC) + Área de valor
Niveles estándar del perfil de volumen institucional, calculados correctamente:
- POC (Punto de control): el nivel de precio con mayor volumen, representado mediante una línea continua de color dorado que atraviesa todo el rango
- VAH (Área de valor alta): la parte superior del 70 % del área de valor, representada mediante una línea discontinua de color cian
- VAL (Value Area Low): la parte inferior del área de valor del 70 %, representada mediante una línea discontinua de color cian
El área de valor se calcula mediante el algoritmo de expansión estándar: se empieza por el POC y, a continuación, se va añadiendo repetidamente el intervalo adyacente (por encima o por debajo) con mayor volumen hasta que el volumen acumulado alcance el 70 % (configurable) del volumen total del rango.
Estos tres niveles son tus puntos de referencia clave para operar dentro del rango. Los rechazos del precio en VAH/VAL son decisiones institucionales para mantenerse dentro del valor. Las rupturas de VAH/VAL son movimientos de dirección estructural. El POC es el imán del valor razonable: el precio tiende a volver a él.
Panel de información con estadísticas del rango
Un panel de información compacto situado en la esquina superior izquierda muestra todo lo que necesitas de un solo vistazo:
═══════ AVP Pro ═══════ [Restablecer] [Ocultar] ═ RANGO ═ Inicio: 27/09/2026 14:00 Fin: 28/09/2026 22:00 Barras: 100 Fuente: Lee-Ready (est.): 45 230 ticks ═ PERFIL ═ POC: 4285,60 VAH: 4291,20 VAL: 4278,50 ═ VOLUMEN ═ % de compra: 52,3 % % de venta: 47,7 % Delta: +12,4 mil Total: 1,85 millones [POC activado] [VA activado] [HIST activado]
Botones del panel:
- Restablecer: restablece el rango a su tamaño inicial (100 barras desde el momento actual hasta el pasado, o tu configuración predeterminada)
- Ocultar: minimiza el panel (el pequeño botón [x] de AVP de la esquina lo vuelve a mostrar)
- POC ON/OFF: activa o desactiva al instante la visibilidad de la línea POC
- VA ON/OFF: activa o desactiva al instante la visibilidad de VAH/VAL
- HIST ON/OFF: activa o desactiva al instante la visibilidad del histograma
El botón de alternancia externo [x] AVP / [ ] AVP siempre está visible, incluso cuando el panel está oculto, por lo que puedes volver a mostrarlo con un solo clic.
Persistencia total del estado
Todo se guarda automáticamente en un archivo específico para cada gráfico:
- Horas de inicio y fin del intervalo
- Posición y visibilidad de los paneles
- Estados de activación/desactivación de POC, VA e histograma
Cierra MT5, vuelve a abrirlo y vuelve a añadir el indicador: el rango, el estado del panel y todas tus opciones de activación/desactivación estarán exactamente como los dejaste.
Casos de uso
El analista de rango fijo
Quieres analizar la distribución del volumen durante una oscilación, una sesión o un acontecimiento de actualidad concretos. En lugar de adivinar dónde se encuentran los niveles importantes, traza el rango en torno al movimiento: el POC te indica el valor razonable, el VAH y el VAL te proporcionan los límites de aceptación, y el HVN y el LVN del histograma te indican los niveles de soporte y resistencia para el siguiente movimiento. Perfecto para el análisis retrospectivo de sesiones clave.
El operador de flujo de órdenes
Necesitas saber quién tenía el control durante un movimiento de precios concreto: ¿los compradores o los vendedores? El histograma de distribución de compras/ventas te muestra, en cada nivel de precio, si predominó la acumulación o la distribución. Las barras con predominio de verde en los mínimos indican que los compradores absorbieron el retroceso. Las barras con predominio de rojo en los máximos indican que los vendedores retiraron liquidez a los compradores. Se trata de un análisis del flujo de órdenes institucional, integrado de forma nativa en MT5.
El operador «Prop Firm Challenge»
Estás participando en un desafío de FTMO o Alpha Capital y necesitas identificar los niveles clave del día. Establece el rango de la sesión de ayer → obtén el POC, el VAH y el VAL de ayer. Estos son los puntos de referencia a los que reaccionará cualquier operador institucional al inicio de la sesión. En combinación con tus reglas de entrada, esto te proporciona una ventaja estructural.
El operador de comparación multisesión
Abre dos gráficos del mismo instrumento. Establece el rango de la sesión de Londres en uno y el de la sesión de Nueva York en el otro. Compara los POC, los deltas y las áreas de valor. ¿Dónde se encuentra el verdadero interés institucional? ¿Dónde se negoció la mayor parte del volumen? Este contexto no se aprecia solo en los gráficos de precios.
El «Level Mapper» posterior a las noticias
Acaba de publicarse el comunicado del FOMC. El precio está sumido en el caos. Necesitas saber dónde se formaron las zonas de aceptación iniciales. Establece el intervalo desde 15 minutos antes de la noticia hasta 30 minutos después → el perfil te muestra la banda de precios exacta en la que se concentró el volumen tras la sacudida inicial. Esa banda se convierte en soporte/resistencia durante el resto del día.
El Analista Comparativo Multirango (Hoja de ruta)
Próximamente en una futura actualización: adjunta el indicador varias veces al mismo gráfico con diferentes rangos. Compara los POC entre los distintos rangos. Identifica los POC «desnudos» (POC que nunca se han vuelto a poner a prueba). Crea un mapa completo a nivel institucional.
Requisitos
- MetaTrader 5, versión 3550 o posterior
- Cualquier bróker
- Cualquier instrumento: futuros, acciones, CFD, Forex, índices, criptomonedas
- Sin DLL externas, sin dependencias de terceros
- No se requiere acceso a la red: todos los cálculos se realizan de forma local
- Se prefieren los datos de ticks: el indicador funciona mejor cuando tu bróker proporciona el historial de ticks a través de CopyTicksRange. Si no está disponible, recurre a la distribución basada en barras.
Instalación
- Descargar desde el MQL5 Market
- Añádelo a cualquier gráfico (funciona en cualquier marco temporal)
- Aparecen dos líneas verticales doradas que definen el rango inicial (por defecto, las últimas 100 barras)
- El perfil de volumen se traza dentro del rango
- Arrastra cualquiera de las líneas para redefinir el rango
- Utiliza el panel de información para activar o desactivar la visibilidad de POC, VA e histograma
- Ajusta InpBins (por defecto 60) si deseas mayor o menor granularidad
- Ajusta InpMaxWidthPct (por defecto, 65 %) si el histograma es demasiado ancho o estrecho
Preguntas frecuentes
P: ¿Funciona esto en Forex? Sí. En Forex, la mayoría de los brókers no proporcionan los indicadores TICK_FLAG_BUY / TICK_FLAG_SELL, por lo que el indicador recurre automáticamente al algoritmo Lee-Ready (prueba de cotización utilizando bid/ask/last). El panel de información mostrará «Lee-Ready (est.)» como fuente. La precisión de la clasificación es alta (normalmente, entre un 75 % y un 85 % de coincidencia con los indicadores reales cuando ambos están disponibles).
P: ¿Funciona esto con los futuros? Sí, y funciona mejor precisamente con los futuros. Los instrumentos de la CME (ES, NQ, CL, GC, ZB) proporcionan indicadores TICK_FLAG_BUY/SELL reales a través de la mayoría de los brókers con conexión a la bolsa. El panel de información mostrará «Real (indicadores del bróker)» como fuente. Esta es la clasificación más precisa disponible en MT5.
P: ¿Qué ocurre si mi bróker no proporciona datos de ticks? El indicador recurre de forma elegante a la distribución a nivel de barra. Lee el tick_volume de cada barra del rango y lo distribuye a lo largo de la banda de máximos y mínimos, ponderado en una proporción de 65/35 hacia la dirección alcista/bajista en función del cierre frente a la apertura. El panel de información mostrará «Volumen por tick (distribución por barra)». Se trata de una aproximación, pero aun así ofrece niveles significativos de POC y del área de valor.
P: ¿Qué precisión tiene la clasificación Lee-Ready? El algoritmo Lee-Ready es el estándar de referencia académico para clasificar operaciones cuando se dispone de datos de compra, venta y última cotización, pero no de indicadores explícitos. Los estudios empíricos muestran una precisión de clasificación del 75-90 % frente a datos conocidos de agresores. A efectos del trading por cuenta propia, esto es más que suficiente para identificar zonas de desequilibrio entre la compra y la venta.
P: ¿Cómo se calcula el «Value Area»? Método institucional estándar: se empieza por el intervalo del POC (precio con mayor volumen) y, a continuación, se va añadiendo repetidamente el intervalo adyacente (por encima o por debajo) con mayor volumen, acumulando hasta capturar el 70 % (configurable mediante InpValueAreaPct) del volumen total del rango. VAH = límite superior del rango cubierto, VAL = límite inferior.
P: ¿Puedo tener varios rangos en el mismo gráfico? No en la v1.00. Actualmente, cada gráfico tiene un rango a la vez. La compatibilidad con múltiples rangos está prevista en la hoja de ruta de la Fase 2 y permitirá hasta 3 rangos simultáneos (A/B/C) con colores diferentes.
P: ¿Puedo utilizarlo como un perfil de volumen anclado (inicio fijo, final variable)? Sí. Solo tienes que colocar el controlador derecho en la barra actual y no moverlo nunca; a medida que se formen nuevas barras, puedes arrastrar el controlador derecho hacia delante para incluirlas, lo que en la práctica funciona como un perfil de volumen anclado con un lado derecho creciente. O bien, configura InpInitialRange = RANGE_SESSION para que siempre comience desde la apertura de la sesión diaria.
P: ¿Ralentiza MT5? No. El perfil solo se reconstruye cuando se mueve un controlador o se cierra una nueva barra, y la reconstrucción se limita mediante un temporizador (por defecto, cada 2 segundos), nunca en cada tick. En cuanto a la memoria, solo se almacena un rango de datos de ticks. El indicador se ha probado con 500 000 ticks en un único rango en un ordenador normal sin que se apreciara ningún retraso.
P: ¿Cuántos intervalos debo utilizar? El valor por defecto es 60, lo que funciona bien para la mayoría de los marcos temporales. Aumenta a 100-200 para una precisión de scalping muy ajustada en futuros. Disminuye a 30-40 para marcos temporales más amplios en los que desees zonas más limpias y amplias.
P: ¿Qué ocurre si mi rango se extiende hasta el fin de semana o el cierre del mercado? El indicador gestiona los huecos de forma natural: las barras sin volumen simplemente no se tienen en cuenta. Sin embargo, si estás en un gráfico dominical de Forex, el punto de anclaje puede caer en un hueco. Basta con arrastrar el controlador izquierdo hacia delante hasta la primera barra con volumen real.
P: ¿Se mantiene la configuración tras reiniciar MT5? Sí. Los límites del rango, la posición del panel, la visibilidad del panel y todos los ajustes se guardan en un archivo específico para cada gráfico en el entorno de pruebas de MT5. Reinicia MT5 y todo volverá a aparecer exactamente como lo dejaste.
P: ¿Puedo personalizar los colores? Sí. El color del controlador, el color de compra, el color de venta, el color del POC, los colores de VAH/VAL y el color de fondo del rango son parámetros configurables.
P: ¿Funciona en el Probador de estrategias? El indicador se inicializa correctamente en el Probador de estrategias, pero su utilidad allí es limitada, ya que el historial de ticks del Probador no siempre proporciona datos reales de banderas. Para realizar un análisis de volumen significativo, ejecútalo en gráficos en tiempo real o de demostración.
Fuente de datos: Technical Deep Dive
Para usuarios avanzados que quieran comprender exactamente cómo funciona el indicador:
Cómo se obtiene el volumen
El indicador llama a CopyTicksRange(_Symbol, ticks, COPY_TICKS_ALL, from_msc, to_msc) para recuperar todos los ticks comprendidos entre el inicio y el final del rango. COPY_TICKS_ALL devuelve los valores de oferta, demanda, último precio, volumen e indicadores para cada tick, que es la máxima información disponible en MT5.
Si CopyTicksRange devuelve 0 o falla, el indicador recurre a CopyRates y utiliza el volumen por tick de la barra con heurísticas de clasificación de barras.
Cómo se clasifica cada tick
Para cada tick devuelto, el clasificador recorre los tres niveles en orden:
-
if(ticks[i].flags & TICK_FLAG_BUY) → BUY. TICK_FLAG_BUY y TICK_FLAG_SELL son establecidos por el bróker o la bolsa cuando el tick contiene datos reales del agresor. Presentes en futuros, bolsas de valores y algunas plataformas de cripto.
-
Si no hay indicadores y el tick tiene precios válidos de compra, venta y último, se calcula el precio medio = (precio de compra + precio de venta) / 2 y el umbral = half_spread * 0,3:
- último > precio medio + umbral → COMPRA (el agresor ha comprado por encima del precio medio)
- último > precio medio - umbral → VENTA (el agresor vendió por debajo del precio medio)
- En caso contrario → pasa a la prueba del tick
-
Si sigue sin clasificarse, compara el precio del tick con el del tick anterior:
- Precio al alza → COMPRA
- Precio a la baja → VENDER
- Igual → heredar la dirección anterior
Último recurso: alterna al 50/50 para evitar sesgar el perfil.
Cómo se mide el volumen
Para cada tick, el clasificador extrae el volumen siguiendo este orden de prioridad:
- ticks[i].volume_real si InpUseRealVol=true y está disponible (volumen fraccionario, más preciso en algunas bolsas)
- En caso contrario, ticks[i].volume (volumen entero, estándar)
- De lo contrario, 1 (contador de contribuciones, cuando no hay datos de volumen disponibles)
Cómo se construye el histograma
El rango de precios comprendido entre range-min y range-max se divide en InpBins intervalos de igual anchura. Cada tick clasificado aporta su volumen al intervalo que contiene su precio:
- binIdx = floor((precio - precioMín) / anchoDelIntervalo)
- binBuyVol[binIdx] += vol si es COMPRA
- binSellVol[binIdx] += vol si es VENTA
A continuación, binTotalVol[i] = binBuyVol[i] + binSellVol[i] para cada intervalo.
Cómo se calcula el POC
Búsqueda simple del máximo: pocBin = argmax(binTotalVol). Se trata del intervalo con el volumen total más alto. pocPrice = binPrice[pocBin] (centro del intervalo).
Cómo se calcula el área de valor
Expansión estándar:
target = totalVolume * InpValueAreaPct / 100,0 (por defecto, 70 %)
lo = hi = pocBin
acc = binTotalVol[pocBin]
mientras acc < objetivo y (lo > 0 o hi < númeroDeIntervalos - 1):
volLo = volumenTotalIntervalo[lo - 1] (o -1 si lo == 0)
volHi = volumenTotalDelIntervalo[hi + 1] (o -1 si hi == númeroDeIntervalos - 1)
si volHi > volLo:
hi += 1
acc += volumenTotalDelIntervalo[hi]
else:
lo -= 1
acc += binTotalVol[lo]
vahPrice = binPrice[hi] + binWidth / 2
valPrice = binPrice[lo] - binWidth / 2
Perfil de rendimiento
- Coste de reconstrucción: O(N), donde N = número de ticks en el rango. Limitado por InpMaxTicks (por defecto, 500 000).
- La reconstrucción se activa al: soltar el arrastre de un controlador, al cierre de una nueva barra o al activar/desactivar un panel que afecte al histograma.
- La reconstrucción se limita a OnTimer (por defecto, 2 segundos); nunca se realiza en cada tick.
- Memoria: O(bins + ticks). Uso típico: 500 000 ticks × 24 bytes = 12 MB como máximo durante la reconstrucción, que se liberan después.
Historial de versiones
v1.00 (lanzamiento inicial)
- Dos controles deslizantes de rango que se pueden arrastrar con el ratón
- Fondo del rango semitransparente (activable/desactivable)
- Histograma dividido en «Compra» y «Venta» con colores yuxtapuestos
- Histograma alternativo de un solo color (estilo «lado dominante»)
- Línea POC (punto de control)
- VAH / VAL (máximo/mínimo del área de valor) con porcentaje configurable (por defecto, 70 %)
- Clasificación del volumen en tres niveles: indicadores reales de los corredores → Lee-Ready → prueba de ticks
- Recurso alternativo a nivel de barra cuando no hay datos de ticks disponibles
- Panel de información con estadísticas de rango
- Botones de activación/desactivación de POC, VA e histograma desde el panel
- Botón de activación/desactivación externo [x] AVP para ocultar/mostrar el panel
- Persistencia total del estado por gráfico (rango, panel, botones de activación)
- Detección automática de cambio de tendencia cuando el usuario cruza los manejadores
- Colores, intervalos, porcentaje del área de valores y anchura del histograma configurables
- Funciona con cualquier símbolo, cualquier marco temporal y cualquier tipo de cuenta
- Sin DLL externas, sin acceso a la red
EKAITRADING / TSDCCORP. Creado por traders, para traders.
