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

求Pine Script代码:实现数值降序排序并展示前5个及变量名至表格

Pine Script 实现数值降序排序并展示前5名表格

下面是满足需求的Pine Script代码,它会将指定数值按降序排序,并用表格展示前5个数值及其对应变量名称:

//@version=5
indicator("Top 5 Sorted Values Table", overlay=false)

// 定义示例变量(可替换为你自己的指标/数值)
rsi_val = ta.rsi(close, 14)
macd_val = ta.macd(close, 12, 26, 9).macd
atr_val = ta.atr(14)
cci_val = ta.cci(close, 20)
roc_val = ta.roc(close, 12)
bollinger_val = (close - ta.sma(close, 20)) / ta.stdev(close, 20)

// 创建存储名称和数值的数组
var val_array = array.new<tuple>()
array.clear(val_array)
array.push(val_array, tuple("RSI", rsi_val))
array.push(val_array, tuple("MACD", macd_val))
array.push(val_array, tuple("ATR", atr_val))
array.push(val_array, tuple("CCI", cci_val))
array.push(val_array, tuple("ROC", roc_val))
array.push(val_array, tuple("Bollinger", bollinger_val))

// 按数值降序排序数组
array.sort(val_array, (a, b) => tuple.get(b, 1) - tuple.get(a, 1))

// 创建表格并设置样式
var table top_table = table.new(position.top_right, 2, 6, border_width=1, border_color=color.gray)

// 填充表头
table.cell(top_table, 0, 0, "指标名称", text_color=color.white, bg_color=color.blue)
table.cell(top_table, 1, 0, "数值", text_color=color.white, bg_color=color.blue)

// 填充前5个排序后的内容
for i = 0 to math.min(4, array.size(val_array)-1)
    current_item = array.get(val_array, i)
    name = tuple.get(current_item, 0)
    value = tuple.get(current_item, 1)
    table.cell(top_table, 0, i+1, str.tostring(name), text_color=color.white)
    table.cell(top_table, 1, i+1, str.tostring(value, "#.##"), text_color=color.white)

代码说明:

  • 可直接替换示例中的rsi_val、macd_val等变量为你需要排序的自定义数值
  • 用tuple存储变量名称和对应数值,排序时通过比较元组的第二个元素(数值)实现降序逻辑
  • 表格固定在图表右上角,表头用蓝色背景区分,数值保留两位小数展示
  • 若参与排序的数值不足5个,会自动展示全部现有数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:01:17