PyneComp converts open-source Pine Script™ into Python.
PyneCore runs the converted scripts on real
market data, and this report compares plots and trades against TradingView's own output.
Pine Script
PyneComp
PyneCore (Python)
TradingView reference
260published scriptsopen-source Pine Script corpus
99.366%bit-exact valuesAll remaining values matched within published tolerance
The Proof Ladder
Every script in the corpus climbs the same four rungs.
No cherry-picking — failures are published right next to the successes.
T0
Compiles
PyneComp converts the original Pine source into runnable Python, untouched by human hands.
260 / 260 scripts
T1
Runs
PyneCore executes the converted script over 25,000+ bars of real exchange data without errors.
260 / 260 compiled
T2
Has measurable output
The run emitted numeric plot or trade data that can be checked. Drawing-only scripts are reported separately.
243 / 260 with plot/trade output
T3
Matches TradingView
Plot and trade outputs are compared bar by bar and trade by trade against TradingView's own reference.
353 / 353 outputs
224 plot + 129 trade outputs
Results at a Glance
Indicators compared plot by plot, strategies trade by trade, against TradingView's own output. The headline counts are over the scripts that produce a comparable numeric reference; a plot PyneCore fails to reproduce counts as a divergence, never as "no reference". Corpus coverage and each script's full detail are in The Corpus below.
Corpus outcome
242Matches TradingView
0Diverges from TradingView
1Data-limited (unavailable feed)
17Runs (no reference output)
0Run failed
Indicators — plot verification
113 / 113
indicators clearing the ≥99% plot-match threshold
Comparable plot references113 / 130
Compared plots >=99%113 / 113
Exact plot matches113 / 113
Mean on compared plots100%
Worst per-script plot match100%
Strategies — trade timing
129 / 129
strategies clearing the ≥99% entry and exit timing threshold
Trade references available129 / 130
Entry+exit timing >=99%129 / 129
Fully verified strategy outputs129 / 130
Trades compared in total114,421
Exact trade-count matches129 / 129
Net profit within tolerance129 / 129
Mean entry/exit timing match100% / 100%
How closely — the numbers themselves
99.366%
of the compared plotted values were the identical IEEE-754 double
Plotted values compared29,971,441
Identical to the bit29,781,612 (99.366%)
Scripts bit-exact throughout209 / 224
Explained by libm last bits2 / 224
Rest, within the published band13 / 224
Worst distance from TradingView726,972 representable values
Methodology
Reproducible by design. The manifest pins the exact source of every script with a SHA-256 hash —
and TradingView keeps every published version forever, so anyone can re-run the comparison.
run parameters
symbol = BINANCE:BTCUSDTtimeframe = 30 minexceptions = 8 scripts on their own marketbars = 25,000+ per scriptulp_limit = 64 (libm tier)rel_tol = 1e-9scale_floor = 1e-9 x series mediannet_tol = 2.0% of the larger netreference = TradingView exportsources = SHA-256 pinned manifest
1
Open-source scripts only
A script enters the corpus only if it is published open source, written in a supported Pine version,
and its header does not forbid reuse. The detected license is recorded in the manifest.
2
No source redistribution
Only the manifest (name, author, link, license, version, SHA-256) is published.
Pine sources are fetched locally, used for measurement, never re-hosted.
3
TradingView is the reference
Reference plots and trade lists come from running the original script on TradingView itself,
on the same symbol, timeframe and bar range.
4
Failures stay on the board
Scripts that time out or hit harness limits are reported as-is.
A proof you can't falsify is not a proof.
“Matches” is a weak word. Here is what it means.
A percentage only says the outputs landed inside a band, and a band is something
we chose. So each compared value is also placed on the one scale that is not ours to
choose — the IEEE-754 double both engines store it in. Consecutive representable
doubles are one step apart; that step is the finest distinction the type can make.
bit-exactEvery compared bar produced the identical double. Not “close enough”:
the same 64 bits, from the first bar to the last.
libmThe values differ only in the last bits of the mantissa, and the script reaches a
transcendental function — log, exp, pow,
the trig family. IEEE-754 requires + − × ÷ and
sqrt to be correctly rounded, and requires nothing of those, so
CPython's C library and TradingView's Java runtime can both be right and still land a
few representable values apart — which a long accumulation then carries forward.
The tier is capped at 64 representable values, chosen from measurement: across our own
reference corpus the widest such gap is 23. A script whose numbers sit inside that cap
but reaches no transcendental is not labelled this way; an explanation has to
explain something.
The two tiers sit under the Verified badge in the table, because that is what they are:
the rung a verified script reached, never a verdict of their own. Anything else carries
no tier line — it agreed within the published band, which is what the Verified badge
above already says. The band itself is one number, not two — a relative
tolerance. Near zero a relative test has nothing to be relative to, so it falls back on a
floor taken from the series' own median magnitude; a fixed absolute floor would be
unreachable for a series living at 100,000 and larger than the whole signal for one
living at 0.000001.
Don't take our word for it. Every script is pinned by SHA-256, and TradingView keeps every
published version. Pull the same script, run it on your own TradingView subscription, and
compare it with PyneSys. The numbers are the numbers.
The Corpus
The most-liked open-source Pine scripts on TradingView, in order of community popularity
(or whatever you sort the table by — the choice is remembered).
Every name links to the original publication.
Trendline Breakout Strategy [KedArc Quant] by kedarcquant 977