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

如何实现TradingView与VSCode代码同步及指标代码自动归档?

TradingView指标代码自动归档方案
  • 油猴脚本(Tampermonkey):自己写个简单脚本就能搞定。打开TradingView的个人指标页面后,脚本可以自动遍历所有指标卡片,逐个进入详情页抓取代码,然后自动生成文件下载到本地。核心逻辑就是用document.querySelector定位页面元素,提取代码文本后通过Blob对象触发下载,不用复杂配置,适合不想折腾编程的人。

  • Puppeteer无头浏览器脚本:用Node.js写个自动化脚本,模拟人工操作。步骤就是启动浏览器、登录TradingView、导航到个人指标页、逐个打开指标链接、提取代码并保存到本地文件。示例代码如下:

    const puppeteer = require('puppeteer');
    const fs = require('fs');
    const path = require('path');
    
    (async () => {
      const browser = await puppeteer.launch({headless: false});
      const page = await browser.newPage();
      await page.goto('https://www.tradingview.com/u/[你的用户名]/scripts/');
      // 手动完成登录(或者添加自动登录逻辑)
      await page.waitForTimeout(10000); // 留时间手动登录
      const scriptLinks = await page.$$eval('.script-widget a', links => links.map(link => link.href));
      // 创建保存目录
      const saveDir = './tradingview-indicators';
      if (!fs.existsSync(saveDir)) fs.mkdirSync(saveDir);
      for (const link of scriptLinks) {
        await page.goto(link);
        await page.waitForSelector('.tv-editor__textarea');
        const code = await page.$eval('.tv-editor__textarea', el => el.value);
        const scriptName = await page.$eval('.tv-page-title__title', el => el.textContent.trim().replace(/[\/:*?"<>|]/g, ''));
        const filePath = path.join(saveDir, `${scriptName}.pine`);
        fs.writeFileSync(filePath, code);
        console.log(`已保存:${scriptName}`);
      }
      await browser.close();
    })();
    

    先执行npm install puppeteer安装依赖,运行脚本时如果有2FA或者验证码,手动完成登录就行,脚本会自动执行后续操作。

  • 注意事项:不管用哪种方法,都要注意TradingView的反爬机制,不要太快操作,适当加延迟避免账号被限制;另外脚本的元素选择器可能会随着TradingView页面更新失效,到时需要调整选择器。

内容的提问来源于stack exchange,提问作者Arian Khadem zadeh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:30:04