# PineForge > PineForge is a deterministic C++ backtesting engine with its own kernel; it runs PineScript v6 strategies through a transpiler and a Pine adapter, offline, in CI or from an AI agent. In its parity baseline of 2026-10-13, 100.00 % of 7,989 backtests graded excellent or strong against the trade lists TradingView itself exported; main engine 2608ebdd, codegen 1598e1cf. Release v1.4.0 (2026-10-08) grades 7,983 excellent / 6 strong on its own immutable baseline. PineForge transpiles a PineScript v6 strategy to C++, compiles it against the engine and runs it bar by bar on OHLCV data. The same script, data and PineForge version (engine and transpiler) give the same trades. Two ways to run it: the free hosted MCP server at `https://mcp.pineforge.dev/mcp` (no install, no API key, 100 shared backtest_pine and check_tradingview_parity calls a week per IP on the last 365 days of crypto OHLCV from 7 venues), or Docker images on your own machine and data, free for personal trading, no key and unmetered: `ghcr.io/pineforge-4pass/pineforge-release:1.4.0` from the command line and `ghcr.io/pineforge-4pass/pineforge-backtest-mcp` as a local MCP server. Business or product use needs a commercial license. Measured figures below carry their dates; [facts.json](https://pineforge.dev/facts.json) has them as data, each group with its source link. - Parity baseline, 2026-10-13: 7,989 graded backtests, 7,983 excellent (99.92 %) and 6 strong (0.08 %), 0 below strong, 0 engine errors. The scripts: 309 open reference strategies, 680 community-shared scripts (not redistributed) and 61 probe scripts the maintainers wrote, on 9 markets at 15-minute and daily bars; 4.69 million trades compared with TradingView. Main engine 2608ebdd with codegen 1598e1cf; release v1.4.0 grades 7,983 excellent / 6 strong on its own immutable baseline, pineforge-parity-baseline-20261007-engine-b3192bfc. Source: https://raw.githubusercontent.com/pineforge-4pass/pineforge-release/2b5292008ff1683df4f7d8e4d5be16d14f1eaa2e/facts/facts.json. - Upgrading to engine v1.4.0 with codegen v1.4.0: inspect supported inputs and their choices, handle coded refusals, and regenerate C++ and relink the matching engine. Affected exit and fill paths can change trades and reports. Report provenance preserves certified scalar types and unresolved values; a successful run can still have a null fingerprint. Read the paired release notes before reusing presets or comparing reports. - Excellent and strong are the top two of five grades. Over the window both trade lists cover, excellent means the same number of trades, and entry and exit prices within 0.01 % and P&L within 1 % at the 90th percentile, with at least 99 % of TradingView's closed trades matched (or at most one unmatched); strong allows wider limits, among them a trade-count difference under 6 % and at least 95 % matched (pineforge-engine scripts/verify_corpus.py). For excellent, where TradingView shows two or more distinct entry Signals at one exact time, price and direction, the engine shows as many distinct entries there (distinct-entry identity). - Open corpus: 312 public strategies with both trade lists; the engine's corpus gate (2026-09-29) grades 311 excellent and reports 1 declared anomaly, whose TradingView-side diagnosis is under review. - Bake-off, 2026-09-29: on the same 201 strategies, PineForge 201 excellent; PyneCore 6.10.3 137 excellent and 46 strong. - Speed, 2026-09-29: median 66.84 ms per 53,929-bar backtest on an AWS c7a.8xlarge; median 36× faster than PyneCore 6.10.3 over 200 strategies, with PineForge timed in-process and PyneCore as a subprocess including interpreter start-up. Not re-measured on engine v1.4.0. - Language coverage (engine v1.4.0 docs): 59 official ta.* functions and 8 ta.* series variables, strategy.* orders, arrays, maps, matrices, user-defined types and request.security; on another symbol it reads that symbol's own bars, which the caller installs through the engine's C API or gives the pineforge-release image as feeds (PINEFORGE_SYMBOL_FEEDS); the MCP servers install none, and without those bars a request whose value can reach a trade stops the run. Not every Pine v6 identifier executes; the coverage doc (https://github.com/pineforge-4pass/pineforge-engine/blob/v1.4.0/docs/coverage.md) and the MCP tool check_pine_feature answer per identifier. Drawing objects (line, box, label, linefill, chart.point) are kept as data the strategy can read back, their history included as of codegen 1.0.1; plots, tables, visual setters and alerts are accepted and have no effect: nothing is drawn. Scripts declared with indicator() are rejected. - Licenses: engine Apache-2.0; the transpiler (pineforge-codegen) PineForge Source License 1.2 from codegen 1.3.0, source-available: free for personal trading and noncommercial use, a commercial license (enterprise@pineforge.dev) for companies, funds, products, hosted services and investment management other than personal trading, which includes trading an account a proprietary-trading firm or funded-trader program provides or allocates (challenge, evaluation and simulated accounts too) or backtesting strategies for it; earlier releases keep the license they shipped with; the pineforge-release image bundles both, so its terms are theirs. - Live trading: PineForge places no orders; engine v1.4.0 includes an optional native runner, pineforge-live, behind a build option that is off by default, that sends simulated fill actions to a broker-neutral webhook; the parity scoreboard does not certify its live behavior. - Hosted paid plans (full history, hosted optimization, a hosted Studio) and a marketplace for compiled strategies are planned, with no dates. - In the browser (WebMCP): pineforge.dev registers tools on document.modelContext for the visitor's agent: get_evidence, search_gallery, get_gallery_strategy, search_site, get_setup, open_page, read_chart, join_waitlist. They answer in English with links into the site; the hosted MCP server's tools are registered too, under their own names, and run on the server. HPO 0.11.0 onward uses PineForge Source License 1.2, source-available, not open source. HPO releases through 0.10.0 remain Apache-2.0. Noncommercial use and personal trading are free under the controlling terms; investment management other than personal trading and other commercial use require a commercial license shared with codegen. [LICENSE](https://github.com/pineforge-4pass/pineforge-hpo/blob/dab7b6775588da0f112eb363a70561c212dce80b/LICENSE), [LEGAL](https://github.com/pineforge-4pass/pineforge-hpo/blob/dab7b6775588da0f112eb363a70561c212dce80b/LEGAL.md), [immutable source](https://github.com/pineforge-4pass/pineforge-hpo/tree/dab7b6775588da0f112eb363a70561c212dce80b), [release](https://github.com/pineforge-4pass/pineforge-hpo/releases/tag/v0.11.0). ```json { "source": "LICENSE and LEGAL.md at the immutable HPO release source; the completed GitHub release and attached-artifact readback are retained in the publication receipt. Offline excerpts: content/proof/sources/pineforge-hpo@0.11.0.md. This records GitHub publication, not PyPI publication.", "name": "PineForge Source License 1.2", "sinceHpo": "0.11.0", "historical": { "name": "Apache-2.0", "throughHpo": "0.10.0" }, "repo": "pineforge-4pass/pineforge-hpo", "tag": "v0.11.0", "commit": "dab7b6775588da0f112eb363a70561c212dce80b", "publishedAt": "2026-10-07T08:39:29Z", "sourceUrl": "https://github.com/pineforge-4pass/pineforge-hpo/tree/dab7b6775588da0f112eb363a70561c212dce80b", "licenseUrl": "https://github.com/pineforge-4pass/pineforge-hpo/blob/dab7b6775588da0f112eb363a70561c212dce80b/LICENSE", "legalUrl": "https://github.com/pineforge-4pass/pineforge-hpo/blob/dab7b6775588da0f112eb363a70561c212dce80b/LEGAL.md", "releaseUrl": "https://github.com/pineforge-4pass/pineforge-hpo/releases/tag/v0.11.0" } ``` General questions and support: hello@pineforge.dev Licensing, sales and partnerships: enterprise@pineforge.dev Vulnerability reports: security@pineforge.dev ## Start here - [What is PineForge](https://pineforge.dev/en/faq/#what-is-pineforge): The one-sentence definition, the parity headline and the two ways to run it. - [Install](https://pineforge.dev/en/faq/#install): The hosted MCP server in one command, or the release image on your own data in two. - [Home](https://pineforge.dev/en/): PineScript v6 compiled to C++, backtests graded trade by trade against TradingView's own trade lists, run offline, in CI or from an AI agent. - [AI assistants (MCP)](https://pineforge.dev/en/ai/): Setup for Claude Code, Claude Desktop, Cursor and any MCP client: the hosted server (12 tools) and the local Docker server (11 tools), with every tool described. - [Hosted MCP server](https://mcp.pineforge.dev/mcp): The endpoint itself. MCP clients connect over Streamable HTTP; a browser gets the server's own setup page. - [Offline backtesting](https://pineforge.dev/en/pine-script-backtest-offline/): The pineforge-release Docker image on your own OHLCV CSV: the input format, the three steps and the JSON report. - [CI / GitHub Actions](https://pineforge.dev/en/pine-script-ci/): A workflow that fails the build when a strategy's trades drift from a committed baseline. - [Pricing](https://pineforge.dev/en/pricing/): What is free today (the hosted MCP server, the local Docker images, the transpiler for personal trading) and what needs a license. - [FAQ](https://pineforge.dev/en/faq/): Accuracy, installation, limitations, live trading, licensing, PyneCore, TradingView, and what happens if PineForge stops. ## Evidence - [How accurate is PineForge](https://pineforge.dev/en/faq/#accuracy): The parity result in one answer, with what excellent and strong mean. - [Methodology](https://pineforge.dev/en/methodology/): How parity is measured: the tier rubric, the parity baseline, the open-corpus gate, the bake-off and the speed benchmark, each with its source and commit. - [Compare](https://pineforge.dev/en/compare/): PineForge and PyneCore on the same 201 strategies (vectorbt on the 13 with a hand-written port), where the grades differ and why, and how to reproduce the public half. - [Gallery](https://pineforge.dev/en/gallery/): The 312 open-corpus strategies, each with its equity curve and both trade lists. - [How the parity backtests are graded](https://pineforge.dev/en/blog/how-7989-backtests-are-graded/): How each backtest's trades are paired with TradingView's, what the five grades mean and their limits, and how a code change is judged. - [Why TradingView shows one more trade than your backtester](https://pineforge.dev/en/blog/positions-open-when-the-data-ends/): The extra row is a position still open when the data ends, booked at the last bar's close, and how PineForge books it. - [One request.security on another symbol](https://pineforge.dev/en/blog/request-security-on-another-symbol/): What a backtest needs to run a script that reads a second market, what happens without its bars, and what the Docker image and the MCP servers supply. - [facts.json](https://pineforge.dev/facts.json): The site's headline figures as data, each group with its date, its source at the pinned commit and the page that explains it. - [llms-full.txt](https://pineforge.dev/llms-full.txt): The full reference: the site's content and the whole FAQ in one text file. ## Source code - [pineforge-engine](https://github.com/pineforge-4pass/pineforge-engine): The Apache-2.0 C++17 backtest runtime, its benchmarks and the parity scoreboard. - [pineforge-codegen-oss](https://github.com/pineforge-4pass/pineforge-codegen-oss): The PineScript v6 to C++ transpiler; `pip install pineforge-codegen` (a Python API, no CLI). - [pineforge-release](https://github.com/pineforge-4pass/pineforge-release): The engine and the transpiler in one Docker image: strategy.pine and ohlcv.csv in, a JSON report out. - [pineforge-backtest-mcp](https://github.com/pineforge-4pass/pineforge-backtest-mcp): The local MCP server as a Docker image, engine and transpiler bundled; its npm package is `@pineforge/backtest-mcp`. - [pineforge-corpus](https://github.com/pineforge-4pass/pineforge-corpus): The 312 reference strategies behind the corpus gate, public and reproducible. - [MCP server card](https://pineforge.dev/.well-known/mcp/server-card.json): The hosted server's name, version, transport and endpoint as JSON. ## Optional - [Why we built it](https://pineforge.dev/en/why/): Why a new runtime instead of PyneCore or Backtrader, and how the last parity gaps were closed. - [For teams](https://pineforge.dev/en/for-teams/): Release binaries with checksums, on-premises runs and commercial terms for the transpiler. - [Sell strategies](https://pineforge.dev/en/sell/): The planned marketplace for compiled strategies with seller-set licenses; not built, seller waitlist open. - [Company](https://pineforge.dev/en/company/): Who builds PineForge: PineForge, LLC (Delaware) and 全都盈資訊股份有限公司 (Taiwan), led by Hao-Liang Wen, and its milestones, each with its date and public record. - [Blog](https://pineforge.dev/en/blog/): Engineering posts on Pine semantics, parity and transpiler design; each post dates its measurements. - [Contact](https://pineforge.dev/en/contact/): One form for support, enterprise and security. - [Privacy](https://pineforge.dev/en/privacy/): What PineForge collects on the site and the hosted MCP server, how long it keeps it and who processes it.