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

TradingView自定义JSAPI调用onHistoryCallback时报错:Cannot read properties of undefined

排查TradingView JSAPI onHistoryCallback报错:Cannot read properties of undefined (reading 'toLowerCase')
  • 检查自定义历史数据的格式完整性
    TradingView对K线数据格式有严格要求,必须确保每条数据的必填字段(如time、open、high、low、close、volume)全部存在且不为undefined。这个报错大概率是框架处理某个字段时,该字段为undefined,导致调用toLowerCase方法失败——比如你返回的某个标识类字段(如时间格式说明、数据状态字段)缺失,框架尝试对其调用方法时触发异常。

  • 验证数据字段的类型正确性
    严格匹配字段类型要求:

    • time字段必须是整数型时间戳(毫秒/秒,依据你配置的时间格式)
    • 价格、成交量字段必须为数字类型,不能是字符串或其他类型
    • 若有自定义字段,确认框架是否支持,避免传入无法识别的字段引发解析错误
  • 核对onHistoryCallback的调用参数结构
    确认传入回调的参数结构完全符合API规范:

    • 常规参数结构为{ s: 'ok', t: [], o: [], h: [], l: [], c: [], v: [] }(或数组对象格式,依API版本而定)
    • 不能遗漏s状态字段,其值需为'ok'或'error'字符串类型——框架很可能会对该字段调用toLowerCase,如果s为undefined就会触发当前报错
  • 排查时间范围与数据的匹配性
    确保返回的历史数据时间范围和TradingView请求的范围一致,避免返回空数据或数据长度为0的情况,空数据极易导致框架内部处理时出现未定义字段调用的问题

  • 对照官方示例校验数据
    拿你返回的数据和TradingView JSAPI官方提供的历史数据示例逐字段对比,排查是否存在字段缺失、类型错误或格式不一致的情况,比如是否有某个隐含必填字段被你忽略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 13:15:31