Every number on this page is generated by bash benchmarks/run_all.sh in the open-source pineforge-engine repo, against the same 41,307-bar Binance ETH/USDT 15-minute feed. Reproduce in ~3 minutes from a clean clone, zero external API calls.
Strategy execution is on the PineTS roadmap. We benchmark indicator-precision against PineTS to triangulate floating-point divergences.
Tiers follow the canonical PineForge parity sweep: excellent = all four dimensions (count delta, entry p90, exit p90, P&L p90) within strict thresholds and ≥95% trades matched; strong within 5× strict; moderate / weak / minimal step down from there. Strategies that use TradingView’s trail_* exits get the production threshold profile (looser exit + P&L tolerances).
On 47 of 50 reference strategies PineForge and PyneCore both hit excellent. The 3-strategy gap is not random — every divergence is in the same category: bracket exits, trailing stops, or partial position closes. PyneCore’s broker emulator differs from TV here; PineForge mirrors TV trade-for-trade.
strategy.close(qty_percent=…) in PyneCore splits each entry into per-percentage sub-exits instead of a single partial close. Open upstream issue as of this commit.| Capability | PineForge | PyneCore | PineTS |
|---|---|---|---|
| Backend language | C++17 static lib | Python (cloud-transpiled) | TypeScript |
| Distribution | open-source runtime + closed transpiler | open-source | open-source |
| 50-strategy benchmark | 49 excellent + 1 strong | 46 excellent + 1 strong + 2 moderate + 1 weak | — (not in scope) |
| 158/162 strict TV parity | ✓ | — (different corpus) | — (indicators only) |
| Determinism guarantee | byte-reproducible | best-effort | best-effort |
| Bracket / trail / partial-exit semantics | TV-faithful | drift documented | N/A |
| Bar magnifier (intra-bar fills) | 6 distributions | subset | N/A |
| Forward-test engine | Q3 2026 | today | N/A |
| Live broker integration | 2027 | today (subset) | N/A |
| Hosted Studio UI | Q4 2026 | CLI only | CLI only |
| Strategy marketplace + DRM | 2027 (designed) | — | — |
On the 41,307-bar feed, PineForge and PineTS produce per-bar relative errors at the floating-point limit (≈10⁻¹⁰ p90). PineForge↔PyneCore drifts ~100× higher (~10⁻⁸ p90). Both are well below trade-execution tolerance — but the divergence is consistent, suggesting a systematic rounding-mode difference rather than randomness.
| Indicator | PF↔PineTS p90 | PF↔PyneCore p90 |
|---|---|---|
| ema21 | 1.9e-10 | 1.9e-08 |
| sma21 | 1.9e-10 | 1.9e-08 |
| rsi14 | 9.7e-11 | 9.7e-09 |
| atr14 | 2.8e-10 | 2.8e-08 |
| macd_line | 2.3e-10 | 2.3e-08 |
| macd_signal | 2.4e-10 | 2.4e-08 |
| bb_basis | 0 | 0 |
| bb_upper | 1.9e-10 | 1.9e-08 |
Every number on this page is generated by the public benchmark suite. No hidden config, no API keys, no committed-snapshot tricks. ~3 minutes from a clean clone.
# 1. Clone the open-source engine + benchmark suite git clone https://github.com/fullpass-4pass/pineforge-engine cd pineforge-engine # 2. Pull the LFS-tracked OHLCV (2.3 MB) git lfs install && git lfs pull # 3. Run the full three-engine sweep (~3 min) bash benchmarks/run_all.sh # 4. Read the results — same table that's on this page cat benchmarks/results/summary.md