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

如何在Pine Script中截取字符串?Webhook交易对格式处理

在Pine Script中生成带下划线分隔交易对的Webhook消息

需求:

  • 向Webhook发送的消息需包含下划线分隔的交易对格式(例如BTC_USDT)
  • 交易对来源为syminfo.ticker,格式是无分隔符的字符串(例如BTCUSDT)
  • 已知所有告警的第二个交易币种固定(例如USDT,字符数为4),需通过截取字符串拆分出前后两部分,再拼接成目标格式

实现方法

在Pine Script中,可通过str.substr()函数截取字符串,结合拼接生成目标格式:

// 设定固定计价币种的字符数,比如USDT对应4
quoteAssetLength = 4
// 截取基础币种部分:从开头到倒数第quoteAssetLength个字符前
baseAsset = str.substr(syminfo.ticker, 0, str.length(syminfo.ticker) - quoteAssetLength)
// 截取计价币种部分:从倒数第quoteAssetLength个字符到结尾
quoteAsset = str.substr(syminfo.ticker, str.length(syminfo.ticker) - quoteAssetLength)
// 拼接成下划线分隔的交易对
formattedPair = baseAsset + "_" + quoteAsset
// 构造Webhook消息体
msg0 = str.format('"pair": "{0}"', formattedPair)
msg = "{" + msg0 + "}"
// 触发告警发送Webhook
alert(msg, freq)

代码说明

  • str.length(syminfo.ticker):获取原始无分隔符交易对的总字符长度
  • str.substr(目标字符串, 起始位置, 截取长度):
    • 截取基础币种时,起始位置设为0,截取长度为总长度减去固定计价币种的字符数
    • 截取计价币种时,起始位置设为总长度减去固定字符数,函数会自动截取到字符串末尾
  • 最后将两部分用下划线拼接,代入消息模板即可生成符合要求的Webhook内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:51:00