Version 1.1.0 · NinjaTrader 8 Primero el contexto. Luego la presión. La ejecución, al final. Trade less. Trade better. Trade with clarity.
© 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.
Acerca de esta guía
Esta guía explica qué muestra Flow.42 AbsorptionMap en tu gráfico, las ideas que hay detrás y todos los ajustes que puedes cambiar. Está escrita para traders, no para programadores: no necesitas saber nada de su funcionamiento interno para sacarle partido a la herramienta.
AbsorptionMap es una herramienta de contexto y visualización. Resalta las zonas de precio donde la compra o la venta agresiva fue absorbida en lugar de mover el precio. No es una señal de trading automática y no te dice cuándo comprar o vender. Úsala como un elemento más dentro de tu propio proceso.
1. Qué hace AbsorptionMap
AbsorptionMap encuentra y marca los niveles de precio donde la participación agresiva del mercado fue absorbida por un contraflujo oculto: los momentos en los que los compradores empujaron una y otra vez pero el precio no subió, o en los que los vendedores machacaron a la baja sin marcar nuevos mínimos.
Lee el mercado en tres capas:
- Los desequilibrios localizan los niveles de precio dentro de cada vela donde un lado del order flow dominó con claridad.
- Los clústeres agrupan desequilibrios repetidos en precios cercanos en una única zona de absorción.
- La lógica de absorción vigila entonces cada zona y se hace la pregunta clave: ¿ganó el flujo agresivo o fue absorbido?
Una capa opcional de DOM Defense lee el libro de órdenes en vivo (Level 2 / Market Depth) y comprueba si el lado que absorbe también se ve como una liquidez en reposo inusualmente densa que defiende el nivel.
AbsorptionMap no es un disparador de entrada por sí solo. Muestra dónde es probable que se haya defendido un nivel, dónde puede estar formándose un giro y dónde el respeto al precio es significativo.
2. Lo que se ve en el gráfico
AbsorptionMap puede dibujar cinco cosas:
1. Los marcadores de rombo se sitúan en el nivel de precio de la absorción. La forma y el relleno muestran cuán madura y cuán fuerte es la lectura:
- Solo un anillo, sin rombo: la etapa más temprana (Live Warning)
- Rombo hueco: candidato (temprano, aún sin confirmar)
- Rombo relleno atenuado: provisional (probable que confirme pronto)
- Rombo relleno sólido: absorción confirmada
- Rombo sólido con un anillo exterior: absorción confirmada fuerte
2. El tinte de fondo del clúster colorea la zona subyacente con un color de absorción atenuado, de modo que el nivel permanece anclado en el gráfico a medida que el precio se aleja.
3. La etiqueta compacta ABS / DOM junto al rombo muestra de un vistazo la agresión absorbida (ABS) y, cuando la hay, la defensa DOM (DOM).
4. La etiqueta DOM Defense aparece encima de la zona cuando el libro de órdenes defendió el nivel con una liquidez muy por encima de la media.
5. El tooltip al pasar el cursor aparece cuando el ratón se acerca a un marcador. Muestra la etapa, el contexto alcista o bajista, el nivel de absorción y los límites de la zona, la agresión absorbida en contratos y el Peak Signal Score.
Lógica de color
- Absorción bajista → OrangeRed. La compra agresiva fue absorbida por vendedores ocultos. Los compradores se agotaron contra un muro. Lo que cabe esperar es presión a la baja.
- Absorción alcista → LimeGreen. La venta agresiva fue absorbida por compradores ocultos. Los vendedores se agotaron contra un muro. Lo que cabe esperar es presión al alza.
El color sigue el lado del agresor absorbido, no el lado del movimiento esperado, la misma convención que usan las herramientas de Volume Profile y de footprint. La lectura direccional se deduce sola: compradores absorbidos significa contexto bajista; vendedores absorbidos, contexto alcista.
3. Conceptos básicos
3.1 ¿Qué es la absorción?
Imagina el mercado como una subasta gigante con dos lados en cada precio: compradores dispuestos a barrer la oferta y vendedores dispuestos a golpear la demanda.
La mayoría de las veces, cuando un lado se pone agresivo, el precio se mueve. Los compradores agresivos se comen las ofertas y el precio sube un tick. Los vendedores agresivos se comen las demandas y el precio baja un tick. Comportamiento normal.
Pero a veces el lado agresivo empuja y empuja, y el precio se niega a moverse. Piensa en un niño que intenta abrir una puerta pesada. Empuja una vez, dos, tres, y la puerta no se mueve, porque alguien la sujeta cerrada desde el otro lado.
Ese alguien es la parte que absorbe:
- Los compradores agresivos levantan la oferta una y otra vez, comiéndose contratos, pero un muro de vendedores ocultos repone la oferta tan rápido como los compradores la consumen. La agresión se absorbe. Cuando a los compradores se les acaba la convicción, el precio cae: no quedan compradores y sobran vendedores.
- Los vendedores agresivos descargan contra la demanda una y otra vez, pero compradores ocultos reponen la demanda igual de rápido. La agresión se absorbe. Cuando los vendedores se agotan, el precio sube: la demanda aguantó como una fortaleza.
El trabajo de AbsorptionMap es detectar estos momentos antes de que el giro sea evidente, combinando tres señales: una huella de desequilibrio (volumen agresivo acumulado en un lado), un fallo en la ruptura (el precio no fue más allá de la zona tras el empuje) y, de forma opcional, la defensa DOM (el libro en reposo es más denso de lo normal en el lado que absorbe). Cuando las tres coinciden, obtienes un marcador de alta confianza. Cuando solo coinciden algunas, obtienes una lectura más temprana y menos segura, y por eso AbsorptionMap usa etapas progresivas.
3.2 Desequilibrios: los bloques de construcción
En cada vela completada, AbsorptionMap compara el volumen de compra con el volumen de venta en diagonal entre niveles de precio adyacentes.
Un desequilibrio bid es dominio del lado comprador: el volumen de compra a un precio es abrumadoramente mayor que el volumen de venta un nivel por debajo. Un desequilibrio ask es el espejo: el volumen de venta a un precio es abrumadoramente mayor que el volumen de compra un nivel por encima.
Lo que cuenta como «abrumadoramente» lo fija Imbalance Ratio (por defecto 3.0: un lado debe ser al menos tres veces el otro en diagonal).
Los desequilibrios sueltos son ruidosos. Los futuros sobre índices producen docenas por vela. Solo resultan útiles cuando se agrupan en clústeres.
3.3 Clústeres: las zonas de absorción
Un clúster es un grupo de desequilibrios cercanos en precio (dentro de Cluster Price Tolerance ticks), que ocurren dentro de una ventana corta (dentro de Cluster Window (Bars)) y que juntos cumplen un recuento mínimo (Min Imbalances in Cluster) y un volumen total (Min Cluster Volume).
Un clúster representa una presión sostenida de un solo lado en una zona: el momento del «niño empujando la puerta». La pregunta que sigue es si la puerta aguantó (absorción) o se abrió (continuación).
Cada clúster mantiene una identidad estable a medida que se reevalúa vela a vela, de modo que un nivel puede seguirse en el tiempo sin perder su historial.
3.4 Las etapas progresivas
AbsorptionMap no espera a la confirmación completa antes de mostrar nada. Revela un nivel a medida que se desarrolla, para que puedas verlo formarse en tiempo real.
- Live Warning: la señal más temprana. La lectura ha cruzado el umbral de aviso. La zona es reciente, la defensa es parcial y aún no se ve ningún giro. Tómalo como «vigila este nivel». Se dibuja solo como un anillo.
- Candidate: hay evidencias más fuertes: una ruptura fallida, una pequeña respuesta contraria, defensa DOM o una reconquista. Tómalo como «este nivel está activo». Se dibuja como un rombo hueco.
- Provisional: el periodo de espera ha transcurrido y la comprobación de absorción se ha disparado, pero la confirmación completa aún está pendiente. Tómalo como «operable con confirmación». Se dibuja como un rombo relleno atenuado.
- Confirmed: las comprobaciones pasaron: una ruptura fallida más una reacción del precio o una continuación. Tómalo como «absorción demostrada». Se dibuja como un rombo relleno sólido.
Las etapas solo avanzan, nunca retroceden. Una vez que un marcador se confirma, sus detalles se congelan para que el visual no parpadee en ticks posteriores. Live Warning es la única etapa que se mantiene viva a propósito y se sigue afinando hasta que promociona o expira. Un desenlace oculto aparte, «disconfirmed» (desmentido), cubre los niveles donde el precio rompió con claridad: esos no se dibujan en absoluto.
3.5 Absorción fuerte frente a débil
Dos umbrales, ambos medidos en puntos, fijan el nivel de fuerza:
- Weak Threshold es cuánto habría tenido que recorrer el precio para romper la zona. Si el precio se quedó dentro o apenas salió, la absorción es al menos débil: algo aguantó.
- Strong Threshold es cuánto se invirtió el precio en la dirección opuesta tras la absorción. Si el precio se invirtió más allá de esta distancia desde la zona, la absorción es fuerte: algo aguantó y luego rebotó.
Una absorción fuerte es el clásico «el muro aguantó y hubo rebote». Una absorción débil es «el muro aguantó, precio plano»: útil como contexto de zona, pero menos accionable para entradas.
Importante para instrumentos que no son índices: en NinjaTrader, un punto equivale a una unidad de precio completa. Para ES son 4 ticks; para CL son 100 ticks. Los umbrales por defecto (2.0 / 3.0 puntos) están ajustados para ES. CL necesita valores mucho más pequeños. Parte de la plantilla de CL, véase la Sección 8.
3.6 DOM Defense
DOM Defense lee el libro de órdenes en vivo y se pregunta: ¿está mostrando el lado que absorbe una liquidez en reposo inusualmente densa en este momento?
La herramienta aprende una línea base móvil de la liquidez normal del libro durante DOM Baseline Seconds (por defecto 300 = cinco minutos). Cuando la liquidez actual en el lado relevante supera esa línea base por DOM Defense Multiplier (por defecto 2.5×) y se mantiene así durante DOM Persistence Samples capturas consecutivas, la zona se marca como defendida por DOM.
La defensa DOM eleva el Peak Signal Score, puede exigirse antes de permitir un Candidate (cuando Require DOM Defense For Candidate está activado) y dispara su propia etiqueta DOM Defense encima de la zona.
La defensa DOM está restringida por sesión por diseño, incluso cuando el resto del indicador funciona las 24 horas. Si quieres marcadores DOM fuera de tus ventanas de sesión configuradas, activa Ignore Session Filter.
3.7 Peak Signal Score
Cada lectura de absorción lleva una puntuación de 0 a 100 que refleja cuánta evidencia corroborante hay. La puntuación sube con: defensa DOM en el lado que absorbe, una pequeña respuesta contraria justo después del clúster, cuánto de la zona reconquistó el precio, una ruptura fallida en la dirección original y el tamaño del volumen agresivo absorbido.
El Peak Signal Score es la puntuación más alta que la lectura llegó a alcanzar. Es persistente: nunca baja. Puedes filtrar los marcadores visibles por él con Min Signal Score To Show: ponlo en 50 para ocultar los Live Warning más ruidosos y conservar todos los Candidate en adelante.
4. Adaptive Scaling (opcional)
El volumen no es constante a lo largo del día. La apertura es ruidosa, el mediodía está tranquilo y el cierre vuelve a animarse. Un Min Volume fijo que es adecuado en la apertura será demasiado estricto a mediodía, y un valor adecuado a mediodía será demasiado laxo en la apertura.
Adaptive Scaling lo resuelve escalando Min Volume y Min Cluster Volume automáticamente a lo largo de la curva de volumen intradía típica. Los valores que fijas actúan como anclas para la fase más activa de la sesión; durante las fases más tranquilas, los umbrales efectivos bajan hacia sus mínimos. Carga al menos cinco días de historial del gráfico para que la curva quede bien formada.
- Min Volume Floor y Min Cluster Volume Floor fijan los límites inferiores. Como puntos de partida se recomienda alrededor del 50% de Min Volume y alrededor del 75% de Min Cluster Volume.
- Use Day Factor adapta además al ritmo general del día actual, comparando el volumen acumulado de hoy con el volumen acumulado típico a la misma hora. Ayuda en días inusualmente tranquilos y en medias sesiones, y nunca sube los umbrales por encima de tus valores de ancla.
- Adaptive Label muestra una pequeña caja de estado arrastrable con el factor adaptativo actual y los umbrales efectivos. La mayoría de los usuarios no la necesitarán.
Si prefieres un umbral fijo y predecible, deja Adaptive Scaling desactivado (el valor por defecto).
5. Sesiones y salidas de automatización
El filtro de sesión limita cuándo pueden producirse las lecturas de absorción. Se pueden configurar dos ventanas: una ventana de Pre-Market y una ventana de RTH (Regular Trading Hours).
Cómo se combinan las reglas:
- Si Ignore Session Filter está activado, se omiten todas las horas de sesión: las lecturas pueden producirse a cualquier hora.
- Si está desactivado y al menos una ventana está habilitada, solo se conservan las lecturas dentro de una ventana activa.
- Si está desactivado y ambas ventanas están deshabilitadas, los marcadores DOM no aparecerán (DOM está estrictamente restringido por sesión). Los marcadores de absorción sí pueden aparecer, porque, sin ninguna ventana configurada, la lógica de absorción no aplica ninguna restricción.
Para instrumentos 24/5 como CL, activa Ignore Session Filter o define una ventana RTH amplia que cubra tus horas de negociación.
Formato de hora. Las horas de sesión admiten varios formatos (15:00, 3:00 PM, 15:00:00) y se leen en la zona horaria local de tu sistema. Si un valor no se puede leer, aparece un aviso en la ventana Output de NinjaTrader al cargar el gráfico.
Las horas de sesión de fábrica son marcadores genéricos en tu hora local. Ajústalas siempre para que coincidan con el instrumento y la zona horaria en los que realmente operas. Las plantillas descritas en la Sección 8 traen ventanas de ejemplo en hora central europea.
Salidas de automatización
AbsorptionMap publica tres salidas que BloodHound y herramientas de automatización similares pueden leer. Los nombres de las salidas llevan el prefijo BloodHound por motivos históricos; cualquier herramienta capaz de enlazarse a un plot de un indicador las lee igual:
| Salida | Valor |
|---|---|
| BloodHound Absorption Long Signal | +1 en una lectura long |
| BloodHound Absorption Short Signal | −1 en una lectura short |
| BloodHound Absorption Signal | +1 o −1, las dos direcciones en una sola salida |
Las salidas se trazan de forma transparente, así que nunca dibujan nada en tu gráfico.
Lee la dirección con cuidado. La salida te da la dirección de la operación, no el lado del libro en el que estaba el desequilibrio. La venta absorbida produce una salida Long, porque los vendedores no lograron mover el precio. La compra absorbida produce una salida Short, porque los compradores no lo lograron. Es lo contrario de lo que sugiere la terminología bid y ask en bruto, y también lo contrario de las salidas de VolImbalance, donde un desequilibrio bid es alcista. Si construyes una plantilla de automatización que use los dos indicadores, conecta cada uno por su propio nombre de salida y no des por hecho que ambos coinciden.
Solo disparan las lecturas confirmadas. Una lectura provisional todavía puede caerse, así que nunca produce una salida. Es intencionado. Una señal que desaparece después es peor en un backtest que una señal que llega tarde.
Cuenta con un retardo. La salida aparece Wait Bars velas después de formarse el clúster, cinco por defecto. Ese es el tiempo que AbsorptionMap necesita para ver si el precio se alejó de la zona o no.
Tras una recarga. Las lecturas confirmadas que vuelven de la caché persistente de marcadores se escriben otra vez en sus propias velas, así que las salidas se ven igual tras una recarga del gráfico que en vivo.
El histórico necesita Tick Replay. AbsorptionMap lee operaciones, no velas. En las velas históricas las operaciones solo están disponibles cuando Tick Replay está activado en la Data Series (clic derecho en el gráfico, Data Series, Tick Replay). Con él activado, el histórico cargado se evalúa como una sesión en vivo y las salidas se rellenan en cada vela histórica. Con él desactivado, las velas históricas no llevan footprints, así que no puede formarse ninguna lectura nueva sobre ellas: el único histórico que ves son las lecturas confirmadas que vuelven de la caché persistente de marcadores, y las salidas llevan exactamente esas. Si Tick Replay está desactivado y la caché no guarda nada para el histórico cargado, AbsorptionMap muestra un cuadro de aviso en el gráfico y escribe una línea en el Control Center Log. El cuadro se comparte con VolImbalance en el mismo gráfico, así que aparece una vez por gráfico. Nunca se escribe nada en la ventana NinjaScript Output.
Todo el histórico es legible. Las salidas conservan sus valores en cada vela cargada (el look-back es ilimitado desde la versión de septiembre de 2026), de modo que una herramienta de automatización puede leer una vela anterior de la sesión o de un día previo, y un NinjaScript puede indexar muy atrás sin error.
Se publican más valores para otros módulos de Flow.42. No llevan plot y no se pueden seleccionar en BloodHound ni en ninguna herramienta similar.
6. Uso práctico
Contexto de entrada conservador: mostrar solo lecturas plenamente formadas. Desactiva Show Provisional Marker, desactiva Show Weak Absorption, pon Min Signal Score To Show en 60 y activa Require DOM Defense For Candidate. Verás menos marcadores, pero los que veas serán niveles de giro de mayor calidad.
Conciencia para scalping en tiempo real: ver las lecturas lo antes posible, aceptando que algunas no cuajarán. Activa Show Provisional Marker, activa Show Weak Absorption, pon Min Signal Score To Show en 0 y baja Live Warning Score (por ejemplo a 30). Verás dispararse anillos de Live Warning pronto. Úsalos como alertas para vigilar, no como entradas.
Complemento de Volume Profile / footprint: resaltar solo zonas con un volumen absorbido serio. Sube Min Absorbed Aggression a un valor apropiado para el instrumento, sube Min Cluster Volume y pon Min Signal Score To Show en 50. Esto filtra los microclústeres y muestra solo los muros de absorción macro.
Rutina multiinstrumento: parte de la plantilla de gráfico del instrumento, véase la Sección 8. Los ajustes más sensibles al instrumento son Min Volume, Min Cluster Volume y los puntos de umbral; ajusta esos primero.
7. Referencia completa de parámetros
A continuación se enumeran todos los ajustes visibles para el usuario, agrupados por las secciones que ves en el panel de propiedades de NinjaTrader. La columna «Default» indica el valor con el que se distribuye el indicador.
01 Imbalance Filter
| Setting | Default | Qué hace |
|---|---|---|
| Min Volume | 50 | El volumen de operaciones mínimo que hace falta en un nivel de precio antes de poder usar un desequilibrio. |
| Max Volume | -1 | El volumen de operaciones máximo permitido en un nivel de precio. Usa -1 para no poner límite superior. |
| Imbalance Ratio | 3.0 | Cuántas veces mayor debe ser el volumen de un lado frente al otro en diagonal para contar como desequilibrio. 3.0 significa al menos tres a uno. Rango 1.0 a 10.0. |
| Zero Opposing = Extreme Imbalance | On | Trata un volumen diagonal opuesto de cero como un desequilibrio extremo, de modo que la detección sigue funcionando en los extremos de precio donde un lado nunca imprimió. |
01a Adaptive Scaling
| Setting | Default | Qué hace |
|---|---|---|
| Adaptive Scaling | Off | Escala Min Volume y Min Cluster Volume automáticamente con la curva de volumen intradía típica. Tus valores fijados anclan la fase más activa. Carga al menos cinco días de historial. |
| Min Volume Floor | 25 | Límite inferior para el Min Volume escalado. Se recomienda alrededor del 50% de Min Volume. |
| Min Cluster Volume Floor | 300 | Límite inferior para el Min Cluster Volume escalado. Se recomienda alrededor del 75% de Min Cluster Volume. |
| Use Day Factor | Off | Adapta además los umbrales al ritmo del día actual frente a un día típico. Ayuda en días tranquilos y medias sesiones. Nunca sube los umbrales por encima de tus anclas. |
| Adaptive Label | Off | Muestra una pequeña caja de estado arrastrable con el factor adaptativo actual y los umbrales efectivos. La mayoría de los usuarios no la necesitarán. |
02 Cluster Detection
| Setting | Default | Qué hace |
|---|---|---|
| Cluster Price Tolerance (Ticks) | 3 | La distancia de precio máxima, en ticks, para que dos desequilibrios pertenezcan al mismo clúster. |
| Min Imbalances in Cluster | 3 | El menor número de desequilibrios necesarios para formar un clúster válido. Rango 2 a 20. |
| Min Cluster Volume | 400 | El menor volumen total de clúster (la suma de los volúmenes de sus desequilibrios miembros) antes de que el clúster califique. |
| Cluster Lookback Bars | 200 | Cuántas velas recientes se escanean al reconstruir los clústeres. Valores mayores mantienen vivos más tiempo los clústeres antiguos. Rango 50 a 500. |
| Cluster Window (Bars) | 8 | La distancia máxima en velas entre el primer y el último desequilibrio dentro de un clúster. Rango 1 a 100. |
03 Absorption Detection
| Setting | Default | Qué hace |
|---|---|---|
| Enable Absorption Detection | On | Activa la comprobación de absorción confirmada que se dispara tras el periodo de espera. |
| Wait Bars | 5 | Velas que se esperan tras formarse un clúster antes de ejecutar la clasificación final de absorción. Rango 2 a 20. |
| Weak Threshold (Points) | 2.0 | El tamaño de movimiento esperado en puntos. Si el precio no recorrió esta distancia más allá de la zona, la absorción puede clasificarse como débil. Un punto = una unidad de precio completa (ES = 4 ticks, CL = 100 ticks). |
| Strong Threshold (Points) | 3.0 | El tamaño del movimiento opuesto (de reversión) en puntos. Si el precio se invierte esta distancia tras el clúster, la absorción se clasifica como fuerte. Misma convención de puntos. |
| Show Provisional Marker | On | Muestra el marcador atenuado temprano antes de la confirmación final. Desactívalo para una visualización solo de confirmados. |
| Min Absorbed Aggression | 0 | Oculta los marcadores cuyo volumen agresivo absorbido esté por debajo de este valor. 0 desactiva el filtro. |
| Show Weak Absorption | On | Muestra los marcadores débiles de tipo candidato, provisional y confirmado. Los anillos de Live Warning siguen visibles en cualquier caso. |
04 Early Absorption
| Setting | Default | Qué hace |
|---|---|---|
| Enable Early Absorption | On | Activa las capas de Live Warning y Candidate: la parte temprana del ciclo de vida progresivo. |
| Early Window Seconds | 6 | Cuántos segundos permanece activo el evaluador temprano tras un clúster. Después de esto, solo puede dispararse la confirmación por wait-bars. Rango 1 a 30. |
| Min Follow Through Ticks | 3 | El movimiento de continuación esperado en ticks. Si el precio no recorrió esta distancia en la dirección agresiva original, la comprobación de ruptura fallida eleva la puntuación temprana. Rango 1 a 20. |
| Reclaim Threshold Percent | 50 | Porcentaje de la altura de la zona que el precio debe reconquistar para ganar un punto de reconquista. 50 = el centro de la zona. Rango 0 a 100. |
| Min Opposite Response Ticks | 2 | El menor movimiento contra la dirección del clúster necesario para contar un punto de respuesta. Rango 1 a 10. |
| Live Warning Score | 35 | La puntuación a la que aparece el anillo de Live Warning. Rango 0 a 100. |
| Candidate Score | 60 | La puntuación a la que un Live Warning promociona a un rombo de Candidate. Rango 0 a 100. |
| Min Signal Score To Show | 0 | Oculta todos los marcadores cuyo Peak Signal Score esté por debajo de este valor. 0 desactiva el filtro. |
05 DOM Confluence
| Setting | Default | Qué hace |
|---|---|---|
| Enable DOM Confluence | On | Usa la liquidez del libro de órdenes en vivo como contexto adicional para los clústeres activos. Requiere una ventana de sesión activa o Ignore Session Filter = on; de lo contrario, los marcadores DOM no aparecerán. |
| DOM Levels | 5 | Número de niveles de bid y ask (top-N) que se suman para el recuento de liquidez. Rango 1 a 20. |
| DOM Sample Interval (ms) | 500 | Milisegundos entre capturas del libro de órdenes. Menor es más reactivo pero usa más CPU. Rango 100 a 5000. |
| DOM Baseline Seconds | 300 | Segundos usados para aprender la liquidez normal del libro. La captura actual se compara con la media de esta ventana. Rango 30 a 3600. |
| DOM Defense Multiplier | 2.5 | Cuánto más densa debe ser la liquidez actual frente a la línea base para contar como defensa. 2.5 = 250% de lo normal. Rango 1.0 a 20.0. |
| DOM Min Samples | 60 | Capturas mínimas antes de considerar válida la línea base. Unos 30 segundos con el intervalo por defecto. |
| DOM Persistence Samples | 3 | Capturas consecutivas que cumplen el criterio necesarias antes de marcar la defensa DOM. Filtra los picos de un solo tick. Rango 1 a 20. |
| Show DOM Defense Label | Off | Muestra la etiqueta DOM aparte, cerca del marcador. Requiere Show Marker Details = on y una sesión activa (o Ignore Session Filter). La puntuación DOM sigue funcionando aunque esta etiqueta esté oculta. |
| Require DOM Defense For Candidate | Off | Una puerta de promoción: una lectura solo puede convertirse en Candidate una vez que hay defensa DOM. No afecta a la visibilidad de Live Warning, Provisional ni Confirmed. |
| Hide Clusters Without DOM Defense | Off | Un filtro de visibilidad total: los clústeres que nunca alcanzaron la defensa DOM se ocultan por completo, sin rombo, anillo, tinte ni etiqueta. Más fuerte que la puerta anterior. |
06 Visualization
| Setting | Default | Qué hace |
|---|---|---|
| Show Diamond Markers | On | Interruptor maestro de todos los visuales ligados al clúster. Cuando está desactivado, no se dibujan rombos, anillos ni zonas tintadas (el tinte de fondo se suprime al margen de su propio ajuste). Las etiquetas DOM se controlan por separado. |
| Recolor Cluster Background | On | Tinta la zona del clúster con el color de absorción. Es la función individual más costosa a nivel visual. |
| Diamond Size (Pixels) | 12 | Tamaño del marcador de rombo en píxeles. Rango 5 a 30. |
| Marker Opacity % | 80 | Opacidad del relleno del marcador, 10 a 100. |
| Bearish Absorption Color | OrangeRed | Color usado cuando la compra agresiva fue absorbida (contexto bajista). |
| Bullish Absorption Color | LimeGreen | Color usado cuando la venta agresiva fue absorbida (contexto alcista). |
| Marker Background Color | Black | Color de fondo detrás de la etiqueta compacta de agresión absorbida. |
| Marker Font Color | White | Color del texto de la etiqueta compacta de agresión absorbida. |
07 Marker Details
| Setting | Default | Qué hace |
|---|---|---|
| Show Marker Details | On | Muestra el valor compacto de agresión absorbida junto a cada marcador. |
| Show Detail Tooltip | On | Muestra el tooltip completo de varias líneas (nivel, zona, agresión absorbida, puntuación máxima) al pasar el cursor cerca de un marcador. |
08 Persistent Cache
| Setting | Default | Qué hace |
|---|---|---|
| Enable 5-Day Marker Cache | On | Guarda los eventos de absorción y DOM calculados para que reaparezcan tras una recarga del gráfico. |
| Marker Cache Days | 5 | Número de días naturales que se conservan los eventos guardados. Los eventos más antiguos se eliminan. Rango 1 a 5. |
09 Session Settings
| Setting | Default | Qué hace |
|---|---|---|
| Ignore Session Filter | Off | Cuando está activado, no se aplica ninguna restricción de sesión: las lecturas pueden producirse en cualquier momento. También es la forma más sencilla de dejar que se muestren los marcadores DOM sin configurar ninguna ventana. |
| Use Pre-Market | On | Activa la ventana de sesión de Pre-Market. |
| Pre Market Start (HH:mm) | 09:00 | Hora de inicio de Pre-Market, en tu hora local. |
| Pre Market End (HH:mm) | 13:00 | Hora de fin de Pre-Market, en tu hora local. |
| Use RTH | On | Activa la ventana de Regular Trading Hours. |
| RTH Start (HH:mm) | 15:00 | Hora de inicio de RTH, en tu hora local. |
| RTH End (HH:mm) | 22:00 | Hora de fin de RTH, en tu hora local. |
10 Auction Engine
Estos dos ajustes solo hacen algo cuando Flow.42 AuctionEngine está en el mismo gráfico. Sin ningún motor presente, no tienen efecto y el indicador se comporta exactamente igual que antes.
| Setting | Default | Qué hace |
|---|---|---|
| Auction Modulation | Subtle | Controla cómo el contexto de AuctionEngine afecta a los marcadores de AbsorptionMap. Los marcadores alineados con la lectura de subasta (continuación) se mantienen a plena opacidad; los marcadores en contra se atenúan: levemente cuando la ubicación aún respalda la lectura, con fuerza cuando la ubicación la amenaza. Off = sin atenuación. Opciones: Off, Subtle, Strong. |
| Auction Context | Live | Qué lectura de subasta gobierna la atenuación. Live = la lectura actual del motor, aplicada a todos los marcadores (coincide con el trading en vivo). Historical = cada marcador se juzga por la subasta tal como estaba en su propia vela, para que puedas estudiar el comportamiento pasado, incluso con el mercado cerrado. Historical no aplica atenuación a las velas más antiguas que la ventana de historial del motor. |
8. Puntos de partida por instrumento
No copies ajustes de un documento. Cada versión de Flow.42 incluye plantillas de gráfico y plantillas de indicador para los instrumentos que operamos nosotros mismos: ES, MES, NQ, MNQ, CL, GC y BTCUSD. Estas plantillas son la referencia para los ajustes de AbsorptionMap. Llevan el ajuste actual y se actualizan con cada versión, así que no se quedan obsoletas como una tabla en una guía.
La plantilla de gráfico es la versión activa. Carga el gráfico Flow.42 completo para el instrumento, AbsorptionMap incluido, con los ajustes que corresponden a ese instrumento. Haz clic derecho en el gráfico, elige Templates, luego Load, y selecciona la plantilla Flow.42 de tu instrumento.
La plantilla de indicador carga solo AbsorptionMap. Abre las propiedades de AbsorptionMap, haz clic en Template en la parte inferior del diálogo y luego en Load. El nombre del archivo te dice para qué tipo de vela se hicieron los ajustes, por ejemplo NQ 1min o GC 5min. En un tipo de gráfico más lento, sube los umbrales de volumen. En un gráfico por tick más fino, bájalos.
Los valores de fábrica de la Sección 7 están ajustados para ES. En cualquier otro instrumento, parte de la plantilla, no de los valores por defecto. Los ajustes más sensibles al instrumento son Min Volume, Min Cluster Volume y los dos puntos de umbral. Si ajustas algo a mano, empieza por esos. Los puntos de umbral siguen la convención de puntos de la Sección 3.5: un punto es una unidad de precio completa. Para ES son 4 ticks, para CL son 100 ticks. Por eso CL necesita valores de umbral mucho más pequeños que los futuros sobre índices.
Las plantillas son puntos de partida, no óptimos de backtest. Las ventanas de sesión de las plantillas son ejemplos en hora central europea. Ajústalas a tu propia zona horaria y valida en tu propia configuración antes de comprometer capital.
Una rutina de validación para cualquier instrumento
Tras cargar una plantilla, haz una comprobación de sensatez de una a dos semanas.
- Recuento de marcadores por sesión RTH. Como guía aproximada, ES suele mostrar de 5 a 20 eventos, NQ de 8 a 25 y CL de 3 a 15. Bastantes más significa que tus ajustes son demasiado sensibles; bastantes menos, demasiado estrictos.
- Proporción de fuertes frente a débiles. Una mezcla sana es aproximadamente una fuerte por cada tres a cinco débiles. Si todo es fuerte, sube Strong Threshold; si nada lo es, bájalo.
- Revisa el historial por muestreo. Elige unos cuantos marcadores de ayer y pregúntate con honestidad: «¿habría operado esto?». Ajusta a partir de ahí.
9. Resolución de problemas
No veo ningún marcador. Baja Min Volume y Min Cluster Volume para confirmar que el motor produce algo. Baja un poco Imbalance Ratio (por ejemplo de 3.0 a 2.5). Pon Min Signal Score To Show en 0 para que ningún filtro de calidad lo esté ocultando todo. Confirma que estás dentro de una ventana de sesión configurada, o activa Ignore Session Filter. Revisa la ventana Output por si hay avisos.
Aparecen rombos pero las etiquetas DOM nunca. DOM está restringido por sesión: si Pre-Market y RTH están desactivados y Ignore Session Filter también, las etiquetas DOM no pueden aparecer; habilita una ventana o activa Ignore Session Filter. Tu feed de datos debe proporcionar Level 2 / Market Depth; algunos feeds retail no lo hacen. La línea base de DOM también necesita sus capturas mínimas antes de que la defensa pueda dispararse, así que espera alrededor de un minuto tras conectarte.
Un marcador aparece en vivo pero desaparece al recargar. Confirma que Enable 5-Day Marker Cache está activado. Tras una actualización, es normal una reconstrucción única de la caché: los nuevos marcadores se construyen a partir de datos en vivo. Confirma que Marker Cache Days es lo bastante grande para tu patrón de recargas.
Las velas históricas no muestran ninguna lectura; solo las velas en vivo reciben marcadores. Tick Replay está desactivado en la Data Series y la caché persistente de marcadores no guarda nada para el histórico cargado (un instrumento nuevo, una instalación reciente o más días que Marker Cache Days). Activa Tick Replay para que el histórico se calcule, o acepta que las lecturas empiezan con los datos en vivo. El cuadro de aviso único en el gráfico te dice en qué caso estás; el indicador no tiene ningún fallo (Sección 5).
Ya no aparece nada en la ventana NinjaScript Output. Es intencionado desde la versión de septiembre de 2026: AbsorptionMap no escribe nada ahí. Los fallos reales llegan al Control Center Log, una vez por origen y sesión.
Demasiados anillos de Live Warning, pocos promocionan a Candidate. Sube Live Warning Score (por ejemplo de 35 a 40). Activa Require DOM Defense For Candidate para evitar que promocionen los avisos débiles. En instrumentos de libro fino, baja DOM Defense Multiplier (hacia 2.0) para que la defensa se dispare más a menudo, o deja el requisito desactivado.
Todos mis eventos son débiles, ninguno es fuerte. Baja Strong Threshold (Points). Para CL, el valor por defecto de ES es demasiado grande; véase la Sección 8. Confirma también que las velas bajo el clúster llevan de verdad volumen de operaciones; con casi ninguna operación, no hay nada que invertir.
El gráfico va lento en instrumentos de alto volumen. Sube DOM Sample Interval (de 500 a 750 o 1000) para aligerar la carga del libro de órdenes. Sube Min Volume y Min Cluster Volume para seguir menos desequilibrios. Desactiva Recolor Cluster Background: la zona tintada es el visual individual más costoso. Si no necesitas actualizaciones intravela, considera el modo de cálculo OnBarClose.
10. Notas de rendimiento
OnBarClose es el modo de cálculo más ligero; úsalo si no necesitas actualizaciones intravela. OnPriceChange es el equilibrio recomendado para el trading en vivo: actualiza en cada tick pero mantiene eficiente el renderizado. Subir Min Volume filtra pronto las impresiones minúsculas y es la forma más barata de reducir la carga. El renderizado es el principal coste por fotograma, y Recolor Cluster Background es la función individual más costosa. Las actualizaciones de DOM están limitadas por DOM Sample Interval; súbelo si tu feed es ruidoso. La caché persistente escribe con poca frecuencia, así que la actividad de disco es insignificante. Ejecutar muchos gráficos no es problema; no hay estado compartido por gráfico que pueda entrar en conflicto.
11. Glosario
- Absorción: volumen de operaciones agresivo que no movió el precio, porque una liquidez en reposo oculta o un contraflujo lo absorbió.
- Desequilibrio bid: dominio del lado comprador: volumen de compra a un precio mucho mayor que el volumen de venta un nivel por debajo.
- Desequilibrio ask: dominio del lado vendedor: volumen de venta a un precio mucho mayor que el volumen de compra un nivel por encima.
- Clúster: un grupo de desequilibrios cercanos en precio y tiempo que juntos forman una zona de absorción.
- Live Warning: la etapa más temprana; solo un anillo. La lectura ha cruzado el umbral de aviso pero todavía no cumple ningún requisito adicional.
- Candidate: segunda etapa; un rombo hueco. Hay evidencias más fuertes y, si se exige, la defensa DOM está presente.
- Provisional: tercera etapa; un rombo relleno atenuado. El periodo de espera ha transcurrido y la comprobación de absorción se disparó, pero la confirmación completa está pendiente.
- Confirmed: cuarta etapa; un rombo relleno sólido. La comprobación final se disparó y los detalles quedan congelados.
- Absorción fuerte: una lectura confirmada en la que el precio se invirtió al menos el Strong Threshold más allá de la zona.
- Absorción débil: una lectura confirmada en la que el precio aguantó dentro o apenas salió de la zona, sin una reversión fuerte.
- DOM (Depth of Market): liquidez en reposo en el libro de órdenes a lo largo de varios niveles.
- DOM Defense: la liquidez actual del libro en el lado que absorbe superando su línea base móvil por el DOM Defense Multiplier.
- Peak Signal Score: la puntuación más alta que una lectura alcanzó durante su vida. Persistente; nunca baja.
- Agresión absorbida: los contratos agresivos que fueron absorbidos en la zona; se muestra en la etiqueta compacta ABS.
12. Registro de cambios
Versión 1.2.0 (versión de septiembre de 2026)
- Los ajustes por instrumento vienen ahora de las plantillas de Flow.42 (Sección 8).
- La Sección 5 explica Tick Replay y el histórico. Una recarga reproduce las salidas en vivo.
- Look-back ilimitado en todas las salidas. Sin mensajes en la ventana NinjaScript Output.
Version 1.1.0
- Salidas de automatización para BloodHound y sistemas similares, documentadas en la Sección 5: una salida long, una short y una combinada.
- Nota sobre cómo leer la dirección, que es la dirección de la operación y no el lado bid o ask en bruto.
Version 1.0.0
Primera versión pública de la guía del usuario de AbsorptionMap.
- Identidad de clúster estable que no se desvía entre ciclos de detección.
- Ciclo de vida progresivo de la lectura: Live Warning, Candidate, Provisional, Confirmed, más un nivel Strong.
- Adaptive Scaling opcional para el volumen según la hora del día y el ritmo del día.
- Confluencia de DOM Defense con una línea base móvil y filtrado por persistencia.
- Caché persistente de marcadores para que las lecturas sobrevivan a una recarga del gráfico.
- Integración opcional con Flow.42 AuctionEngine que atenúa los marcadores contrarios a la lectura.
- Ajustes iniciales sugeridos para ES, NQ y CL.
Flow.42 AbsorptionMap: detección de absorción de order flow basada en clústeres, con confluencia opcional de defensa DOM y una caché persistente de marcadores.
© 2026 TTW Trading Systems PTE. LTD. · Flow.42 Analytics · All rights reserved.