Pine Script plotshape绘图文字颜色失效不匹配形状颜色如何解决
Pine Script plotshape 标记文字颜色异常修复
问题现象
在蜡烛图上使用如下plotshape语句绘制交易标记,代码数月前可正常运行:初始状态下标记附带文字的颜色与三角形标记颜色保持一致,但目前三角形标记颜色显示正确,文字却显示为辨识度极低的霓虹深蓝色,相关代码如下:
plotshape(TTM_To_Buy and not TTM_To_Buy[1], title='Slope Positive', location=location.belowbar, color=color.new(color.lime, 0), style=shape.triangleup, text='BUY' ) plotshape(TTM_To_Sell and not TTM_To_Sell[1], title='Slope Negative', location=location.abovebar, color=color.new(color.yellow, 0), style=shape.triangledown, text='SELL')
问题原因
该问题由Pine Script v5版本迭代的默认规则变更导致:迭代后的版本中,plotshape的color参数仅控制图形本身的填充颜色,不再自动将颜色同步给关联的text文本,文本默认读取全局字体默认色,即出现异常的霓虹深蓝色。
修复方案
显式为plotshape添加textColor参数,手动指定和标记一致的颜色即可恢复原有效果,修改后代码如下:
plotshape(TTM_To_Buy and not TTM_To_Buy[1], title='Slope Positive', location=location.belowbar, color=color.new(color.lime, 0), style=shape.triangleup, text='BUY', textcolor=color.lime ) plotshape(TTM_To_Sell and not TTM_To_Sell[1], title='Slope Negative', location=location.abovebar, color=color.new(color.yellow, 0), style=shape.triangledown, text='SELL', textcolor=color.yellow)
补充说明
- 若需要调整文字透明度,可使用
color.new()包裹textColor的色值,例如textcolor=color.new(color.lime, 20)对应80%不透明度的亮绿色文字 - 所有标记类绘图函数(
plotshape/plotarrow/plotchar等)当前版本均需单独指定文本颜色,不会再自动继承图形填充色
内容的提问来源于stack exchange,提问作者Adam B
相关产品推荐
相关产品推荐

