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

如何在Pine Script表格中根据条件绘制上下箭头?

在Pine Script表格中根据条件显示箭头的正确方法

你原来的问题核心是用错了工具:plotshape是用来在K线图表上绘制图形的,根本没法直接嵌入表格单元格。表格里要实现条件箭头,得用Unicode箭头符号配合table.cell来完成,下面是具体的修正方案:

核心思路

Pine Script的表格单元格支持显示Unicode字符,我们可以直接调用向上/向下箭头的Unicode符号,再根据条件动态选择符号和文本颜色,把它们嵌入到单元格的文本内容里。

修正后的完整代码

//@version=5
indicator("表格箭头示例", overlay=true)

// 自定义带箭头的单元格填充函数
f_fillCellWithArrow(_table, _column, _row, _title, _value, _isBullish, _bgcolor) =>
    // 根据布尔值选择箭头符号
    _arrow = _isBullish ? "↑" : "↓"
    // 组合标题、箭头和数值文本
    _cellText = _title + "\n" + _arrow + " " + str.tostring(_value)
    // 填充单元格,同时根据条件切换文本颜色
    table.cell(_table, _column, _row, _cellText, bgcolor=_bgcolor, text_color=_isBullish ? color.green : color.red)

// 模拟你的业务变量(可替换为自己的逻辑)
drawTable = input.bool(true, "显示表格")
tf1bull = input.bool(true, "TF1看涨信号")
lbrTF1 = input.float(1.23, "LBR数值")

// 初始化表格
var divTable = table.new(position.top_right, 2, 2)
var bgcolor = color.new(color.black, 0)

if drawTable
    if barstate.islastconfirmedhistory
        // 调用带箭头的填充函数生成单元格内容
        f_fillCellWithArrow(divTable, 0, 1, "TF1信号", lbrTF1, tf1bull, bgcolor)

关键说明

  1. 箭头符号自定义:除了↑/↓,你还可以用更醒目的Unicode符号,比如🟢↑或🔴↓,直接替换代码里的_arrow值即可。
  2. 语法修正:你原来的代码存在两处语法错误——if tf1bull == true后缺少大括号、plotshape的参数写法完全不符合Pine Script规则,现在的代码直接用表格函数完成所有逻辑,无需再调用plotshape。
  3. 布局调整:如果想让箭头单独占一行,只需修改文本拼接逻辑,比如:
_cellText = _title + "\n" + _arrow + "\n" + str.tostring(_value)

内容的提问来源于stack exchange,提问作者John Smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:40:41