Crie com dados de mercado, do primeiro gráfico a um monitor em funcionamento. Obtenha candles e cotações, execute indicadores e estratégias e transforme ideias em ferramentas. Um projeto comunitário independente, não uma API oficial do TradingView.
Primeiros passos · Explorar exemplos · Ler o guia da API de dados
Idioma: English · Français · Español · Português
Uma consulta real de candles, gravada em 2 de outubro de 2026 com a prévia de desenvolvimento (fetchCandles, chamada getCandles na versão 4) e representada para esta demonstração. Os preços não estão em tempo real.
A release candidate V4 está disponível no npm com a tag
next. Instale comnpm install @mathieuc/tradingview@next. A tag padrãolatestcontinua na V3 e não exportagetCandles.
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 }Prefere começar sem código? Os caminhos abaixo também funcionam.
A versão 4 é uma reescrita incompatível em TypeScript, com uma nova API e sem camada de compatibilidade. Vem da V3? Leia o guia de migração. Todas as funcionalidades da V3 continuam disponíveis: veja a matriz de cobertura e as evidências de confiabilidade. O relatório de preparação da RC acompanha as verificações e os requisitos pendentes para a versão estável. As versões npm 3.x mantêm a API
Clientanterior; confira a versão instalada na página do npm. Esses guias técnicos estão em inglês.
O assistente interativo está incluído a partir da 4.0.0-rc.1:
npx @mathieuc/tradingview@nextExecute no diretório do seu projeto com Node.js 20+. Escolha um caminho:
- Agente autônomo (recomendado) — abre o monitor de mercado TradingView-API no Molted Studio. Sem configurar um projeto local.
- Claude Code CLI — inicia seu CLI
claudeinstalado neste diretório com um prompt de projeto pronto para usar. - Codex CLI — inicia seu CLI
codexinstalado neste diretório com o mesmo prompt. - Outro agente de programação local — exibe o prompt para colar no seu agente.
- Instalar apenas a biblioteca — executa
npm install @mathieuc/tradingview@nextaqui, sem gerar arquivos nem iniciar um agente.
Claude Code e Codex devem estar instalados e autenticados. As solicitações normais de permissão continuam ativas. Se a inicialização falhar, o prompt será exibido para uso manual. Se não houver navegador disponível, o link hospedado continuará visível.
Use --choice 4 para exibir o prompt diretamente ou --help para consultar a ajuda. Chamadas não interativas devem passar --choice. Para testar o assistente a partir deste repositório localmente:
npm ci && npm run build
node bin/tradingview.mjsnpm install @mathieuc/tradingview@next
# Ou: bun add @mathieuc/tradingview@nextnext instala a release candidate V4; a tag padrão latest ainda instala a V3. Não misture imports da V4 com uma instalação da V3.
O pacote V4 é ESM com declarações TypeScript. Projetos CommonJS podem usar require() no Node 20.19+ ou 22.12+, ou await import().
Abra uma issue para discutir uma funcionalidade ou relatar um bug, ou envie uma pull request. Perguntas e ideias são bem-vindas; não é preciso ter uma reprodução perfeita para iniciar uma conversa. npm run check executa a verificação de tipos, o lint, os testes, a compilação e o teste do pacote.
A API de dados gerencia conexões, sessões, tempos limite e limpeza para você. É adequada para scripts, servidores, painéis, bots e 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 },
});| Necessidade | Função |
|---|---|
| Candles: barras recentes, histórico profundo, intervalos de datas, Heikin Ashi/Renko/... | getCandles, watchCandles |
| Cotações: último preço, variação, bid/ask, volume... | getQuote, getQuotes, watchQuotes |
| Valores de indicadores, desenhos e relatórios de estratégias | getIndicatorData, watchIndicator |
| Metadados de símbolos | getSymbolInfo |
| Screener de ações/cripto e rankings | getScreener, getHotlist |
| Listas de acompanhamento da conta (somente leitura) | getWatchlists |
| Pesquisa e avaliações | searchMarkets, searchIndicators, getTechnicalAnalysis |
As funções de dados WebSocket aceitam timeoutMs, um AbortSignal, credenciais da conta (credentials) e um client compartilhado opcional. Consultas HTTP aceitam um AbortSignal nas opções. Os erros são TradingViewError com um code como SYMBOL_ERROR, TIMEOUT ou STUDY_ERROR. Veja todas as opções no guia da API de dados.
Para controle completo (vários gráficos e estudos em uma conexão, modo replay, pacotes brutos), use o cliente e as sessões diretamente:
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();A referência da API de baixo nível cobre gráficos, replay, estudos, cotações, funções de conta e layouts, permissões Pine, transportes personalizados e utilitários do protocolo. Os exemplos mostram cada funcionalidade.
Sem uma conta, o TradingView fornece dados limitados: histórico intradiário reduzido, sem estudos Pine e possíveis fontes atrasadas ou alternativas. Com seus cookies sessionid e sessionid_sign (credentials), você obtém o que sua conta permite. Guarde-os em variáveis de ambiente ou em um gerenciador de segredos; nunca em arquivos-fonte, issues ou prompts.
- Repositório GitHub
- Destaque da comunidade no Trendshift
- Pacote npm
- Exemplos
- Relatar um bug ou solicitar uma funcionalidade
TradingView é uma marca de seu respectivo proprietário. Este projeto não é afiliado ao TradingView nem endossado por ele. Confira os termos do seu provedor de dados e as permissões de dados de mercado aplicáveis ao seu caso de uso.
