Construye con datos de mercado, desde tu primer gráfico hasta un monitor en funcionamiento. Obtén velas y cotizaciones, ejecuta indicadores y estrategias, y convierte tus ideas en herramientas. Un proyecto comunitario independiente, no una API oficial de TradingView.
Primeros pasos · Explorar ejemplos · Leer la guía de la API de datos
Idioma: English · Français · Español · Português
Una consulta real de velas, grabada el 2 de octubre de 2026 con la versión preliminar de desarrollo (fetchCandles, llamada getCandles en la versión 4) y representada para esta demostración. Los precios no son en directo.
V4 es la versión predeterminada en npm. Instálala con
npm install @mathieuc/tradingviewpara usargetCandlesy la nueva API de datos.
import { getCandles } from '@mathieuc/tradingview/data';
const candles = await getCandles({ symbol: 'BINANCE:BTCUSDT', timeframe: 'D', count: 40 });
console.log(candles.at(-1)); // { time, open, high, low, close, volume }¿Prefieres empezar sin código? También puedes usar las opciones de abajo.
La versión 4 es una reescritura incompatible en TypeScript, con una API nueva y sin capa de compatibilidad. ¿Vienes de V3? Lee la guía de migración. Todas las funciones de V3 siguen disponibles: consulta la matriz de cobertura y las pruebas de fiabilidad. El informe de preparación de la RC documenta las comprobaciones y los requisitos pendientes para la versión estable. Las versiones npm 3.x conservan la API
Clientanterior; comprueba la versión que instalas en la página de npm. Estas guías técnicas están en inglés.
El asistente interactivo está incluido en la V4:
npx @mathieuc/tradingviewEjecútalo desde el directorio de tu proyecto con Node.js 20+. Elige una opción:
- Agente autónomo (recomendado) — abre el monitor de mercado TradingView-API en Molted Studio. Sin configurar un proyecto local.
- Claude Code CLI — inicia tu CLI
claudeinstalado en este directorio con un prompt de proyecto listo para usar. - Codex CLI — inicia tu CLI
codexinstalado en este directorio con el mismo prompt. - Otro agente de programación local — muestra el prompt para pegarlo en tu agente.
- Instalar solo la biblioteca — ejecuta
npm install @mathieuc/tradingviewaquí, sin generar archivos ni iniciar un agente.
Claude Code y Codex deben estar instalados y autenticados. Sus solicitudes de permiso habituales siguen activadas. Si el inicio falla, se muestra el prompt para usarlo manualmente. Si no hay navegador disponible, el enlace alojado sigue visible.
Usa --choice 4 para mostrar el prompt directamente, o --help para consultar la ayuda. Las llamadas no interactivas deben pasar --choice. Para probar el asistente desde este repositorio:
npm ci && npm run build
node bin/tradingview.mjsnpm install @mathieuc/tradingview
# O: bun add @mathieuc/tradingviewV4 se instala por defecto. V3 sigue disponible con @mathieuc/tradingview@3; consulta la guía de migración antes de actualizar un proyecto V3.
El paquete V4 es ESM con declaraciones TypeScript. Los proyectos CommonJS pueden usar require() en Node 20.19+ o 22.12+, o await import().
Abre una issue para comentar una función o informar de un error, o envía una pull request. Las preguntas y las ideas son bienvenidas; no necesitas una reproducción perfecta para iniciar la conversación. npm run check ejecuta la comprobación de tipos, el lint, las pruebas, la compilación y la prueba del paquete.
La API de datos gestiona las conexiones, las sesiones, los tiempos de espera y la limpieza. Sirve para scripts, servidores, paneles, bots y agentes.
import {
getCandles, watchCandles, getQuote, getIndicatorData, searchMarkets,
} from '@mathieuc/tradingview/data';
// One-shot: resolves with complete data, then releases everything.
const hourly = await getCandles({ symbol: 'BINANCE:BTCUSDT', timeframe: '60', count: 500 });
const lastWeek = await getCandles({ symbol: 'NASDAQ:AAPL', timeframe: '15', from: new Date(Date.now() - 7 * 86_400_000) });
const quote = await getQuote('BINANCE:BTCUSDT');
const [market] = await searchMarkets('ethereum', { type: 'crypto' });
// Watcher: keeps streaming until stopped.
const watcher = await watchCandles({ symbol: 'BINANCE:BTCUSDT', timeframe: '1' }, {
onData: (candles) => console.log(candles.at(-1)?.close),
onError: (error) => console.error(error.code, error.message),
});
await watcher.stop();
// Indicators and strategies (Pine scripts need an account).
const { values } = await getIndicatorData({
symbol: 'BINANCE:BTCUSDT', indicator: 'STD;RSI', credentials: { session, signature },
});| Necesidad | Función |
|---|---|
| Velas: barras recientes, historial profundo, rangos de fechas, Heikin Ashi/Renko/... | getCandles, watchCandles |
| Cotizaciones: último precio, variación, bid/ask, volumen... | getQuote, getQuotes, watchQuotes |
| Valores de indicadores, dibujos e informes de estrategias | getIndicatorData, watchIndicator |
| Metadatos de símbolos | getSymbolInfo |
| Screener de acciones/cripto y clasificaciones | getScreener, getHotlist |
| Listas de seguimiento de la cuenta (solo lectura) | getWatchlists |
| Búsqueda y evaluaciones | searchMarkets, searchIndicators, getTechnicalAnalysis |
Las funciones de datos WebSocket aceptan timeoutMs, un AbortSignal, credenciales de cuenta (credentials) y un client compartido opcional. Las consultas HTTP aceptan un AbortSignal en sus opciones. Los errores son TradingViewError con un code como SYMBOL_ERROR, TIMEOUT o STUDY_ERROR. Consulta todas las opciones en la guía de la API de datos.
Para un control completo (varios gráficos y estudios en una conexión, modo replay, paquetes sin procesar), usa directamente el cliente y las sesiones:
import { TradingViewClient, getIndicator } from '@mathieuc/tradingview';
const client = new TradingViewClient({ credentials: { session, signature } }); // Credentials are optional
const chart = client.createChart();
chart.on('update', () => console.log(chart.lastCandle?.close));
chart.on('error', (error) => console.error(error.message));
chart.setMarket('BINANCE:BTCUSDT', { timeframe: '60', count: 300 });
const supertrend = chart.createStudy(await getIndicator('STD;Supertrend'));
supertrend.on('update', () => console.log(supertrend.values.at(-1)));
// When your application is finished:
await client.close();La referencia de la API de bajo nivel cubre gráficos, replay, estudios, cotizaciones, funciones de cuenta y diseños, permisos Pine, transportes personalizados y utilidades del protocolo. Los ejemplos muestran cada función.
Sin una cuenta, TradingView ofrece datos limitados: menos historial intradía, sin estudios Pine y posibles fuentes retrasadas o alternativas. Con tus cookies sessionid y sessionid_sign (credentials), obtienes lo que tu cuenta permite. Guárdalas en variables de entorno o en un almacén de secretos; nunca en archivos fuente, issues o prompts.
- Repositorio GitHub
- Reconocimiento de la comunidad en Trendshift
- Paquete npm
- Ejemplos
- Informar de un error o solicitar una función
TradingView es una marca de su respectivo propietario. Este proyecto no está afiliado a TradingView ni cuenta con su respaldo. Consulta las condiciones de tu proveedor y los permisos de datos de mercado aplicables a tu caso de uso.
