Construisez avec les données de marché, de votre premier graphique à une veille automatisée. Récupérez des bougies et des cotations, exécutez des indicateurs et des stratégies, et transformez vos idées en outils. Projet communautaire indépendant, pas une API officielle de TradingView.
Démarrer · Explorer les exemples · Lire le guide de l’API de données
Langue : English · Français · Español · Português
Une vraie requête de bougies, enregistrée le 2 octobre 2026 avec la préversion de développement (fetchCandles, appelée getCandles en version 4), puis représentée pour cette démonstration. Les prix ne sont pas en direct.
La V4 est la version npm par défaut. Installez-la avec
npm install @mathieuc/tradingviewpour utilisergetCandleset la nouvelle API de données.
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 }Vous préférez commencer sans coder ? Les parcours ci-dessous le permettent aussi.
La version 4 est une réécriture incompatible en TypeScript, avec une nouvelle API et sans couche de compatibilité. Vous venez de la V3 ? Lisez le guide de migration. Toutes les fonctionnalités V3 restent disponibles : voir la matrice de couverture et les preuves de fiabilité. Le rapport de préparation de la RC suit les vérifications et les conditions restantes avant publication stable. Les versions npm 3.x conservent l’ancienne API
Client; vérifiez la version installée sur la page npm. Ces guides techniques sont en anglais.
Le lanceur interactif est inclus dans la V4 :
npx @mathieuc/tradingviewLancez-le depuis le dossier de votre projet avec Node.js 20+. Choisissez un parcours :
- Agent autonome (recommandé) — ouvre la veille de marché TradingView-API sur Molted Studio. Aucune configuration de projet local.
- Claude Code CLI — démarre votre CLI
claudeinstallé dans ce dossier, avec un prompt de projet prêt à l’emploi. - Codex CLI — démarre votre CLI
codexinstallé dans ce dossier, avec le même prompt. - Un autre coding-agent local — affiche le prompt à coller dans votre agent.
- Installer seulement la librairie — exécute
npm install @mathieuc/tradingviewdans ce dossier, sans générer de fichiers ni démarrer d’agent.
Claude Code et Codex doivent déjà être installés et authentifiés. Leurs demandes d’autorisation habituelles restent actives. Si le lancement échoue, le prompt est affiché pour une utilisation manuelle. Si aucun navigateur n’est disponible, le lien hébergé reste visible.
Utilisez --choice 4 pour afficher directement le prompt, ou --help pour l’aide. En mode non interactif, --choice est obligatoire. Pour essayer le lanceur depuis ce dépôt :
npm ci && npm run build
node bin/tradingview.mjsnpm install @mathieuc/tradingview
# Ou : bun add @mathieuc/tradingviewLa V4 est installée par défaut. La V3 reste disponible avec @mathieuc/tradingview@3 ; consultez le guide de migration avant de mettre à jour un projet V3.
Le paquet V4 est ESM avec des déclarations TypeScript. Les projets CommonJS peuvent utiliser require() avec Node 20.19+ ou 22.12+, ou await import().
Ouvrez une issue pour discuter d’une fonctionnalité ou signaler un bug, ou proposez une pull request. Questions et idées sont bienvenues ; une reproduction parfaite n’est pas nécessaire pour engager la discussion. npm run check lance la vérification des types, le lint, les tests, la compilation et le test du paquet.
L’API de données gère les connexions, les sessions, les délais et le nettoyage à votre place. Elle convient aux scripts, serveurs, tableaux de bord, bots et agents.
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 },
});| Besoin | Fonction |
|---|---|
| Bougies : dernières barres, historique profond, plages de dates, Heikin Ashi/Renko/... | getCandles, watchCandles |
| Cotations : dernier prix, variation, bid/ask, volume... | getQuote, getQuotes, watchQuotes |
| Valeurs d’indicateurs, dessins et rapports de stratégie | getIndicatorData, watchIndicator |
| Métadonnées des symboles | getSymbolInfo |
| Screener actions/crypto et classements | getScreener, getHotlist |
| Listes de suivi du compte (lecture seule) | getWatchlists |
| Recherche et évaluations | searchMarkets, searchIndicators, getTechnicalAnalysis |
Les fonctions de données WebSocket acceptent timeoutMs, un AbortSignal, les identifiants du compte (credentials) et un client partagé facultatif. Les requêtes HTTP acceptent un AbortSignal via leurs options. Les erreurs sont des TradingViewError avec un code comme SYMBOL_ERROR, TIMEOUT ou STUDY_ERROR. Le guide de l’API de données détaille toutes les options.
Pour un contrôle complet (plusieurs graphiques et études sur une connexion, mode replay, paquets bruts), utilisez directement le client et les sessions :
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 référence de l’API bas niveau couvre les graphiques, le replay, les études, les cotations, les comptes et les mises en page, les permissions Pine, les transports personnalisés et les outils du protocole. Les exemples illustrent chaque fonctionnalité.
Sans compte, TradingView fournit des données limitées : historique intraday réduit, pas d’études Pine et flux éventuellement différés ou de substitution. Avec vos cookies sessionid et sessionid_sign (credentials), vous accédez à ce que permet votre compte. Gardez-les dans des variables d’environnement ou un gestionnaire de secrets ; jamais dans les fichiers source, les issues ou les prompts.
- Dépôt GitHub
- Mise en avant communautaire sur Trendshift
- Paquet npm
- Exemples
- Signaler un bug ou proposer une fonctionnalité
TradingView est une marque de son propriétaire. Ce projet n’est ni affilié à TradingView ni approuvé par TradingView. Vérifiez les conditions de votre fournisseur de données et les autorisations applicables à votre usage.
