如何从syminfo.ticker中移除货币标识并保留特殊后缀?
在TradingView中保留后缀移除USDT的脚本实现
完全可以通过Pine Script实现这个需求,核心是利用字符串替换函数移除ticker中的USDT字符,同时保留DOWN、.3S这类后缀。
具体实现代码
//@version=5 indicator("保留后缀的交易对处理", overlay=true) // 核心逻辑:移除ticker中的USDT,保留其他后缀 processed_ticker = str.replace(syminfo.ticker, "USDT", "") // 示例:触发告警时使用处理后的交易对 ma20 = ta.sma(close, 20) alert_condition = ta.crossover(close, ma20) // 设置告警条件,消息中带入处理后的交易对 alertcondition(alert_condition, title="价格上穿MA20", message="交易对: " + processed_ticker + " 触发上穿20日均线告警") // 或者主动触发告警的写法 if alert_condition alert("交易对: " + processed_ticker + " 价格上穿20日均线", alert.freq_once_per_bar_close)
效果验证
- 当图表交易对为
XRPDOWNUSDT时,processed_ticker会输出XRPDOWN - 当交易对为
XRPUSDT.3S时,processed_ticker会输出XRP.3S - 普通交易对如
BTCUSDT会输出BTC
注意事项
- 如果需要处理其他法币后缀(如
USDC),可以追加str.replace调用,比如processed_ticker = str.replace(str.replace(syminfo.ticker, "USDT", ""), "USDC", "") - 测试时切换不同带后缀的交易对,确认告警消息中的交易对格式符合预期
内容的提问来源于stack exchange,提问作者Juz
相关产品推荐
相关产品推荐

