Algoritmos
En esta sección se explica cómo el producto calcula los valores que aparecen en la lista de monedas y en los gráficos. Cada métrica está descrita con los datos de entrada, la fórmula y las condiciones por las que puede diferir de las cifras en la UI del exchange o de los datos de servicios de terceros. Entender la lógica de cada valor ayuda a interpretarlo correctamente y no verlo como una caja negra.
Qué se cubre en la sección
- P24 (cambio de precio en 24 horas): se calcula como (precio actual − precio de hace 24 horas) / precio de hace 24 horas × 100. Usa una ventana móvil de 24 horas, no un límite fijo del día UTC. Será diferente del "24h change" en el exchange si el exchange usa otra ventana o punto de referencia.
- V24 (volumen en 24 horas): suma de los volúmenes de operaciones de las últimas 24 horas móviles en el activo cotizado. Usa la misma ventana móvil que P24. Los totales en el exchange pueden diferir por otros límites de ventana o filtrado de volumen.
- NATR (rango verdadero medio normalizado): ATR(n) / precio actual × 100, donde n es un número configurable de velas (14 por defecto). ATR mide el rango medio (máximo − mínimo y gap respecto al cierre anterior) durante n velas. Dividir por el precio normaliza el valor para compararlo entre instrumentos con distintos niveles de precio.
- PΔ (cambio de precio en el intervalo seleccionado): se calcula como (cierre de la última vela o precio actual − apertura de la última vela) / apertura de la última vela × 100 en el timeframe seleccionado en Configuración → General → Cambio de precio. Un valor positivo significa que la vela está por encima de su apertura; un valor negativo, por debajo.
- Pavg (cambio medio de precio por vela): media aritmética del cambio absoluto de precio desde la apertura hasta el cierre para cada una de las últimas n velas en el timeframe seleccionado. Refleja la volatilidad típica por vela de ese instrumento en ese timeframe.
- VR (volumen relativo): volumen del período actual / volumen medio de los últimos n períodos en el timeframe seleccionado. Un valor de 1.0 significa que el volumen actual es igual al promedio. Valores por encima de 1 indican actividad superior a la media.
- rBTC (correlación del precio con BTC): muestra qué tan sincronizada se mueve la moneda con BTC. La app compara los cambios porcentuales de precio en cada vela durante el timeframe y la cantidad de velas seleccionados. Valores cercanos a 1 significan que suele moverse con BTC, cercanos a −1 que suele moverse contra BTC, y cercanos a 0 que no hay una conexión clara en esa ventana.
- Funding: funding rate actual de los futuros, que se guarda como tasa decimal y se muestra en porcentajes. La columna F en la lista muestra la tasa actual, y el tooltip además muestra el tiempo hasta el próximo funding si el exchange lo proporciona.
- OI (interés abierto): tamaño total actual de las posiciones abiertas de futuros para el instrumento. El valor base es el tamaño de las posiciones en el activo base; el valor en cotización es ese mismo tamaño recalculado en la moneda de cotización cuando hay mark price o un valor listo del exchange.
- Cambio de OI: (valor actual de OI − valor de OI en el punto de comparación seleccionado) / valor de OI en el punto de comparación × 100. El punto de comparación es 1h, 12h o 24h atrás desde el valor actual, según la configuración. Si está activado "Calcular cambio por moneda base", la fórmula usa OI base. Si está desactivado, OI en cotización.
- Por qué el cambio de OI en base y en cotización puede no coincidir: OI en cotización incluye el movimiento del precio. Si OI en unidades base subió, pero el mark price cayó lo bastante, el cambio en base puede ser positivo y el cambio en cotización negativo.
- TA (cantidad absoluta de operaciones): ventana actual de cantidad de operaciones. Para Binance se obtiene del número de operaciones en velas de 1 minuto. La ventana 1m se actualiza con deltas live de la vela de 1 minuto cada 10 segundos; 5m, 15m y 1h suman las últimas 5, 15 o 60 velas de 1 minuto y se actualizan una vez por minuto.
- TR (cantidad relativa de operaciones): (cantidad actual de operaciones en la ventana móvil − cantidad media de operaciones) / cantidad media de operaciones × 100. La media se toma de la cantidad configurada de ventanas anteriores de la ventana de operaciones seleccionada y no incluye la ventana actual.
- Niveles (soporte y resistencia): zonas de precio en las que una serie de velas volvió a visitar el área de precio al menos el número indicado de veces dentro de una diferencia porcentual permitida. La app marca estas zonas en el gráfico y usa la más cercana para calcular la distancia porcentual en las columnas de niveles de la lista.
- Columnas de niveles (por defecto h1, h4, d): distancia porcentual desde el precio actual hasta el nivel confirmado más cercano en el timeframe seleccionado. Fórmula: |precio actual − precio del nivel más cercano| / precio actual × 100.
- Umbral de volumen del order book: en modo automático se determina a partir de la distribución estadística de los volúmenes de órdenes en el snapshot actual del order book; el umbral separa las órdenes normales de los outliers. Un umbral global manual en Configuración puede reemplazar el valor automático, y un umbral individual definido en el encabezado del order book tiene prioridad sobre ambos.
- Alerta de impulso: se calcula con velas de 1 minuto. La app compara el último close con el close de hace el período seleccionado y se dispara cuando el movimiento porcentual absoluto alcanza el umbral definido.
- Alerta de print grande: se calcula con operaciones live como price × quantity en la moneda de cotización. Una sola operación puede dispararla si alcanza el volumen mínimo y la alerta no está en pausa.
- Alerta de spike de prints: el volumen de operaciones live en cotización se suma dentro de una ventana corta y se compara con el volumen medio de una ventana igual tomado del período base configurado.
- Patrones gráficos: la app escanea los timeframes seleccionados, asigna una puntuación de calidad a los patrones encontrados y luego aplica filtros de "Puntuación mínima", antigüedad máxima, distancia máxima respecto al precio actual y modo solo confirmados antes de dibujar la mejor coincidencia.
Pantallas clave y controles
- Lista de monedas con columnas P24, V24, OI, F, NATR, PΔ, Pavg, VR y columnas de distancia a niveles al lado.
- Gráfico con una línea de nivel confirmada y el valor de distancia al nivel correspondiente en la lista.
- Gráfico que muestra el contexto del cálculo de ATR: varias velas con rangos máximo-mínimo visibles.
- Configuración → pestaña "Principales" con la cantidad de velas de NATR resaltada.
- Configuración → pestaña "Principales" con el timeframe y la profundidad de VR resaltados.
- Notificaciones de eventos → ajustes de "Impulso" y "Actividad de prints".
- Configuración → pestaña "Gráfico" con los ajustes de patrones gráficos resaltados.
Guía paso a paso
- Usa esta sección como referencia cuando el valor de una métrica parezca inesperado o al comparar las cifras de Watchlist.top con los datos del exchange.
- Para entender por qué P24 o V24 difiere de lo que muestra el exchange, comprueba si el exchange usa un límite fijo del día UTC o una ventana móvil de 24 horas.
- Para entender PΔ, mira la última vela del timeframe configurado: el valor muestra cuánto se movió el precio desde la apertura de esa vela hasta su cierre o precio actual.
- Para entender por qué NATR parece alto o bajo, revisa la cantidad de velas configurada en Configuración → "Principales". Menos velas = reacción más rápida a la volatilidad reciente; más velas = media más suavizada.
- Para entender el valor de VR, recuerda que la línea base (la media) usa la profundidad y el timeframe configurados en Configuración → "Principales". La misma moneda en distintos timeframes dará valores de VR diferentes.
- Para entender TA o TR, revisa la ventana de operaciones en Configuración → "Principales". La ventana de operaciones es independiente de los botones de timeframe del gráfico y de los intervalos generales analizados.
- Para entender Funding, comprueba si la columna F está activada y si el instrumento es de futuros. Lee el valor como una tasa de funding en porcentaje, no como un porcentaje de cambio de precio.
- Para entender OI, revisa Configuración → "Principales" → "Interés abierto". Asegúrate de si está seleccionado el modo "Valor" o "Cambio", qué período de comparación controla el resaltado y si se usa la moneda base o la moneda de cotización.
- Para entender un valor en las columnas de distancia a niveles (por defecto h1, h4, d), abre el gráfico de la moneda y localiza la línea de nivel más cercana. La distancia visible en el gráfico corresponde al porcentaje desde el precio hasta el nivel en la lista.
- Para entender un evento de impulso, revisa el período seleccionado y el umbral porcentual en Notificaciones de eventos → "Por parámetros" → "Impulso".
- Para entender un evento de actividad de prints, revisa el universo de monedas, el filtro de lado, la pausa y qué modo se disparó: print grande o spike de prints.
- Para entender por qué un patrón gráfico se dibuja o no, revisa Configuración → "Gráfico": timeframes activados, "Puntuación mínima", antigüedad máxima, distancia máxima y modo solo confirmados.
Capturas de pantalla
P24 y V24 en la lista de monedas con aclaración sobre la ventana móvil
En la pantalla se ven los valores de P24 y V24 en la lista con una nota de que se usa una ventana móvil de 24 horas y no el límite del día.
Columna NATR y los ajustes que la definen
En la pantalla se ve el valor de NATR en la lista junto al ajuste de cantidad de velas en Configuración → "Principales".
VR por encima de 1 para una moneda con actividad inusual
En la pantalla se ve una moneda con VR por encima de 1 para ilustrar lo que significa esta relación en la práctica.
Notas prácticas
- Todas las fórmulas usan datos de mercado que Watchlist.top ya recibió y procesó. La actualidad de cada métrica depende de la frecuencia de actualización de ese tipo de dato.
- Las ventanas móviles de 24 horas significan que P24 y V24 cambian de forma continua, no solo a medianoche. Compararlos con la UI de un exchange que usa límites diarios fijos siempre dará pequeñas diferencias.
- NATR y ATR reaccionan al ajuste de cantidad de velas. Un valor menor (por ejemplo 5) hace que la métrica reaccione rápido a las últimas velas; uno mayor (por ejemplo 50) suaviza el valor sobre un historial más largo.
- VR requiere suficientes datos históricos para la profundidad del cálculo. Si la moneda se añadió hace poco o el período de cálculo es más largo que el historial disponible, el valor puede ser menos informativo.
- TA y TR ahora usan datos de Binance sobre cantidad de operaciones. Para Bybit y OKX hace falta una agregación live separada de operaciones antes de poder mostrar la misma métrica de forma fiable para esos exchanges.
- Los valores de Funding se cachean brevemente y se actualizan mientras la lista esté activa. Conviene leerlos como contexto actual de funding, no como flujo de cada tick.
- OI se actualiza mientras la función esté activada y la lista esté activa. Conviene leerlo como una métrica del estado actual del mercado, no como un flujo continuo de cada operación individual.
- Si el cambio de OI está vacío, el valor actual puede ya estar disponible, pero todavía no hay un punto de comparación pasado guardado para el período seleccionado. Es normal después de activar OI, especialmente para exchanges sin historial de OI precargado.
- El cambio de OI en base y en cotización puede tener signos distintos. Ejemplo: OI cambió de 1 000 SOL a 1 100 SOL, y el mark price cambió de 100 USDT a 80 USDT. El cambio en base es +10%, pero el valor en cotización pasó de 100 000 USDT a 88 000 USDT, así que el cambio en cotización es −12%.
- La ventana de operaciones 1h es una suma móvil de las últimas 60 velas de 1 minuto. Puede diferir de la cantidad de operaciones en la vela horaria abierta actual del exchange, porque los límites de la ventana son móviles.
- rBTC cambia junto con el timeframe y la longitud de la ventana. Una moneda que se mueve muy sincronizada con BTC en timeframe 1h puede mostrar una conexión más débil en 1d.
- Los niveles son zonas confirmadas, no toques únicos de una vela. Lo que se considera un nivel depende de dos parámetros: cantidad de confirmaciones (cuántas veces se revalida la zona) y diferencia de precio permitida (qué tan cerca cuenta como "la misma zona").
- Impulso usa velas de 1 minuto y está pensado para movimientos cortos. No es lo mismo que detectar la tendencia en un timeframe mayor.
- La actividad de prints depende de streams live de operaciones. Al seguir toda la lista, la carga sobre el navegador y los streams de los exchanges crece junto con la cantidad de monedas seleccionadas.
- Los resultados de patrones gráficos pasan por filtros y no son una predicción garantizada. Una puntuación de calidad más alta significa mejor coincidencia con las reglas del detector, no certeza de continuidad del movimiento.
Cuándo usarlo
- Cuando necesites entender con precisión cómo se calcula el valor mostrado antes de confiar en él.
- Cuando el valor de la métrica difiera de lo que muestra el exchange y necesites entender por qué.
- Cuando necesites comprobar la ventana temporal, la fuente de datos o la frecuencia de actualización de una métrica concreta.
Cuándo no conviene basarse en esto
- Si solo necesitas encontrar dónde está una configuración o un botón, mira la sección de referencia.
- Si recién estás empezando, mejor arranca por la sección de inicio rápido.
Errores típicos de interpretación
- Mirar el valor de una métrica sin comprobar la ventana temporal ni la frecuencia de actualización.
- Asumir que un mismo nombre —por ejemplo «volumen» o «rBTC»— significa lo mismo en todos los contextos.
- Confiar en un valor solo porque parece plausible, sin revisar los casos límite.
Algoritmos y fórmulas que conviene entender
- P24 = (precio_actual − precio_hace_24h) / precio_hace_24h × 100 — ventana móvil de 24 horas
- PΔ = (cierre_de_la_última_vela_o_precio_actual − apertura_de_la_última_vela) / apertura_de_la_última_vela × 100
- Pavg = media(abs(cierre_de_la_vela − apertura_de_la_vela) / apertura_de_la_vela × 100, últimas n velas)
- NATR = ATR(n) / precio_actual × 100, donde ATR(n) = media de rangos verdaderos durante n velas
- VR = volumen_del_período_actual / media(volumen, últimos n períodos)
- funding % = funding_rate × 100
- OI en cotización = interés_abierto_en_base × mark_price, si el exchange no da un valor listo en cotización
- Cambio de OI en base % = (OI_en_base_actual − OI_en_base_entonces) / OI_en_base_entonces × 100, donde "entonces" es hace 1h, 12h o 24h
- Cambio de OI en cotización % = (OI_en_cotización_actual − OI_en_cotización_entonces) / OI_en_cotización_entonces × 100, donde OI en cotización es el valor listo del exchange o OI en base × mark price
- TA = sum(cantidad_de_operaciones, ventana móvil seleccionada): 1m usa deltas live cada 10 segundos; 5m/15m/1h usan las últimas 5/15/60 velas de 1 minuto
- TR = (TA_de_la_ventana_actual − media(TA, n ventanas anteriores)) / media(TA, n ventanas anteriores) × 100
- valor_columna_nivel = |precio_actual − precio_del_nivel_más_cercano| / precio_actual × 100
- rBTC = qué tan sincronizada se mueve la moneda con BTC; la app compara los cambios porcentuales de precio en cada vela durante el timeframe y la cantidad de velas seleccionados
- Confirmación de nivel: una zona de precio se considera nivel si se revalida al menos count veces con una tolerancia de allowed_diff %
- Impulso % = |close_actual − close_del_inicio_del_período| / close_del_inicio_del_período × 100 en velas de 1 minuto
- Volumen de print grande en cotización = precio_de_la_operación × cantidad_de_la_operación
- Spike de prints compara sum(volumen_en_cotización, ventana_actual) con el volumen medio de una ventana igual del período base
- La selección del patrón gráfico se filtra por timeframe, puntuación de calidad, antigüedad, distancia y confirmación, y luego se toma la coincidencia más fuerte