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

如何实现基于Excel/CSV成交时间的TradingView图表自动截图?

解决方案:自动批量截取TradingView成交时间点图表

一、Pine Script 辅助定位方案(轻量但非完全自动化)

Pine Script本身无法读取本地文件或自动保存截图,但可以帮你快速定位成交时间点,减少手动找位置的工作量:

  • 把Excel/CSV里的成交时间转换成TradingView兼容的时间格式(注意和图表时区一致),批量输入到脚本中
  • 在对应时间点的K线上绘制醒目标记,同时触发提示,你只需要按快捷键完成截图即可
  • 示例代码片段:
//@version=5
indicator("成交点定位标记", overlay=true)

// 批量输入成交时间(格式:YYYY-MM-DD HH:MM,多时间用逗号分隔)
tradeTimeList = input.string("2024-05-20 09:30,2024-05-20 10:15", title="成交时间列表")
timeArr = str.split(tradeTimeList, ",")

// 遍历时间列表,匹配K线时间并绘制标记
for timeStr in timeArr
    targetTime = timestamp(timeStr)
    if bar.time == targetTime
        label.new(bar_index, high, "成交", color=color.new(color.red, 0), textcolor=color.white, size=size.large)
        alert("已到达成交时间点", alert.freq_once_per_bar_close)
  • 局限性:无法自动读取本地文件或保存截图,仅能辅助定位,适合不想折腾复杂工具的场景。

二、Python + Selenium 完全自动化方案

通过Python读取本地Excel/CSV,结合Selenium控制浏览器完成全流程自动化:

  • 步骤1:用pandas读取成交记录,转换时间格式并处理时区
  • 步骤2:用Selenium启动浏览器,打开你的TradingView图表(需提前登录并保存图表配置)
  • 步骤3:遍历每个成交时间,输入到TradingView的时间跳转框,等待图表加载后自动截图保存
  • 核心逻辑示例:
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

# 读取本地成交记录
df = pd.read_excel("trade_log.xlsx")
trade_times = df["成交时间"].tolist()

# 初始化浏览器(需下载对应浏览器驱动)
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.tradingview.com/chart/你的图表ID/")

# 等待页面加载完成(需根据实际页面调整等待条件)
WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.CSS_SELECTOR, "div[data-name='bar-replay-button']")))
time.sleep(3)

# 遍历每个成交时间点
for idx, t in enumerate(trade_times):
    # 定位时间输入框并跳转
    time_input = driver.find_element(By.CSS_SELECTOR, "input[aria-label='Jump to date and time']")
    time_input.clear()
    time_input.send_keys(t.strftime("%Y-%m-%d %H:%M"))
    time_input.send_keys("\n")
    
    # 等待图表加载稳定
    time.sleep(2)
    
    # 截图保存到指定路径
    driver.save_screenshot(f"./trade_screenshots/trade_{idx+1}.png")

driver.quit()
  • 注意:需要处理TradingView的登录验证,建议提前在浏览器中保存登录状态;页面元素选择器可能随TradingView更新变化,需自行核对。

三、Node.js + Puppeteer 自动化方案

和Python方案逻辑一致,但Puppeteer对单页应用的交互支持更稳定,适合熟悉Node.js的用户:

  • 用csv-parser读取本地成交记录
  • 启动无头浏览器,加载TradingView图表
  • 遍历时间点完成跳转和截图
  • 优势:内置页面等待机制,截图精度更高,适合复杂页面交互场景。

四、低代码工具方案(无需写代码)

如果不想开发脚本,可以用低代码工具实现:

  • 把Excel转成Google Sheets在线表格,用Make(原Integromat)或Zapier连接表格与Browserless等截图工具
  • 配置自动化流程:读取表格中的成交时间→打开TradingView图表→跳转时间点→截图保存到指定云存储或本地
  • 局限性:需付费使用高级功能,灵活性不如自定义脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:07:23