Saltar al contenido
Cómo medimos la paridad

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.

15 minutosDiarioETHUSDT.PBTCUSDTOtros
15 minutosDiarioETHUSDT.PBTCUSDTOtros

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.

MercadoTemporalidadEvaluadosExcelenteFuerte
ETHUSDT.P15 minutos100910090
BTCUSDT15 minutos6686662
BTCUSDTDiario5165160
ETHUSDT.PDiario5405400
Otros15 minutos308130774
OtrosDiario217521750

Los criterios de nivel

Los umbrales de los niveles excelente y sólido. Para el nivel excelente, cuando TradingView muestra dos o más Signals de entrada distintos en el mismo instante exacto, al mismo precio y en la misma dirección, el motor muestra allí el mismo número de entradas distintas (identidad de entradas distintas).
UmbralExcelenteFuerte
Diferencia en el número de operaciones0< 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.