Qué calcula. Nada nuevo en el servidor: es la memoria del libro — liquidez pasiva (órdenes límite en reposo) como mapa tiempo × precio, con un frame por segundo del top-20 (DepthBook.frames/2). Cada celda es el máximo tamaño visto a ese precio durante la vela; la intensidad es relativa a la mediana del libro visible (contraste local, no máximo global), acotada entre intensity_min (por debajo no se pinta) e intensity_max (color pleno) con curva gamma. La columna del libro actual se proyecta desde la última vela hasta el borde derecho (extend_latest).
Parámetros. minutes (historial) · resolution SD/HD · colormap thermal/ice/mono/viridis/magma · intensity_min · intensity_max · gamma · opacity · side_tint · extend_latest · show_bbo · zoom_tooltip off/3×3/5×5.
Eventos. Ninguno propio (las paredes y la absorción son del DOM / Order Book).
Preset. Térmica, 30 min, 1.2× → 8×, gamma 1, opacidad 55 %.
Cómo leerlo. Una banda brillante que persiste mientras el precio se acerca es liquidez real (soporte/resistencia); una que brilla lejos y se apaga justo antes del toque era un anzuelo. Las paredes detectadas (DOM) se dibujan encima como segmento + tag: banda (memoria) y pared (detección) son dos capas de la misma historia, como en Bookmap.
Cómo se lee en el chart
- Color: la paleta elegida (térmica por defecto): oscuro/frío = poco tamaño, claro/cálido = mucho. Sin tinte bid/ask salvo que lo actives: el lado ya lo dice la posición respecto del precio.
- Forma: celdas tiempo × precio detrás de las velas; la franja después de la última vela es el libro actual proyectado (más tenue, con borde a la izquierda).
- En modo Limpio: igual (ya es fondo); bajá la opacidad si querés menos.
- En hover: tamaño, × mediana, si es el libro actual, y la lupa n×n si está activa.
- Al eje: nada; la escala de color está en la pill de la leyenda.
La historia: qué hay más atrás de los 30 minutos
En memoria viven los últimos minutes (30 por defecto), con un frame por segundo. Más atrás hay una foto por minuto en disco, que es lo que se pide al panear hacia la izquierda.
Cómo se arma. Al cerrarse cada minuto, DepthBook saca una foto del libro (EdgeFlow.Book.Foto) y la entrega a EdgeFlow.Book.Sink, que junta la hora y la escribe como un segmento más (kind = "book", mismo Store y mismo índice que el footprint). La foto comprime de tres maneras, y ninguna es inocente:
| Qué hace | Por qué | |
|---|---|---|
| Ventana | sólo ±0,25 % del precio medio | un libro de Binance trae 1.000 niveles; los que están a un 5 % no se ven nunca |
| Filas | agrupa en filas de k ticks, hasta 100 por lado | k sale de la ventana y del presupuesto, así que no hay un número por instrumento que mantener |
| Tamaños | un byte por fila, escala logarítmica | 256 niveles alcanzan para un mapa de color; el error medido es < 3 % |
Pesa 53 KB por símbolo y día en BTC y 65 en ADA (medido, tabla en EdgeFlow.Book.Codec), muy por debajo de los 150-300 KB que estimaba el plan. Se conserva 30 días y después se borra: el heatmap de hace un mes no lo mira nadie y a resolución completa serían 150 MB para el catálogo.
Lo que NO se cuantiza son el mejor bid y el mejor ask: viajan como precio exacto porque son las dos líneas escalonadas que se dibujan sobre las velas, y redondearlas a la fila daría un escalón falso de hasta k ticks.
Cómo llega al gráfico. Por páginas de una hora, no por rango libre: las horas pasadas son inmutables, así que el navegador las cachea y mil usuarios mirando el mismo día cuestan una lectura. El cliente pide la hora que necesita cuando el borde visible se acerca a lo más viejo que tiene (chart/book_history.js), y registra también las horas que vinieron vacías —si no, las volvería a pedir en cada paneo. En el solapamiento entre la historia (una columna por minuto) y lo vivo (una por segundo) manda lo vivo, que tiene más resolución.