You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过程序化方式在单个TradingView图表中对比多个交易标的?

程序化实现TradingView多标的对比图表

我来帮你搞定这个批量添加标的的麻烦事儿!其实TradingView的高级图表小部件藏着一个实用的JavaScript API,能让你一次性配置所有需要对比的标的,页面加载时自动渲染,再也不用每次刷新手动加20个了。

核心思路:用Widget API批量注入标的

官方可视化的小部件生成工具没把多标的批量配置的选项放出来,但直接写代码调用API就能实现——这正是解决你痛点的关键。

具体步骤走起来

  1. 先引入TradingView的脚本
    在你的页面里先加上官方的Widget脚本,这是基础操作:

    <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script>
    
  2. 编写配置代码,一次性塞所有标的
    先在页面里加个图表容器,比如<div id="tradingview_chart"></div>,然后用TradingView.widget()方法配置图表,重点看symbols参数——它可以接收一个数组,把你要的20个标的全部放进去:

    new TradingView.widget({
      container_id: "tradingview_chart",
      width: "100%",
      height: 600,
      // 这里就是批量标的的核心:把所有要对比的标的按[交易所, 代码]格式塞数组里
      symbols: [
        ["NASDAQ", "AAPL"],
        ["NASDAQ", "MSFT"],
        ["NYSE", "AMZN"],
        ["NYSE", "GOOGL"],
        ["NASDAQ", "META"],
        // 继续加剩下的15个标的就行
      ],
      interval: "D", // 选你需要的时间周期,比如日K线
      theme: "light", // 主题可以换dark或者light
      style: "2", // 选折线图样式更适合多标的对比
      toolbar_bg: "#f1f3f6",
      enable_publishing: false,
      allow_symbol_change: true,
      save_image: false,
      locale: "en"
    });
    

    这样页面一加载,所有标的就自动出现在图表里了,完全不用手动操作。

  3. 自定义对比样式(可选)
    想要更贴近Compare页面的效果?可以加个overrides参数调整细节:

    overrides: {
      "mainSeriesProperties.style": 2, // 强制用折线图,对比更清晰
      "volumePaneSize": "small", // 缩小成交量面板,给标的对比留更多空间
      "paneProperties.background": "#ffffff" // 调整背景色
    }
    

为啥这个方案靠谱?

TradingView的Widget API本身就支持批量配置标的,只是可视化工具没把这个功能摆出来。用代码配置的话,你完全掌控标的列表,不管刷新多少次,页面都会自动加载所有预设标的,彻底解决重复劳动的问题。

小提醒

  • 标的格式要准确:每个标的都是[交易所代码, 标的代码],不确定的话可以去TradingView官网搜一下标的,复制它的格式就行。
  • 如果需要动态改标的列表,可以把symbols数组改成变量,比如从后端接口拉取,或者前端根据用户选择生成,灵活性拉满。

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

火山引擎 最新活动