SuperAPI AI 工具集

pine-to-python

编程与开发

查看项目

更新于 10-16 01:20

技能介绍

用途:把原始 TradingView PineScript(.pine)文件解构为 Python 原生组件,用于在无界面的 Python 环境中回测,支持 TradingView 无法完成的多折 Walk-Forward 分析与蒙特卡洛模拟。

工作流:一、解构与分类,解析 input()、input.int()、input.float()、input.bool(),把参数分为信号类(决定入场,如 length、crossover_threshold)、风险类(决定出场,如 stop_ticks、trail_offset)和显示类(仅用于绘图/UI,丢弃)。二、边界提取,对每个信号与风险参数提取 minval、maxval、step,并格式化为 Optuna 试验建议。三、逻辑翻译,把 ta.sma、ta.ema、ta.rsi 等 PineScript 技术分析函数转为 pandas-ta 或 numpy 等价实现,并将入场、出场条件向量化,除非路径依赖必须,否则不用逐行 for 循环,尽量使用 np.where 和 .shift()。四、加固与审计,扫描依赖当前未收盘 K 线数据造成的重绘风险,强制用 .shift(1) 生成信号;对所有分母加 np.maximum(denominator, 1e-8) 防止优化时出现 NaN。

输出:单个 Python 文件,含 extract_features(df, params) 构建指标、generate_signals(df) 生成信号列(1 多头、-1 空头、0 空仓)、get_optuna_space(trial) 返回超参搜索空间字典。

适用场景:需要把 PineScript 回测迁移到无界面 Python 环境并做 WFA 与蒙特卡洛模拟时使用。限制:未提供具体依赖版本、安装命令、收费与支持平台等信息。