如何从series[integer]生成const string解决Pine Script类型报错
报错原因
Pine Script 中普通的string()函数仅支持接收const string类型的入参,你传入的val即使通过[0]取了当前K线的最新值,本质仍属于series[integer]序列类型,不符合函数入参要求,因此触发报错。
解决方案
直接使用Pine Script专门适配序列类型转换的str.tostring()函数替换原生string()函数即可,修改后完整代码如下:
var int mondayLong = 0 var int mondayAll = 0 // --------------------------- if(dayofweek == dayofweek.monday) mondayAll := mondayAll + 1 if(close > open) mondayLong := mondayLong + 1 val = mondayAll[0] // 替换string为str.tostring适配序列类型转换 text1 = "Monday All: " + str.tostring(val) l1 = label.new(bar_index, high[0], text=text1) label.delete(l1[1])
如果需要进一步优化渲染性能,也可以把标签创建的逻辑包裹在if barstate.islast判断块中,仅在最后一根K线执行标签创建与更新操作,避免每根K线都重复执行逻辑。
内容的提问来源于stack exchange,提问作者Luka Savic
相关产品推荐
相关产品推荐

