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

在TradingView Pine Script中如何从tickerid“Binance:BTCUSDT”提取BTC文本?

Pine Script从tickerid提取指定交易对主币的实现方法

核心实现逻辑

目标字符串BINANCE:BTCUSDT的结构为交易所前缀:主币代码+计价币代码,我们可以通过两次字符串操作提取BTC:

  1. 按冒号拆分字符串,去掉交易所前缀,拿到完整交易对部分BTCUSDT
  2. 从交易对中去掉末尾的计价币USDT,得到主币BTC

实现代码(Pine Script v5版本)

//@version=5
indicator("提取交易对主币示例", overlay=false)

// 原始tickerid,可直接赋值为"BINANCE:BTCUSDT"测试,或用syminfo.tickerid获取当前标的id
raw_ticker = "BINANCE:BTCUSDT"

// 第一步:按冒号拆分,取索引为1的元素即交易对部分
ticker_part = str.split(raw_ticker, ":")[1]

// 第二步:去掉末尾4位USDT,截取前3位得到BTC
base_coin = str.substring(ticker_part, 0, str.length(ticker_part) - 4)

// 输出验证结果
var label res_label = label.new(bar_index, high, "提取结果:" + base_coin, color = color.yellow)
plot(close)

多计价币通用版本

如果需要适配USDC、BUSD、ETH等不同计价币的场景,可以用循环动态匹配计价币后缀:

quote_coins = ["USDT", "USDC", "BUSD", "BTC", "ETH"]
ticker_part = str.split(raw_ticker, ":")[1]
base_coin = ""
for q in quote_coins
    if str.endswith(ticker_part, q)
        base_coin := str.substring(ticker_part, 0, str.length(ticker_part) - str.length(q))
        break

注意事项

  • 以上代码仅适用于Pine Script v5版本,v4版本需要替换对应字符串函数:strsplit代替str.split、strlen代替str.length、strsub代替str.substring
  • 如果交易对带特殊后缀(比如永续合约的_PERP),需要先去掉后缀再执行拆分逻辑

内容的提问来源于stack exchange,提问作者Almonds Mỹ phẩm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:06:04