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 許可證發佈。