From 0234eaab5a72c7a8f3efa5762d08c035e1392821 Mon Sep 17 00:00:00 2001 From: Ferran Borreguero Date: Fri, 13 Feb 2026 19:45:25 +0800 Subject: [PATCH] Update readme --- README.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ba2d65f..6df0184 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,28 @@ # PineVM -Parser for the PineScript language. +A modular PineScript interpreter written in Rust. + +PineVM executes PineScript code (TradingView's scripting language) with support for technical analysis, custom indicators, and strategy backtesting. The interpreter is designed to be extensible - you can add custom builtin functions and output types to integrate with your own systems. + +## Features + +- Full PineScript v5 language support +- Technical analysis functions (moving averages, oscillators, etc.) +- Drawing objects (plots, labels, boxes) +- Modular output system - extend with [custom types and builtins](examples/custom-builtin-func) +- Type-safe generic architecture + +## Example + +```rust +use pine::Script; + +let script = Script::compile(r#" + fast_ma = ta.sma(close, 10) + slow_ma = ta.sma(close, 20) + plot(fast_ma, color=color.blue) + plot(slow_ma, color=color.red) +"#)?; + +let output = script.execute(&bar)?; +```