Aller au contenu
Comment nous mesurons la parité

7 989 backtests notés, dont 100,00 % excellents ou solides

Face aux listes de trades de TradingView : 7 983 notés excellents, 6 solides, aucun en dessous.

15 minutesJournalierETHUSDT.PBTCUSDTAutres
15 minutesJournalierETHUSDT.PBTCUSDTAutres

Touchez ou faites glisser le graphique pour lire n’importe quel point.

Source : référence de parité pineforge-parity-baseline-20261103-release-tag-3d8717c4 du 2026-11-03. Méthode de notation

Le graphique sous forme de tableau

Chaque repère correspond à un script de stratégie sur un marché et une unité de temps donnés ; les 6 repères ambre sont de niveau solide, les 7 983 autres de niveau excellent.

MarchéUnité de tempsNotésExcellentSolide
ETHUSDT.P15 minutes1 0091 0090
BTCUSDT15 minutes6686662
BTCUSDTJournalier5165160
ETHUSDT.PJournalier5405400
Autres15 minutes3 0813 0774
AutresJournalier2 1752 1750

La grille de notation

Les critères des niveaux excellent et solide. Pour le niveau excellent, lorsque TradingView affiche deux ou plusieurs Signals d’entrée distincts au même instant exact, au même prix et dans la même direction, le moteur affiche autant d’entrées distinctes à cet endroit (identité des entrées distinctes).
CritèreExcellentSolide
Écart de nombre de trades0< 6 %
Prix d’entrée, 90e percentile< 0,01 %< 0,1 %
Prix de sortie, 90e percentile< 0,01 %*< 0,5 %
P&L, 90e percentile< 1 %*< 100 %
Trades de TradingView appariésou au plus un trade non apparié≥ 99 %≥ 95 %
Méthode de mesure

Chaque chiffre de ce site provient de l’une des mesures ci-dessous. Chaque section précise ce qui est mesuré, comment c’est noté et où se trouve la source.

Chaque backtest est noté face à la liste de trades que TradingView a lui-même exportée pour le même script, le même marché et la même unité de temps. Chaque trade TradingView est apparié au trade du moteur le plus proche, dans le même sens, entré à moins d’une heure de lui et à un prix d’entrée à 3 $ près. Les critères de nombre de trades, de prix et de P&L sont calculés sur la fenêtre couverte par les deux listes ; la couverture compte chaque trade TradingView clôturé.

Sous le niveau solide viennent les niveaux modéré, faible et minimal.

*Les stratégies qui utilisent des sorties trail_* sont notées avec un profil « production », qui absorbe la dérive infra-barre des exécutions de TradingView sur ces sorties : sorties à 0,05 % près et P&L à 100 % près.

La référence de parité

Méthode de mesure

Référence main pineforge-parity-baseline-20261103-release-tag-3d8717c4 du 2026-11-03, moteur 59f98ba8, instantané 3d8717c4. Version publiée v1.10.0 : 7 983 excellents, 6 solides. Notre méthode de notation

Une sonde, c’est un script de stratégie sur un marché et une unité de temps donnés, noté face à la liste de trades que TradingView a lui-même exportée pour ce graphique.

La référence du 2026-11-03 note 7 989 sondes : 309 stratégies de référence du corpus ouvert, à raison d’une sonde chacune, et les 7 680 sondes du test privé, qui portent sur 741 scripts TradingView, soit 680 scripts communautaires de la bibliothèque publique de TradingView (7 179 sondes) et 61 scripts de sonde écrits par les mainteneurs (501 sondes). Elles tournent sur 9 marchés et 2 unités de temps, 15 minutes et journalier. Le total des trades comparés aux résultats de TradingView, toutes sondes confondues, s’élève à 4 692 951. Les trades de chaque sonde notée entrent une seule fois dans le total ; une position clôturée en plusieurs fois compte pour un seul trade ; les trades encore ouverts à la fin de la liste TradingView sont exclus.

Les marchés crypto : BTCUSDT (Binance spot) et ETHUSDT perpétuel (Binance). 4 758 sondes portent sur des graphiques en 15 minutes et 3 231 sur des graphiques journaliers.

Résultat : 7 983 excellentes (99,92 %) et 6 solides (0,08 %), soit 100,00 % d’excellentes ou de solides. Aucune n’est sous le niveau solide et aucune n’a rencontré d’erreur moteur. 17 sondes dont l’export TradingView présente un défaut côté TradingView sont exclues de la notation (8 006 dans la population).

La référence de la branche main a été adoptée le 2026-11-03, avec le moteur au commit 59f98ba8 et le codegen au commit 47f0e8a5. La paire moteur/codegen de la version v1.10.0 est notée sur sa propre référence : 7 989 cas de test, dont 7 983 excellents et 6 solides. Cette référence reste figée : pineforge-parity-baseline-20261103-release-tag-3d8717c4 (2026-11-03). Une future référence de main ne changera pas ces notes.

Source : registres internes de parité (non publics), référence pineforge-parity-baseline-20261103-release-tag-3d8717c4 (instantané sha256 3d8717c4…73ad, population cf857209…b062) ; origine des scripts : pineforge-engine README.md, d1d18867 ; nombre de trades : pineforge-release facts.json.

Le contrôle du corpus ouvert

Méthode de mesure

pineforge-corpus est un ensemble public de 312 stratégies de référence, sous licence Apache-2.0. Chacune est livrée avec sa source Pine, le C++ que le codegen 1.0.1 en a généré, la liste de trades exportée par TradingView et celle du moteur : n’importe qui peut faire le diff entre les deux ; les listes du moteur ont été écrites par le moteur v1.0.1 à partir de ce C++.

La vérification de parité du corpus, sur la branche main du moteur, fige le résultat : 311 stratégies excellentes sur 312. La stratégie restante, anomaly-equity-mirror-strategy-equity-01, est déclarée comme anomalie dans le corpus, si bien que la vérification la signale comme telle, et non comme un échec. Les notes qui l’accompagnent consignent le diagnostic initial : à exactement 1× le capital, le contrôle de marge de TradingView a accepté certaines entrées supérieures au capital et en a refusé d’autres qui lui étaient inférieures. Ce diagnostic est en cours de réexamen, car cette sonde a été notée excellente dans la référence de parité du 2026-11-03. La version v1.10.0 inclut cette vérification.

Le banc d’essai des moteurs

Méthode de mesure

201 stratégies, 100 issues du corpus ouvert et 101 scripts communautaires privés, tournent sur le même flux ETHUSDT en 15 minutes de 53 929 barres, dans PineForge, dans PyneCore et, pour les 13 stratégies portées à la main, dans vectorbt. Les trades de chaque moteur sont notés face à l’export de TradingView selon la grille ci-dessus.

Mesuré le 2026-09-29 avec le moteur au commit 35db01c8, le codegen au commit 121b3e6a et PyneCore 6.10.3 ; le moteur v1.10.0 a été publié ensuite, et les niveaux n’ont pas été remesurés sur cette version. PineForge : niveau excellent pour 201. PyneCore : niveau excellent pour 137, solide pour 46, modéré pour 12, faible pour 4, minimal pour 1, et aucune liste de trades pour 1, dont le compilateur PyneSys rejette le code source. vectorbt : niveau excellent pour 4, solide pour 6, modéré pour 2, faible pour 1. Sur les seules 100 stratégies du corpus ouvert, PineForge atteint le niveau excellent pour 100 d’entre elles ; PyneCore, niveau excellent pour 86, solide pour 12, modéré pour 1 et faible pour 1.

Les valeurs d’indicateurs (10 séries issues de 6 appels ta.*) concordent entre PineForge, PyneCore et PineTS, à environ 1e-10 d’écart relatif au 90e percentile. Cette mesure compare les moteurs entre eux, pas avec TradingView.

La moitié publique est reproductible depuis un clone vierge, sans clé d’API : bash benchmarks/run_all.sh dans pineforge-engine. Les scripts de la moitié privée ne sont pas redistribués.

Le benchmark de vitesse

Méthode de mesure

Sur une instance AWS c7a.8xlarge (AMD EPYC 9R14, 32 cœurs, SMT désactivé) sous Ubuntu 24.04, chaque processus de mesure étant épinglé sur des cœurs fixes, loupe de barres activée, un backtest complet sur le flux de 53 929 barres prend 66,84 ms en médiane à PineForge (de 29,2 ms à 848 ms selon les 201 stratégies), soit 806,8 mille barres par seconde en médiane. Mesuré le 2026-09-29 sur le moteur au commit 35db01c8 ; le moteur v1.10.0 a été publié ensuite, et les temps n’ont pas été remesurés sur cette version.

Sur les 200 stratégies exécutées par les deux moteurs, l’accélération médiane par rapport à PyneCore 6.10.3 est de 36× (15× au 5e percentile, 131× au 95e) ; PyneCore met 2 629 ms par stratégie en médiane. PineForge est chronométré dans le même processus avec Google Benchmark ; PyneCore est chronométré en sous-processus, si bien que son temps écoulé inclut le démarrage de l’interpréteur. Sur les 13 stratégies portées dans vectorbt, l’accélération médiane de PineForge est de 4,2×, et vectorbt est plus rapide sur 2 d’entre elles. Loupe de barres désactivée, le package de mesure du débit traite en médiane 780 mille barres par seconde et par stratégie.