7989 backtests evaluados, 100,00 % excelentes o sólidos
Frente a las propias operaciones de TradingView: 7983 excelentes y 6 sólidos; ninguno por debajo.
Toca o arrastra sobre el gráfico para ver cualquier punto.
Fuente: línea base de paridad pineforge-parity-baseline-20261103-release-tag-3d8717c4, 2026-11-03. Cómo evaluamos
El gráfico en formato de tabla
Cada marca es un script de estrategia en un mercado y una temporalidad; las 6 en ámbar obtuvieron la calificación de sólido, y las otras 7983, la de excelente.
| Mercado | Temporalidad | Evaluados | Excelente | Fuerte |
|---|---|---|---|---|
| ETHUSDT.P | 15 minutos | 1009 | 1009 | 0 |
| BTCUSDT | 15 minutos | 668 | 666 | 2 |
| BTCUSDT | Diario | 516 | 516 | 0 |
| ETHUSDT.P | Diario | 540 | 540 | 0 |
| Otros | 15 minutos | 3081 | 3077 | 4 |
| Otros | Diario | 2175 | 2175 | 0 |
El gráfico en formato de tabla
Comprobación de paridad del corpus abierto con el motor en main, 2026-09-29: 311 de 312 estrategias excelentes; la restante es una anomalía declarada.
| Grupo | Estrategias | Excelente | Anomalía declarada |
|---|---|---|---|
| Estrategias compuestas | 53 | 53 | 0 |
| Indicadores | 79 | 79 | 0 |
| Órdenes y riesgo | 77 | 77 | 0 |
| Temporalidades y sesiones | 28 | 28 | 0 |
| Ejecuciones intrabarra | 8 | 8 | 0 |
| Lenguaje Pine | 56 | 56 | 0 |
| Comprobaciones del analizador | 11 | 10 | 1 |
El gráfico en formato de tabla
Un tramo por estrategia, en el mismo orden en todas las líneas: cada caída es una estrategia calificada por debajo de excelente y, cuanto más profunda es, más baja es su calificación.
| Calificación | PineForge | PyneCore |
|---|---|---|
| Excelente | 201 | 137 |
| Fuerte | 0 | 46 |
| Moderado | 0 | 12 |
| Débil | 0 | 4 |
| Mínimo | 0 | 1 |
| Sin lista de operaciones | 0 | 1 |
El gráfico en formato de tabla
Cada marca es una de las 200 estrategias cronometradas en ambos motores, situada según su aceleración exacta en escala logarítmica.
| Posición | Aceleración |
|---|---|
| 1 | 2,5× |
| 26 | 21× |
| 51 | 26,2× |
| 76 | 31,2× |
| 101 | 36× |
| 125 | 47,4× |
| 150 | 55,3× |
| 175 | 71,5× |
| 200 | 1307× |
El gráfico en formato de tabla
En BOScurv: Linreg slope channel, 857 de 857 operaciones emparejadas son idénticas. Los umbrales se aplican al percentil 90 de las operaciones emparejadas; la mayor diferencia se muestra aparte. Sin emparejar: proporción de operaciones de TradingView sin equivalente en PineForge.
| Criterio | Excelente | Fuerte | Esta estrategia | Mayor diferencia |
|---|---|---|---|---|
| Número de operaciones | 0 | < 6 % | 0 % | |
| Precio de entrada | < 0,01 % | < 0,1 % | 0 % | 0 % |
| Precio de salida | < 0,01 % | < 0,5 % | 0 % | 0 % |
| P&L | < 1 % | < 100 % | 0 % | |
| Sin emparejar | ≤ 1 % | ≤ 5 % | 0 % |
Los criterios de nivel
| Umbral | Excelente | Fuerte |
|---|---|---|
| Diferencia en el número de operaciones | 0 | < 6 % |
| Precio de entrada, percentil 90 | < 0,01 % | < 0,1 % |
| Precio de salida, percentil 90 | < 0,01 %* | < 0,5 % |
| P&L, percentil 90 | < 1 %* | < 100 % |
| Operaciones de TradingView emparejadaso como mucho una sin emparejar | ≥ 99 % | ≥ 95 % |
Cómo se mide
Cada cifra de este sitio sale de una de las mediciones siguientes. Cada sección explica qué se mide, cómo se evalúa y dónde está la fuente.
Cada backtest se evalúa frente a la lista de operaciones que el propio TradingView exportó para el mismo script, mercado y temporalidad. Cada operación de TradingView se empareja con la operación del motor más cercana en la misma dirección que haya entrado con una diferencia máxima de una hora respecto a ella y a un precio de entrada que no difiera en más de 3 dólares. Los umbrales de número de operaciones, precio y P&L se calculan sobre la ventana que cubren ambas listas; la cobertura cuenta todas las operaciones cerradas de TradingView.
Por debajo de sólido están moderado, débil y mínimo.
*Las estrategias que usan salidas trail_* se evalúan con un perfil de producción, que absorbe la deriva de las ejecuciones de TradingView dentro de la barra en esas salidas: salidas con un margen del 0,05 % y P&L del 100 %.
La línea base de paridad
Cómo se mide
Línea base actual de main: pineforge-parity-baseline-20261103-release-tag-3d8717c4, 2026-11-03, motor 59f98ba8 e instantánea 3d8717c4. Resultados de la versión publicada v1.10.0: 7983 excelentes y 6 sólidos. Cómo evaluamos
Una sonda es un script de estrategia en un mercado y una temporalidad, evaluado frente a la lista de operaciones que el propio TradingView exportó para ese gráfico.
La línea base del 2026-11-03 evalúa 7989 sondas. Por un lado, 309 estrategias de referencia abiertas del corpus público, con una sonda cada una; por otro, las 7680 sondas de la prueba cerrada, con 741 scripts de TradingView: 680 scripts compartidos por la comunidad en la biblioteca pública de TradingView (7179 sondas) y 61 scripts de sonda escritos por los mantenedores (501 sondas). Se ejecutan en 9 mercados y 2 temporalidades, de 15 minutos y diaria. Entre todas las sondas, las operaciones cotejadas con TradingView suman 4.692.951. El total cuenta una sola vez las operaciones de cada sonda evaluada; una posición cerrada por partes cuenta como una operación; se excluyen las operaciones que siguen abiertas al final de la lista de TradingView.
Los mercados cripto: BTCUSDT (Binance al contado) y ETHUSDT perpetuo (Binance). Hay 4758 sondas en gráficos de 15 minutos y 3231 en gráficos diarios.
Resultado: 7983 excelentes (99,92 %) y 6 sólidas (0,08 %), es decir, el 100,00 % son excelentes o sólidas. Ninguna queda por debajo de sólido y ninguna produjo un error del motor. Se excluyen de la evaluación 17 sondas cuya exportación de TradingView muestra un defecto del lado de TradingView (8006 en la población).
La línea base actual de main se estableció el 2026-11-03, con el motor 59f98ba8 y el codegen 47f0e8a5. La versión v1.10.0 de motor y codegen se evalúa con su propia línea base inmutable, pineforge-parity-baseline-20261103-release-tag-3d8717c4 (2026-11-03): 7989 sondas —7983 excelentes y 6 sólidas—. Ninguna línea base posterior de main cambia estos resultados.
Fuente: registros internos, no públicos, de paridad; línea base pineforge-parity-baseline-20261103-release-tag-3d8717c4 (instantánea sha256 3d8717c4…73ad, población cf857209…b062); origen de scripts: pineforge-engine README.md, d1d18867; operaciones: pineforge-release facts.json.
El control del corpus abierto
Cómo se mide
pineforge-corpus es un conjunto público de 312 estrategias de referencia con licencia Apache-2.0. Cada una incluye su código Pine, el C++ que el codegen 1.0.1 generó a partir de él, la lista de operaciones exportada por TradingView y la del motor, para que cualquiera pueda compararlas; las listas del motor se generaron con el motor v1.0.1 a partir de ese C++.
La comprobación de paridad del corpus que hace el motor en main fija el resultado: 311 de 312 excelentes. La restante, anomaly-equity-mirror-strategy-equity-01, está declarada como anomalía en el corpus, así que la comprobación la señala como anomalía, no como fallo. Las notas del corpus recogen el diagnóstico original: con exactamente 1× el capital, la comprobación de margen de TradingView admitió algunas entradas por encima del capital y rechazó otras por debajo. Ese diagnóstico está en revisión, porque la línea base de paridad del 2026-11-03 calificó esta sonda como excelente. La versión v1.10.0 incluye la comprobación.
La comparativa de motores
Cómo se mide
Se ejecutan 201 estrategias (100 del corpus abierto y 101 scripts cerrados de la comunidad) sobre la misma serie de ETHUSDT de 15 minutos con 53.929 barras en PineForge, en PyneCore y, en el caso de las 13 estrategias con una adaptación escrita a mano, en vectorbt. Las operaciones de cada motor se evalúan frente a la exportación de TradingView con los criterios anteriores.
La comparativa se midió el 2026-09-29 con el motor 35db01c8, el codegen 121b3e6a y PyneCore 6.10.3; el motor v1.10.0 se publicó después y los niveles no se volvieron a medir con esa versión. PineForge: 201 excelentes. PyneCore: 137 excelentes, 46 sólidas, 12 moderadas, 4 débiles, 1 mínima y 1 sin lista de operaciones, cuyo código fuente rechaza el compilador de PyneSys. vectorbt: 4 excelentes, 6 sólidas, 2 moderadas, 1 débil. Solo en las 100 estrategias del corpus abierto, PineForge obtiene 100 excelentes y PyneCore, 86 excelentes, 12 sólidas, 1 moderada y 1 débil.
Los valores de los indicadores (10 series de 6 llamadas ta.*) coinciden entre PineForge, PyneCore y PineTS con una diferencia relativa de aproximadamente 1e-10 en el percentil 90. Esto compara los motores entre sí, no con TradingView.
La mitad pública se reproduce desde un clon limpio y sin claves de API: bash benchmarks/run_all.sh en pineforge-engine. Los scripts de la mitad cerrada no se redistribuyen.
El benchmark de velocidad
Cómo se mide
En una instancia AWS c7a.8xlarge (AMD EPYC 9R14, 32 núcleos, SMT desactivado) bajo Ubuntu 24.04, con cada proceso de medición anclado a núcleos fijos y la lupa de barras activada, un backtest completo sobre la serie de 53.929 barras le lleva a PineForge una mediana de 66,84 ms (de 29,2 ms a 848 ms en las 201 estrategias), es decir, una mediana de 806,8 mil barras por segundo. Medido el 2026-09-29 con el motor 35db01c8; el motor v1.10.0 se publicó después y los tiempos no se volvieron a medir con esa versión.
La aceleración mediana frente a PyneCore 6.10.3 es de 36× en las 200 estrategias que ejecutaron ambos motores (15× en el percentil 5 y 131× en el 95); PyneCore tarda una mediana de 2629 ms por estrategia. PineForge se cronometra en el mismo proceso con Google Benchmark; PyneCore, como subproceso, así que su tiempo transcurrido incluye el arranque del intérprete. En las 13 estrategias con una adaptación a vectorbt, la aceleración mediana de PineForge es de 4,2×, y vectorbt es más rápido en 2 de ellas. Con la lupa de barras desactivada, el paquete de medición de rendimiento alcanza una mediana de 780 mil barras por segundo por estrategia.