167 支策略:用數字看懂全貌
PineForge 對齊題庫裡有什麼:依類別、標的與複雜度拆解。像博物館導覽一樣讀畫廊。
數字已依 2026-05-09 的語料規模更新(參照策略 167 支,其中 165 支為嚴格對齊)。
說「167 支裡有 165 支通過嚴格對齊」只有在你知道 這 167 支到底是什麼 時才有意義。下面當作參觀畫廊的導覽來讀。
為什麼需要固定語料
沒有固定的參照集合,「對齊」只是一種感覺。跑幾條策略覺得差不多就出貨,使用者一旦用上 OCA 出場組或在迴圈裡呼叫 request.security,立刻對不上。Bug 一直都在,只是你從沒專門測過。
凍結語料會改變遊戲規則。每次引擎發布都用 同一套 167 支、同一份規範 OHLCV。通過數上升代表有改善;下降代表進了回歸。這套語料披著回測展間的外衣,本質是 迴歸安全網。
這 167 支也扮演 公開背書:我們把交易筆數、總報酬、Sharpe 等指標提交到畫廊,任何人都能看到引擎真實產出。這和新聞稿裡「宣稱對齊」不是一回事。
三個資料夾
語料分成 basic、community、validation。這不是品質排名,而是說明 腳本從哪來、主要壓測什麼。
basic — 9 支
經典教科書型策略:均線交叉、Supertrend、Stochastic Slow、拋物線 SAR、肯特納通道、Inside Bar、唐奇安突破、波動擴張等。任何入門量化課都會先碰到這類例子。
放進語料是因為 編譯器最先在這裡出糗:若連 MACD 交叉都對不出交易清單,別的就更不可信。basic 是理智檢查層。
這 9 支的交易筆數從 14(非常挑剔的動量策略 greedy)到 7,580(15 分鐘 K 上頻繁觸發的波動擴張策略)。在所謂「簡單」類別內部就有約 500 倍跨度——更多反映 選擇性,而不是抽象的複雜度。
community — 11 支
來自社群的實戰 Pine 腳本。作者各異,程式風格、builtins 用法、倉位與出場配線上的邊角都不一樣。
11 支裡包括 4-EMA+RSI 過濾、類 BOS 曲線偵測、流動性掃單、MarketShift 趨勢跟隨、VCP、IES 等。交易筆數從 71(非常挑剔的型態掃描 VCP)到 2,541(幾乎每根 K 都觸發的 IES)。報酬跨度也很大:MarketShift 在視窗內 +$3,231,IES **−$162,977`。進語料不代表策略賺錢,只代表能編譯、能產生交易。
社群腳本是最難維持對齊的一類。作者多樣性會榨出驗證套件未必預料得到的 Pine 組合。我們發現新的對齊裂縫時,往往 先在這裡出現。
validation — 147 支
167 支裡有 147 支在這裡。它們是 合成策略:目的不是賺錢,而是證明某條 Pine 語意是否正確落到 C++。
舉例:
49-partial-exit-qty-percent— 測strategy.exit(qty_percent=...)分批平倉;若出場成交過度發射,會被它抓住。request.security各種變體 — 多週期引用是否在正確 K 線上解析,含lookahead=barmerge.lookahead_off與否。- OCA 出場組 — 一筆出場觸發後,競爭出場是否被取消。
- 移動停損變體 — 跳空、限價成交之下,高點追蹤是否正確。
- UDT 方法 — Pine v6 使用者自定義型別方法是否編譯成預期的 struct 操作。
「這條策略過了,功能 X 就算涵蓋」在我們往資料夾裡加東西時是顯式約定的。社群腳本暴露新角點時,通常會寫一個最小合成 repro 放進 validation。
數字長什麼樣
目前 167 支都在同一標的、同一週期:ETHUSDT 15 分鐘。這是刻意約束:單一規範 OHLCV 讓跨策略比較有意義,也把資產特有因素從對齊分析裡拿掉。
交易筆數分布:
語料的中位數是 757 筆交易;最少 14(greedy),最多 11,218。這種分散在對齊測試裡很重要:14 筆的策略若錯一筆出場,誤差率約 7%;5,000 筆量級上,多數成交仍可能對,但會在匯總指標裡露出來。
Sharpe 分布:
語料裡的 Sharpe 普遍低於精選策略庫。多數條目是為 Pine 功能涵蓋面入選,而不是為風險調整後報酬。167 支的中位 Sharpe 是 0.023;視窗內總報酬為正的有 109 支,負的有 58 支。
我們在畫廊裡 誠實呈現這些數字,而不是只篩選「好看」的策略。若是找靈感,看報酬與 Sharpe 欄就夠。若是做 對齊驗證,絕對數值次要——關鍵是 PineForge 與 TradingView 是否給出 相同 數字。
進入語料的四條要求
- 能在 PineForge codegen 下編譯。 編不過就談不上測試;門檻比聽起來高:不少社群腳本
import了尚未納入支援子集的函式庫。 - 在規範 OHLCV 上至少產生 1 筆交易。 只編譯從不入場,就無法與任何交易清單做 diff。
- 有 TradingView 參照 CSV。 每條語料策略都有來自 TV「交易清單」匯出的
engine_trades.csv,並依 OHLCV 跨度裁剪。這是引擎輸出要比對的地面真值。 - 引擎輸出與 Pine 原始碼一併提交。 畫廊從這些已提交的快照提供內容,而不是即時生成——反映策略加入或最後更新那天的引擎輸出。
為什麼只發彙總、不發全部原始碼
畫廊公布交易筆數、報酬、Sharpe、迷你走勢圖等,但 不會 對所有策略公開 Pine 原始碼或原始 engine_trades.csv。
原因很簡單:社群腳本有原作者,我們沒有一槍打尽的再散佈權;TV 的 CSV 匯出也受各自服務條款約束;內部 LEGAL.md 與之對齊。
我們能發布、也確實發布的是 彙總統計與視覺化產物:sparkline、對齊 tier 徽章、畫廊詮釋資料。它們足夠「是我們的衍生成果」,又足夠具體可核驗:只要你有 TV Premium 帳號和同一份 Pine,就能重現同一交易清單,與我們提交的輸出自行比對。
畫廊服務誰
獨自翻點子的人。 167 支涵蓋進場、出場與指標類型的足夠變化,瀏覽一圈能大致了解「今天引擎能編譯跑通的世界長什麼樣」。依報酬排序、依類別篩選、看 sparkline。
要核對對齊主張的工程師。 想知道 PineForge「165 / 167 嚴格對齊」是否站得住,從這裡入門:每張卡片有 tier 與已提交的交易筆數。tier 如何評定見 PyneCore 交叉驗證。
引擎發布的 CI 基準。 每次發布前跑完整 167 支掃掠;畫廊快照是最近一次提交的基準。若某條語料策略輸出變了,會在出貨前被 diff 抓住。
接下來
- 瀏覽完整畫廊 — 全部 167 支,可依類別、交易筆數、報酬排序與篩選。
- 試用 codegen API — 在 Claude 或 Cursor 裡一次工具呼叫即可轉譯 Pine 並在自有 OHLCV 上執行。
- 申請 early access — 免費檔每月 100 次轉譯,足夠搭自己的本地語料。