Benchmark moteurs · v0.8.0 · 100 stratégies

PineForge vs PyneCore.
Reproductible, pas de posture.

Toutes les métriques viennent de bash benchmarks/run_all.sh dans pineforge-engine, sur le même fichier ETH/USDT 15m Binance (53 930 bougies). ~5 minutes depuis un clone propre, zéro API tierce.

Face à face

Ce que vous embarquez réellement.

CapacitéPineForgeTradingViewPyneCore
Backtests reproductibles à l'octet près
Runtime natif compilé
245/246 en parité stricte avec TV
Vendre des stratégies sous forme de binaires compilés
Licences vendeur à durée limitée
Licences vendeur liées à la machine
Runtime open source auditable
Exécution sur vos données, votre machine
Reproductibilité audit / conformité
Bridges courtiers natifs
Score sur 100 stratégies

Combien touchent le palier sur 100 stratégies excellent contre TradingView.

C++ static lib
PineForge
100 / 100
Excellent100Fort0Modéré0Faible0
Python (PyneSys cloud-compiled)
PyneCore
85 / 100
Excellent85Fort2Modéré10Faible3
TypeScript (LuxAlgo)
PineTS
indicateurs uniquement
Moteur de stratégieIndicateurs barre par barre10/10 indicateursalignées

Le backtest de stratégies PineTS reste sur la feuille de route. Nous calibrons la précision des indicateurs contre PineTS pour isoler les écarts de virgule flottante.

Échelle officielle PineForge : excellent si les quatre axes (delta de nombre de trades, p90 entrée/sortie, p90 P&L) restent sous les seuils stricts et ≥ 95 % des trades sont appariés ; fort jusqu'à 5× ces seuils ; modéré / faible / minimal au-delà. Les scripts avec sorties trail_* TradingView utilisent le profil « production » (tolérances sortie et P&L élargies).

L'écart de 3 stratégies

Trois stratégies concentrent tout l'écart.

Sur 85 des 100 stratégies de référence, PineForge et PyneCore atteignent tous deux le palier « excellent ». Les 15 autres ne divergent pas au hasard — même famille : sorties en bracket, trailing stops, sorties partielles. L'émulateur de courtier PyneCore n'est pas fidèle à TradingView ici ; PineForge l'est — trade pour trade.

06-liquidity-sweep
sortie en bracket
PineForgeexcellent (88 / 88)·PyneCoremodéré (91)
93 trades TV dans la fenêtre : PineForge en aligne 88 dans les tolérances strictes. PyneCore produit 91 trades (+3 sur le nombre) avec dérive du prix de sortie sur les sorties en bracket.
07-scalping-strategy
trailing stop (profil production)
PineForgeexcellent (412 / 429)·PyneCoremodéré (412)
429 trades TV : PineForge aligne 412 trades, les quatre dimensions de parité restant dans les seuils « production ». PyneCore aligne aussi 412 trades mais le p90 du prix de sortie dépasse le seuil — l'arithmétique trail_offset de l'émulateur de courtier diverge de TradingView.
49-partial-exit-qty-percent
sortie partielle (qty_percent)
PineForgeexcellent (683 / 725)·PyneCorefaible (2 671)
Le cas le plus parlant : 725 trades TV, PineForge en aligne 683 en parité stricte. PyneCore monte à 2 671 trades (~×3,7). Pourquoi ? strategy.close(qty_percent=…) éclate chaque entrée en micropartiels au lieu d'une sortie partielle unique. Issue ouverte en amont sur ce commit.
Quand choisir quoi

Nos angles morts sont publics. Les autres devraient en faire autant.

PINEFORGE SI…
  • Le déterminisme bit-à-bit est non négociable (CI, audit, SLA clients sur la parité TV).
  • Les brackets, trails et partiels doivent calquer TV — les trois stratégies ci-dessus sont les preuves.
  • Vous bombardez Optuna sur des milliers de configs et 50 k barres : il vous faut du natif compilé.
  • Vous visez un Studio web — Code · Backtest · Optimize · Compare · Reports au Q4 2026.
  • Vous comptez monétiser du Pine compilé : design chiffrement + licensing déjà documenté dans le repo moteur.
PYNECORE SI…
  • Il vous faut forward-test ou exécution courtier maintenant — PineForge arrive Q3-Q4 2026, PyneCore est déjà là.
  • Vous vivez dans NumPy/Pandas/Jupyter et refusez de quitter Python pour la boucle stratégie.
  • Les angles brackets/trails/partiels sont acceptables (85 / 100 stratégies atteignent tout de même le palier excellent malgré ces écarts).
  • L'open source OSI intégral, de bout en bout, compte plus pour vous que le source-available. PyneCore est sous licence OSI sur toute la chaîne ; chez PineForge, le moteur est en Apache-2.0 mais le codegen est source-available (PolyForm Noncommercial, gratuit pour le trading personnel) — sans approbation OSI.
  • Vous voulez contribuer dans le cœur d'exécution stratégie avec des PR qui touchent le métier.
Précision indicateurs

PineForge colle à TradingView ~100× mieux que PyneCore sur ces séries.

Dérive des indicateurs vs TradingView (plus bas = plus proche) PineForgePyneCore
ema21
1.9e-10·1.9e-8
sma21
1.9e-10·1.9e-8
rsi14
9.7e-11·9.7e-9
atr14
2.8e-10·2.8e-8
macd_line
2.3e-10·2.3e-8
macd_signal
2.4e-10·2.4e-8
bb_basis
0·0
bb_upper
1.9e-10·1.9e-8
1e-12erreur absolue · échelle log1e-7

Chiffres extraits du benchmark du dépôt à HEAD. Méthodologie

Ne vous fiez pas au tableau. Relancez le benchmark.

Tous les chiffres de cette page sont produits par la suite de benchmarks publique. Pas de config secrète, pas d'API payante, pas de snapshot magique. ~5 minutes depuis un clone vierge.

# 1. Cloner le moteur OSS + benchmarks
git clone https://github.com/pineforge-4pass/pineforge-engine
cd pineforge-engine

# 2. Récupérer l'OHLCV LFS (2,3 Mo)
git lfs install && git lfs pull

# 3. Lancer le sweep triple moteur (~5 min)
bash benchmarks/run_all.sh

# 4. Lire les résultats — le même tableau que sur cette page
cat benchmarks/results/summary.md