Questions fréquentes
Qu’est-ce que PineForge ?
PineForge est un moteur de backtest C++ déterministe, doté de son propre noyau ; il exécute les stratégies PineScript v6 via un transpileur et un adaptateur Pine, hors ligne, en CI ou depuis un agent IA. Dans la référence de parité de main du 2026‑11‑03, exécutée avec le moteur au commit 59f98ba8, 100,00 % des 7 989 backtests sont notés excellents ou solides face aux listes de trades exportées par TradingView. La version publiée v1.10.0 (2026‑11‑03) obtient, sur sa propre référence figée, 7 983 backtests excellents et 6 solides. À script, données et version de PineForge identiques (moteur et transpileur), les trades sont identiques. Vous pouvez donc versionner un rapport dans votre dépôt, puis laisser la CI relancer le backtest et comparer les résultats. Utilisez PineForge depuis votre assistant IA via le serveur MCP hébergé gratuit, ou lancez l’image Docker pineforge-release sur vos propres données. Le moteur est publié sous licence Apache-2.0 sur GitHub.PineForge est-il réservé à Pine Script ?
Non. PineForge est un moteur à part entière, bâti sur un noyau C++ indépendant de Pine. PineScript v6 est le langage qu’il a adopté : le transpileur compile chaque stratégie Pine en C++, et un adaptateur Pine, qui s’appuie sur ce noyau, reproduit la sémantique d’exécution de TradingView. Vous pouvez aussi écrire une stratégie en C++ ou en C, directement sur le noyau, comme le montre le README du moteur. L’image Docker pineforge-release accepte du Pine ou une unité de traduction C++ générée au préalable par le transpileur (dans /in/strategy.cpp, utilisée si aucun fichier Pine n’est fourni) ; les serveurs MCP, eux, n’acceptent que du Pine. MQL5 est prévu comme deuxième langage adopté, sans date annoncée ; il n’est pas pris en charge aujourd’hui.Quelle est la précision de PineForge par rapport à TradingView ?
Dans la référence de parité du 2026‑11‑03, 100,00 % des 7 989 backtests atteignent les niveaux « excellent » ou « solide », les deux meilleurs d’une grille à cinq niveaux. Ces résultats sont mesurés par comparaison avec les listes de trades exportées directement par TradingView : 7 983 excellents (99,92 %) et 6 solides (0,08 %). Sur la période commune aux deux listes, le niveau « excellent » exige un nombre de trades identique. Au 90e percentile, les écarts sur les prix d’entrée et de sortie doivent rester dans la limite de 0,01 %, et ceux sur le P&L dans la limite de 1 %. Pour les stratégies avec des sorties trail_*, les seuils sont de 0,05 % sur les sorties et de 100 % sur le P&L. Il faut également qu’au moins 99 % des trades clôturés de TradingView soient appariés, ou qu’il reste au maximum un trade non apparié. Le niveau « solide » accepte un écart strictement inférieur à 6 % sur le nombre de trades, ainsi que des écarts limités à 0,1 % sur les entrées, à 0,5 % sur les sorties et à 100 % sur le P&L. Il exige aussi au moins 95 % de trades appariés, ou au maximum un trade non apparié. Les backtests couvrent 309 stratégies de référence publiques, avec un backtest par stratégie, 680 scripts partagés par la communauté et 61 scripts de test écrits par les mainteneurs. Ils portent sur 9 marchés et 2 unités de temps. Les 17 backtests dont l’export TradingView présente un défaut côté TradingView sont exclus de la notation ; la population totale compte 8 006 backtests. Ces mesures concernent la branche main, avec le moteur au commit 59f98ba8. La paire moteur/codegen publiée dans la version v1.10.0 obtient, sur sa propre référence figée, 7 983 backtests excellents et 6 solides. Le niveau « excellent » vérifie aussi l’identité des entrées distinctes : si TradingView affiche plusieurs Signals d’entrée distincts au même instant précis, au même prix et dans le même sens, le moteur restitue le même nombre d’entrées distinctes à cet instant. Comprendre les critères de chaque niveauComment installer PineForge ?
Le serveur MCP hébergé gratuit ne demande aucune installation ; pour backtester sur vos propres données, récupérez l’image Docker pineforge-release. Renseignez l’URL https://mcp.pineforge.dev/mcp dans n’importe quel client MCP, ou ajoutez le serveur à Claude Code en une seule commande :
Pour vos propres données, il vous faut Docker ; commencez par récupérer l’image, avec le moteur et le codegen 1.10.0 (le dernier duo publié est 1.10.0) :claude mcp add --transport http pineforge https://mcp.pineforge.dev/mcp
Ensuite, dans le dossier qui contient strategy.pine et ohlcv.csv (en-tête timestamp,open,high,low,close,volume, horodatages en millisecondes UNIX), lancez le backtest ; le rapport JSON est écrit dans report.json :docker pull ghcr.io/pineforge-4pass/pineforge-release:1.10.0
Pour travailler sur vos propres données depuis un assistant IA, lancez plutôt le serveur MCP local, en suivant son guide d’installation.docker run --rm --network=none \ -v "$PWD/strategy.pine:/in/strategy.pine:ro" \ -v "$PWD/ohlcv.csv:/in/ohlcv.csv:ro" \ ghcr.io/pineforge-4pass/pineforge-release:1.10.0 > report.jsonEst-ce légal ? Êtes-vous affiliés à TradingView ?
PineForge est indépendant et n’est pas affilié à TradingView ; PineScript est une marque de TradingView. PineForge est un moteur à part entière, qui réimplémente en C++ la sémantique documentée de Pine v6 et confronte ses résultats aux exports « List of Trades » que TradingView produit pour les mêmes scripts. Il ne fait pas d’ingénierie inverse du runtime de TradingView.Quelle différence entre PineForge et PyneCore ?
PyneCore exécute du Python façon Pine : le compilateur PyneSys convertit le Pine en Python, qui tourne ensuite dans l’interpréteur Python. PineForge transpile le Pine en C++ et l’exécute en natif. Les deux sont vérifiés face à TradingView. Sur le banc d’essai de 201 stratégies du dépôt du moteur (2026‑09‑29, moteur au commit 35db01c8), où chaque moteur est noté face aux listes de trades exportées par TradingView, PineForge obtient le niveau excellent sur les 201, et PyneCore 6.10.3 sur 137, avec 46 de niveau solide ; l’essentiel de l’écart de PyneCore tient à la fenêtre de trading de son runner, une partie à request.security en multi-unités de temps et aux bots de trading en grille. Voir le détail completMon script TradingView tournera sans retouches ?
Souvent, mais vérifiez d’abord. PineForge couvre les ordresstrategy.*, les garde-fous de risque et les accesseurs, 59 fonctionsta.*officielles plus les 8 variables de sérieta.*, les tableaux, les maps, les matrices, les types définis par l’utilisateur, etrequest.security. Appelé sur un autre symbole que celui du graphique, il lit les barres propres à ce symbole, à fournir au préalable via l’API C du moteur ou à l’image Docker (PINEFORGE_SYMBOL_FEEDS) ; les serveurs MCP n’en fournissent aucune. Sans ces barres, si la valeur demandée peut influer sur un trade, l’exécution s’arrête plutôt que de se rabattre sur celles du graphique. Les objets de dessin (line,box,label,linefill,chart.point) sont conservés sous forme de données que la stratégie peut relire, y compris leur historique depuis codegen 1.0.1. Les tracés, les tables, les setters purement visuels et les alertes sont acceptés mais restent sans effet : rien n’est dessiné. Les scriptsindicator()sont refusés. Cherchez n’importe quel identifiant dans la doc de couverture, ou interrogez l’outil check_pine_feature du serveur MCP.PineForge fait-il tourner les scripts en Pine Script v5 ou plus anciens ?
PineForge accepte les stratégies Pine Script v6, qui peuvent importer des bibliothèques v5. Il refuse toutefois quelques comportements de la v5 qu’il ne reproduit pas, avec une erreur qui nomme la bibliothèque concernée : c’est le cas, par exemple, d’une fonction de bibliothèque v5 appelée dansrequest.security()ou dans un autre appelrequest.*(). Si votre script est écrit en v5 ou dans une version antérieure, vous devez d’abord le migrer vers la v6 ; l’éditeur de TradingView sait le convertir.Quelles sont les limites de PineForge ?
PineForge ne passe aucun ordre et n’affiche aucun graphique. Les objets de dessin (line,box,label,linefill,chart.point) sont conservés sous forme de données que la stratégie peut relire, y compris leur historique depuis codegen 1.0.1 ; les tracés, les tables, les setters purement visuels et les alertes sont acceptés mais restent sans effet. PineForge refuse les scriptsindicator(). Il n’exécute pas tous les identifiants Pine v6 : avant de vous fier à un script, vérifiez donc ceux qu’il utilise dans la doc de couverture ou avec l’outil check_pine_feature du serveur MCP. Le serveur hébergé gratuit autorise 100 appels par semaine et par IP, partagés entre backtest_pine et check_tradingview_parity, sur les 365 derniers jours de données crypto uniquement. Le budget de calcul mensuel partagé entre tous les utilisateurs gratuits peut suspendre les backtests et les contrôles de parité jusqu’au mois UTC suivant. L’image pineforge-release ne contient aucune donnée de marché : c’est à vous de fournir le CSV OHLCV (le serveur MCP local peut télécharger des bougies Binance pour vous). Le serveur hébergé n’a pas d’outil de balayage : balayez les paramètres avec l’outil backtest_pine_grid du serveur MCP local, ou avec un script autour de l’image pineforge-release ; une optimisation hébergée est prévue, sans date annoncée. Un backtest rend compte de ce qu’une stratégie a fait sur les données que vous lui avez fournies ; ce n’est ni une prévision ni un conseil en investissement.PineForge est-il gratuit ? Quels composants sont open source ?
Le serveur MCP hébergé est gratuit, sans clé : 100 appels par semaine et par IP, partagés entre backtest_pine et check_tradingview_parity. Les deux images Docker locales (sans quota) et le transpileur sont gratuits pour le trading personnel ; une licence commerciale est requise en entreprise ou dans un produit. Des offres payantes hébergées sont prévues, sans date annoncée. Le moteur,pineforge-engine, est sous licence Apache-2.0 : un runtime C++17 doté d’une ABI C stable qui n’évolue que par ajouts, documentée sur cdocs.pineforge.dev, avec une CI sur Ubuntu et macOS. Le transpileur,pineforge-codegen, est à code source disponible sous la PineForge Source License 1.2 depuis codegen 1.3.0, et non open source. Il est gratuit pour le trading personnel (une seule personne qui trade sur son propre compte, avec son propre capital) et pour un usage non commercial : écoles, associations caritatives, organismes publics de recherche et administrations peuvent ainsi l’utiliser pour l’enseignement, la recherche et leur propre fonctionnement. Il faut en revanche une licence commerciale pour tout usage au sein d’une entreprise ou d’un fonds, ou pour leur compte, pour toute intégration à un produit, pour l’exploitation d’un service hébergé et pour la gestion d’actifs. La gestion d’actifs, c’est gérer des capitaux, conseiller sur leur placement ou s’en servir pour trader, avec ou sans rémunération et quel qu’en soit le propriétaire, fonds de dotation, caisses de retraite et fonds publics compris, à la seule exception du trading personnel. Pour tout organisme, même une association caritative ou une école, il s’agit d’un usage commercial. Écrivez-nous à enterprise@pineforge.dev pour obtenir une licence commerciale. Un compte fourni ou alloué par une prop firm ou un programme de financement de traders, y compris un compte de challenge, d’évaluation ou de démo, n’est pas le propre compte du trader : son capital, réel ou simulé, entre dans le champ de la gestion d’actifs, si bien que trader sur ce compte ou backtester des stratégies qui lui sont destinées constitue un usage commercial. Les versions antérieures conservent leur licence d’origine. Les preuves de parité sont publiques elles aussi : pineforge-corpus et ses 312 stratégies fournissent, pour chacune, la liste de trades de TradingView et celle du moteur, et la vérification du corpus sur la branche main du moteur fige 311 stratégies excellentes, plus 1 anomalie déclarée.Prêt pour la production aujourd’hui ?
Pour les backtests, oui : c’est ce que fait la version publiée du moteur (v1.10.0). Le moteur peut aussi s’amorcer sur un historique OHLCV, puis tourner en temps réel sur un flux ordonné de transactions de marché que vous lui fournissez (fonctionnalité publiée depuis la v0.11.0). La version v1.10.0 est aussi livrée avec un runner natif optionnel,pineforge-live, désactivé par défaut : il amorce une stratégie compilée sur des barres historiques confirmées, l’exécute sur des ticks normalisés ou des barres confirmées, envoie des actions d’exécution simulées à un webhook indépendant de tout courtier et tient un journal dans SQLite (voir le guide du runner). Le tableau de parité ne certifie ni son comportement en réel ni les exécutions d’un vrai courtier, et PineForge ne passe pas d’ordres. S’il vous faut de l’exécution en réel dès aujourd’hui, passez par une passerelle vers votre courtier, par exemple les alertes TradingView transmises à votre courtier.PineForge peut-il trader en réel ou se connecter à mon courtier ?
Non, PineForge ne passe aucun ordre et ne se connecte à aucun courtier. Le moteur v1.10.0 inclut un runner natif optionnel,pineforge-live, derrière une option de compilation désactivée par défaut : il exécute une stratégie compilée sur des ticks normalisés ou des barres confirmées et envoie des actions d’exécution simulées à un webhook indépendant de tout courtier (voir le guide du runner). Le tableau de parité ne certifie ni son comportement en réel ni les exécutions d’un vrai courtier. Pour trader une stratégie en réel, passez par une passerelle vers votre courtier, par exemple les alertes TradingView transmises à votre courtier.Et si PineForge s’arrête ?
Le moteur (libpineforge.a, ses en-têtes et le harnais de benchmark) est sous licence Apache-2.0 : vous pouvez le forker et poursuivre le développement. L’imagepineforge-releaseque vous avez récupérée continue de fonctionner hors ligne, le C++ que le transpileur a généré pour vos stratégies reste sur votre disque, et le code du transpileur est sur GitHub. Le corpus ouvert et les ressources publiques du benchmark sont des dépôts publics. Les rapports sont en JSON brut ; votre source Pine et vos données vous appartiennent. Si le serveur MCP hébergé disparaissait, vous perdriez cet endpoint et ses données hébergées ; le serveur Docker local, lui, continue de tourner sur vos propres CSV.Par rapport au backtesteur intégré TradingView ?
TradingView est l’endroit où vous découvrez des stratégies et les affichez sur graphique, et il peut transmettre des ordres à des courtiers. PineForge ne remplace rien côté graphique. Il exécute la stratégie que vous avez déjà écrite, sur vos propres données ou depuis un agent IA, compilée et déterministe : les mêmes entrées donnent les mêmes trades, si bien qu’un balayage de paramètres ou une vérification en CI tient en un script. Prototypez sur TradingView ; passez à PineForge quand la réponse doit être reproductible.Quand pourrai-je vendre des stratégies sur une marketplace ?
Il n’y a pas de date. La marketplace, où des stratégies compilées seraient vendues avec des licences fixées par le vendeur, est prévue mais pas construite : il n’existe aujourd’hui ni serveur de licences, ni outils vendeur, ni paiements. La liste d’attente vendeur est ouverte. Rejoindre la liste d’attenteUne IA peut-elle vraiment backtester ma stratégie PineScript de façon fiable ?
Un raisonnement ne remplace pas un backtest. Un LLM ne peut pas reproduire par approximation la sémantique des séries de PineScript v6, les exécutions intrabar et la logique d’ordres de strategy.* : ses estimations de trades ou de P&L ne sont pas fiables et ne correspondent pas à TradingView. PineForge est un moteur C++ déterministe, accessible via un serveur MCP, qui exécute du PineScript v6 en le transpilant en C++. Dans la référence de parité de main du 2026‑11‑03, exécutée avec le moteur au commit 59f98ba8, 100,00 % des 7 989 backtests sont notés excellents ou solides face aux trades exportés par TradingView (309 stratégies de référence du corpus ouvert, 680 scripts partagés par la communauté et 61 scripts de sonde écrits par les mainteneurs, sur 9 marchés et 2 unités de temps). La version publiée v1.10.0 compte, de son côté, 7 983 backtests excellents et 6 solides. Votre agent appelle backtest_pine sur le serveur MCP hébergé gratuit (https://mcp.pineforge.dev/mcp, sans installation) ou sur un serveur Docker local : vous obtenez un backtest exécuté, pas une estimation. Connexion en une ligne : claude mcp add --transport http pineforge https://mcp.pineforge.dev/mcp.Pourquoi ChatGPT ou Claude ne peuvent-ils pas backtester mon script Pine directement ?
Un backtest se calcule sur vos données de prix ; il ne se déduit pas des connaissances d’un modèle. PineScript v6 s’exécute barre par barre, avec ses règles de look-ahead, l’ordre des exécutions intrabar et la logique de courtier de strategy.* (slippage, commission, OCA, pyramiding). Décrire ce fonctionnement ne suffit pas à le reproduire : des trades disparaissent ou sont inventés, et le P&L ne correspond plus à TradingView. Pour des résultats fiables, faites tourner un moteur déterministe. PineForge le propose via un serveur MCP hébergé gratuit (https://mcp.pineforge.dev/mcp, sans installation ni clé) ou un serveur Docker local pour vos données privées, avec backtest_pine, list_symbols et check_pine_feature. Dans la référence de parité de main du 2026‑11‑03, exécutée avec le moteur au commit 59f98ba8, 100,00 % des 7 989 backtests sont notés excellents ou solides face aux trades exportés par TradingView. La version publiée v1.10.0 affiche pour sa part 7 983 backtests excellents et 6 solides.Une stratégie PineScript peut-elle vraiment gagner de l’argent ? La mienne est-elle rentable ?
Aucun outil ne peut vous promettre des gains, ni aucune IA les prévoir par le seul raisonnement. PineForge vous aide à mesurer une stratégie avant d’engager votre capital. Un backtest simpliste ou estimé par une IA peut sembler rentable et échouer en conditions réelles s’il ignore le slippage, les commissions, les hypothèses d’exécution ou le biais de look-ahead. PineForge exécute votre PineScript v6 sur de vraies données OHLCV, avec son propre moteur C++ déterministe, qui tient compte des coûts. Dans la référence de parité de main du 2026‑11‑03, exécutée avec le moteur au commit 59f98ba8, 100,00 % des 7 989 backtests sont notés excellents ou solides face aux trades exportés par TradingView. La version publiée v1.10.0 affiche, de son côté, 7 983 backtests excellents et 6 solides. Les performances passées d’un backtest ne garantissent pas les résultats futurs : utilisez ces résultats pour valider votre stratégie, pas pour prévoir vos gains.Comment backtester du PineScript sans TradingView ?
Vous pouvez lancer votre backtest directement dans PineForge. Pour démarrer, connectez le serveur MCP hébergé gratuit à https://mcp.pineforge.dev/mcp : aucune installation ni clé, 100 appels par semaine et par IP, partagés entre backtest_pine et check_tradingview_parity, sur les 365 derniers jours de données OHLCV crypto. Pour utiliser vos propres OHLCV, lancez l’image Docker pineforge-release ou le serveur MCP local : aucune clé d’API, votre code et vos données restent sur votre machine. PineForge transpile votre Pine en C++, le fait tourner sur son propre moteur et reproduit la sémantique d’exécution de TradingView. Dans la référence de parité de main du 2026‑11‑03, exécutée avec le moteur au commit 59f98ba8, 100,00 % des 7 989 backtests sont notés excellents ou solides face aux trades exportés par TradingView. La version publiée v1.10.0 affiche pour sa part 7 983 backtests excellents et 6 solides. Grâce au serveur MCP, votre agent IA (Claude Code, Cursor) peut lancer la transpilation et le backtest à partir d’un prompt.Quelle est la meilleure façon de backtester une stratégie PineScript avec précision : estimation par IA, réécriture en Python ou TradingView lui-même ?
Le bon choix dépend de la précision attendue, du déterminisme et de l’endroit où restent vos données. Demander à un LLM d’estimer les trades est rapide, mais peu fiable : il ne reproduit pas la logique des séries et des ordres de Pine. Réécrire votre stratégie en Python (backtrader, vectorbt) impose de la réimplémenter puis de la valider à la main, sans contrôle face à TradingView. TradingView est précis, mais reste dans le navigateur : un agent ne peut pas l’appeler et vous ne pouvez pas automatiser de grandes séries de tests par script. PineForge transpile votre code Pine existant en C++ et l’exécute sur son propre moteur déterministe, en local ou via un serveur MCP hébergé gratuit, accessible dans les deux cas à votre agent IA. Dans la référence de parité de main du 2026‑11‑03, exécutée avec le moteur au commit 59f98ba8, 100,00 % des 7 989 backtests sont notés excellents ou solides face aux trades exportés par TradingView. La version publiée v1.10.0 affiche pour sa part 7 983 backtests excellents et 6 solides.
Si votre question ne figure pas ici, posez-la dans les GitHub Discussions du dépôt du moteur. Nous lisons chaque fil de discussion.