Skip to content

简介

OpenPine 是 TradingView Pine Script v6 的开源实现,使用 Rust 编写。它提供了一套完整的流水线,可以在 TradingView 之外解析、类型检查、编译和执行 Pine 脚本。

什么是 Pine Script?

Pine Script 是 TradingView 创建的编程语言,用于编写自定义技术分析指标和交易策略。它被设计为简单而强大,采用逐 K 线执行模型,脚本每次处理一根 K 线。

什么是 OpenPine?

OpenPine 将 Pine Script 语言作为一个独立的、可嵌入的引擎提供。你可以:

  • 运行 Pine 脚本 — 使用你自己的 K 线数据,收集输出(绘图、警报、策略订单)
  • 嵌入引擎 — 在 Rust、C 或 C++ 应用程序中使用
  • 使用 LSP — 获得编辑器支持,包括诊断、补全、悬停提示、跳转到定义等
  • 扩展 — 添加自定义原生函数和库加载器

架构

处理流水线如下:

OpenPine 处理流水线OpenPine 处理流水线

每个阶段对应一个独立的 crate:

Crate作用
openpine-parser基于 nom 的解析器,生成带 span 标注的 AST
openpine-visitor语义分析、类型检查、名称解析
openpine-compilerAST 到 VM 指令,包含 3 个优化遍
openpine-vm逐 K 线运行时引擎
openpine-loader模块解析(imports、prelude、stdlib)
openpine-builtins内嵌的 prelude 和 stdlib Pine 源文件
openpine-lsp语言服务器协议实现
openpine-capiC/C++ FFI 绑定

当前状态

  • 语言版本:仅支持 Pine Script v6
  • 目标:运行 Pine 脚本,生成绘图/警报/策略事件,支持常用标准库函数
  • 状态:正在积极开发中;部分功能尚未完成或可能与 TradingView 的行为有所不同

下一步

  • 快速开始 — 构建并运行你的第一个脚本
  • 语言基础 — 学习 OpenPine 中的 Pine Script 语法
  • 集成 — 将引擎嵌入你的 Rust 应用程序

基于 MIT 许可证发布。