You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用TradingView自定义Pine Script指标?

在Python中复用TradingView自定义Pine Script指标的可行方案

核心前提说明

TradingView官方未开放直接调用自定义Pine Script计算逻辑的API,无论官方还是非第三方库,都无法实现“无缝将Pine Script逻辑移植到Python DataFrame”的需求——因为Pine Script的编译与执行完全在TradingView封闭的服务器环境中运行,外部无法直接调用其执行引擎。

替代实现路径

1. Webhook推送实时指标数据

  • 在你的Pine Script中添加webhook逻辑,当指标计算出最新值时,将K线时间、指标数值等数据推送到你自己搭建的简易服务(比如用FastAPI编写的接口)
  • 把接收到的指标数据存储后,导入Python DataFrame与原有行情数据做时间匹配
  • 示例Pine Script片段:
    //@version=5
    indicator("自定义指标", overlay=true)
    my_indicator = ta.sma(close, 20) - ta.sma(close, 50)
    // 仅在最后一根K线触发推送
    if barstate.islast
        var string webhook_url = "你的Webhook接口地址"
        data_str = "time=" + str.tostring(time) + "&indicator_val=" + str.tostring(my_indicator)
        request.post(url=webhook_url, body=data_str)
    
  • 局限:仅能获取实时或最新的指标值,无法批量回溯历史数据。

2. 导出历史指标数据后导入Python

  • 在TradingView图表加载你的自定义指标,手动或通过Selenium等工具自动化导出包含指标列的CSV文件
  • 将CSV文件导入Python DataFrame,与本地行情数据做时间对齐
  • 优点:可获取完整历史指标数据;缺点:自动化程度低,频繁操作可能触发TradingView的访问限制。

3. 非官方API的有限支持

  • 部分非官方库(如tradingview-ta的扩展版本)支持调用公开的指标,但私有自定义指标无法直接调用
  • 若愿意将指标设为公开,可尝试用这类库获取计算结果,但依然无法在本地DataFrame上直接运行Pine Script逻辑

总结

若不想重写Pine Script逻辑,最可行的方式是通过webhook获取实时数据,或导出历史数据后导入Python。目前没有工具能实现“直接在本地DataFrame上复用Pine Script逻辑”的需求,核心原因是TradingView未开放其Pine Script执行引擎的外部调用权限。

内容的提问来源于stack exchange,提问作者bigidulka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 21:33:16