ForexCodes-hq/pine-validator

GitHub: ForexCodes-hq/pine-validator

一款针对 TradingView Pine Script v6 的确定性静态分析库,用于检测未来函数、重绘、版本规范及风险控制失效等「能编译却在撒谎」的正确性缺陷。

Stars: 1 | Forks: 0

# @forexcodes/pine-validator 针对 **TradingView Pine Script v6** 的确定性静态分析——捕获那些可以*通过编译*却在撒谎的正确性 bug:未来函数、重绘、版本规范问题以及失效的风险控制。 无需联网。无依赖。您的代码绝不会离开本机。这与驱动 [forexcodes.com](https://forexcodes.com) 和 ForexCodes VS Code 扩展的是同一套引擎——现已开源,以确保检查过程透明。 ## 为什么需要 一段 Pine 脚本可以通过编译、完美绘图,却依然会误导您:它可能偷看未来的 K 线、在 K 线收盘后重绘信号,或者暴露一个从未绑定到退出的“Stop %”输入。这些都不会表现为编译错误——它们只会在日后暴露,体现为实盘行为与回测不符。本库正是用来标记这些问题的。 ## 检查内容 | 代码 | 规则 | 示例 | |------|------|---------| | `L1` | 未来函数 | `request.security(..., lookahead=barmerge.lookahead_on)` 未带有 `[1]` 偏移量;负历史偏移量 | | `R1` | 重绘 | 未使用 `barstate.isconfirmed` 门控的未成型 K 线信号;`varip` / `timenow` 状态 | | `L3` | 回测/实盘背离 | 在 strategy 上使用 `calc_on_every_tick=true` | | `C1` | 版本规范 | 缺失 `//@version=6`;未命名空间的 `rsi`→`ta.rsi`;已弃用的 `study()` / 裸露的 `security()` | | `IN` | 意图不匹配 | 声明了止损/风险 `input` 却从未传递给 `strategy.exit(stop=...)` | 设计上保持保守——误报和漏报一样糟糕,因此它会剔除注释/字符串,跳过用户自定义名称,并且绝不会匹配带点限定的调用。 ## 用法 ``` import { validate, looksLikePine } from "@forexcodes/pine-validator"; const code = `//@version=6 strategy("EMA cross", overlay=true) htf = request.security(syminfo.tickerid, "240", close, lookahead=barmerge.lookahead_on) if ta.crossover(ta.ema(close,12), ta.ema(close,26)) and close > htf strategy.entry("Long", strategy.long)`; if (looksLikePine(code)) { const { findings, counts, verdict } = validate(code); console.log(verdict); // "NEEDS FIXES — critical correctness issue(s)" console.log(counts); // { critical: 1, high: 0, medium: 0, info: 0 } for (const f of findings) console.log(`L${f.line} ${f.code}: ${f.message}`); } ``` `validate(code)` 返回 `{ findings, counts, verdict }`。每个发现(finding)包含 `{ code, rule, severity, line, message, fix }`。 ## 需要更多功能? 这是确定性核心。如需 AI 增强解释、一键修复、可共享的 **Strategy Health Score™** 徽章以及 MetaTrader (MQL4/MQL5) 支持,请使用 [forexcodes.com](https://forexcodes.com) 上的托管平台。 ## 设计诚实 这**仅测量代码正确性**——即脚本是否按其声明执行,以及其回测是否反映了可重现的行为。它**不是**盈利能力的衡量标准,此处的任何内容均不构成财务建议。交易涉及巨大的损失风险。 ## 许可证 MIT © Veltrix Technology LLC (ForexCodes)
标签:CMS安全, JavaScript, MITM代理, Pine Script, 云安全监控, 数据可视化, 自动化攻击, 量化交易, 静态分析