{"repo":"be-thomas/OpenPineScript","free":true,"listed":false,"github":"https://github.com/be-thomas/OpenPineScript","clone":"git clone https://github.com/be-thomas/OpenPineScript.git","description":"OpenPineScript is an open-source runtime for Pine Script code, providing a free and extensible platform to execute and experiment with Pine Script in diverse environments. Built with Typescript, it enables developers to work with Pine Script code without proprietary restrictions.","language":"TypeScript","stars":55,"topics":["algorithmic-trading","backtesting","compiler","fintech","javascript","pinescript","technical-analysis","tradingview"],"license":"GPL-3.0","category":"trading","readme_excerpt":"OpenPineScript An open-source engine that runs Pine Script locally. It compiles .pine source to JavaScript and executes it against your own OHLCV data — no cloud account, no execution quotas, no 500 ms loop timeout. Requires Node.js 20+. Status Pine Script v1 and v2 are implemented and passing 393 tests. That covers the full v2 language, roughly 130 standard-library functions, the strategy broker emulator, multi-timeframe security() , and the real-time tick model. The //@version annotation selects the language version; a script without one is v1. A script declaring a version that is not implemented is refused rather than run under the wrong rules. Version State --------- ------- v1 Implemented — TradingView states v1 and v2 are the same language, and the test suite asserts that over the whole corpus v2 Implemented v3 Planned — a five-item delta from v2 v4 Planned — var , while , switch , arrays, drawings, namespace migration v5 Planned — ta. / math. namespaces, matrices, maps, user-defined types, libraries The plan for v1–v5 lives in dev-docs/: an architecture assessment, a version delta spec sourced from TradingView's migration guides, and a 16-iteration roadmap. Install npm install runs generate:parser , which builds the ANTLR parser from grammar/ . Run a script REPL Inspect the generated JavaScript Every identifier is prefixed to avoid collisions with the sandbox, and every stateful call carries its source location so per-call-site state (indicator lookback buffers, for ex","default_branch":null,"files":null,"tree":[],"storefront":"/r/be-thomas","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/be-thomas/OpenPineScript/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}