Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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)?;
```
Loading