如何在Pine Script中仅在阳线/阴线时显示对应标签?
解决方案:根据K线阴阳显示对应PIPS标签
要实现阳线显示蜡烛下方的PIPS标签、阴线显示蜡烛上方的PIPS标签,只需通过判断K线的阴阳属性,在对应条件下创建标签即可,修改后的代码如下:
//@version=5 indicator(title='PIPS', overlay=true) // 获取当前品种的点值 pipSize = syminfo.mintick // 计算收盘价到最低价、收盘价到最高价的PIPS距离(加20个点) DistanciaDesdeBajoAlCierre = (close - low) / pipSize + 20 DistanciaDesdeAltoAlCierre = (high - close) / pipSize + 20 // 判断K线阴阳 isBullish = close > open isBearish = close < open // 仅在阳线时创建下方标签 if isBullish VelaCerrada = label.new(x=bar_index, y=low, text=str.tostring(DistanciaDesdeBajoAlCierre, '#.######'), textcolor = color.white, color=color.rgb(76, 175, 79, 100), style=label.style_label_up, size=size.small) // 删除2根K线前的阳线标签 label.delete(VelaCerrada[2]) // 仅在阴线时创建上方标签 if isBearish VelaAbierta = label.new(x=bar_index, y=high, text=str.tostring(DistanciaDesdeAltoAlCierre, '#.######'), textcolor = color.white, color=color.rgb(255, 82, 82, 100), style=label.style_label_down, size=size.small) // 删除2根K线前的阴线标签 label.delete(VelaAbierta[2])
关键修改说明:
- 新增
isBullish和isBearish变量,分别判断当前K线是阳线还是阴线 - 使用
if条件分支,仅在对应K线类型下创建标签,避免无效标签生成 - 调整标签删除逻辑,将删除操作放在对应条件块内,确保只删除存在的标签,避免潜在报错
内容的提问来源于stack exchange,提问作者facutwo
相关产品推荐
相关产品推荐

