Comparativa de motores · v0.8.0 · benchmark de 100 estrategias

PineForge vs PyneCore.
Reproducible, sin retórica.

Cada número de esta página sale de bash benchmarks/run_all.sh en el repositorio público pineforge-engine, sobre el mismo feed de Binance ETH/USDT 15m con 53.930 barras. Reprodúcelo en ~5 minutos desde un clon limpio, sin llamadas a APIs externas.

Cara a cara

Lo que cada motor te entrega de verdad.

CapacidadPineForgeTradingViewPyneCore
Backtests byte-reproducibles
Runtime compilado nativo
245/246 strict TV parity
Vender estrategias como binarios
Licencias de vendedor por tiempo
Licencias ligadas a máquina
Runtime de código abierto auditable
Corre en tus datos, tu máquina
Reproducibilidad nivel auditoría
Integraciones nativas con brókers
Grado de coincidencia en 100 estrategias

Cuántas de 100 alcanzan el nivel excelente frente a TradingView.

C++ static lib
PineForge
100 / 100
Excelente100Fuerte0Moderado0Débil0
Python (PyneSys cloud-compiled)
PyneCore
85 / 100
Excelente85Fuerte2Moderado10Débil3
TypeScript (LuxAlgo)
PineTS
solo indicadores
Motor de backtesting de estrategiasIndicadores por barra10/10 indicadorescoincidencia

La ejecución de estrategias está en el roadmap de PineTS. Medimos precisión de indicadores contra PineTS para triangular divergencias de coma flotante.

Los niveles siguen el barrido canónico de paridad PineForge: excelente = las cuatro dimensiones (delta de conteo, p90 de entrada, p90 de salida, p90 de P&L) dentro de umbrales estrictos y ≥95% de operaciones coincidentes; fuerte dentro de 5× el estricto; moderado / débil / mínimo descienden a partir de ahí. Las estrategias con salidas trail_* de TradingView usan el perfil de umbrales de producción (tolerancias más laxas en salida y P&L).

El delta de 3 estrategias

Tres estrategias acaparan toda la luz.

En 85 de 100 estrategias de referencia, PineForge y PyneCore coinciden en excelente. La diferencia de 15 no es aleatoria: cada divergencia cae en la misma categoría: salidas tipo bracket, trailing stops o cierres parciales de posición. El emulador de bróker de PyneCore difiere de TV en estos casos; PineForge replica TV operación por operación.

06-liquidity-sweep
bracket exit
PineForgeexcelente (88 / 88)·PyneCoremoderado (91)
93 operaciones TV en la ventana. PineForge coincide con 88 dentro de la tolerancia estricta. PyneCore genera 91 operaciones: deriva de +3 en el recuento más deriva del precio de salida en stops tipo bracket.
07-scalping-strategy
trailing stop (production thresholds)
PineForgeexcelente (412 / 429)·PyneCoremoderado (412)
429 operaciones TV en la ventana. PineForge: 412 coincidentes, las cuatro dimensiones dentro del perfil de producción. PyneCore: mismo número de coincidencias pero p90 de salida fuera del umbral: la aritmética trail_offset del emulador diverge de TV.
49-partial-exit-qty-percent
partial close (qty_percent)
PineForgeexcelente (683 / 725)·PyneCoredébil (2,671)
La divergencia más clara del corpus. 725 operaciones TV; PineForge coincide con 683 en paridad estricta. PyneCore genera 2,671 operaciones — 3.7× el recuento correcto. Causa raíz: strategy.close(qty_percent=…) en PyneCore parte cada entrada en sub-salidas por porcentaje en lugar de un único cierre parcial. Incidencia upstream abierta en este commit.
Dónde gana cada motor

No ocultamos nuestras lagunas; ni ellos deberían hacerlo.

ELIGE PINEFORGE CUANDO
  • Necesitas determinismo reproducible a nivel de bytes (puertas de CI, auditorías, garantías de paridad ante clientes).
  • Te importa semántica fiel a TV en brackets, trailing y cierres parciales. Las tres estrategias de arriba lo dejan clarísimo.
  • Necesitas velocidad nativa compilada para barridos de parámetros (Optuna sobre miles de combinaciones en feeds de 50k barras).
  • Quieres Studio alojado más adelante: pestañas de código · backtest · optimización · comparación · informes en Q4 2026.
  • A futuro quieres vender estrategias compiladas. El diseño de distribución cifrada + servidor de licencias está en el repo público del motor.
ELIGE PYNECORE CUANDO
  • Necesitas forward-testing o ejecución en vivo con bróker hoy. PineForge lo ofrecerá en Q3–Q4 2026; PyneCore ya lo tiene.
  • Quieres todo el camino de ejecución en Python (NumPy/Pandas, iteración en Jupyter).
  • Te encajan las salvedades bracket/trail/partial-exit (85/100 estrategias siguen alcanzando el nivel excelente pese a ellas).
  • El código abierto OSI de punta a punta te importa más que lo source-available. PyneCore tiene licencia OSI de principio a fin; el motor de PineForge es Apache-2.0, pero el codegen es source-available (PolyForm Noncommercial, gratis para trading personal) — sin aprobación OSI.
  • Contribuyes de forma intensa y buscas que tus pull requests entren directamente en la ruta de ejecución de estrategias.
Precisión de indicadores

PineForge está dos órdenes de magnitud más cerca de TradingView que PyneCore.

Deriva de indicadores frente a TradingView (menor = más cerca) 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-12error abs · escala log1e-7

Cifras de deriva del barrido integrado en HEAD. Metodología

No te fíes de la tabla. Reprodúcela .

Todo sale de la suite pública de benchmarks. Sin configuraciones ocultas, sin API keys, sin trucos de snapshots commiteados. ~5 minutos desde un clon limpio.

# 1. Clona el motor público y la suite de benchmarks
git clone https://github.com/pineforge-4pass/pineforge-engine
cd pineforge-engine

# 2. Trae el OHLCV en LFS (2.3 MB)
git lfs install && git lfs pull

# 3. Ejecuta el barrido triple completo (~5 min)
bash benchmarks/run_all.sh

# 4. Lee resultados — misma tabla que ves aquí
cat benchmarks/results/summary.md