pine-script - 每次更改时更新变量,无论时间范围如何
问题描述
我想显示一个当前标签,该标签close
根据与最后一个(即柱内)值的变化close
进行着色,从而复制符号值在观察列表中着色的方式(在每次更改时)价值)
然而,Pine Script 似乎只会在新柱的开始更新用户/脚本变量(相对于图表的时间帧分辨率)。
尽管close
将始终返回最新值,但没有办法(我发现)访问最后一个 close
- 只有close[1]
,这是最后一个柱的收盘价,而不是 的真正先前值close
。我需要类似close[0,1]
, 形式的东西source[bar_index, array_index_of_changes_within_bar_index]
。
我尝试了几种方法来解决这个问题:数组、var 和非 var 变量的组合、security()
分辨率1s
(这本来是一个低于标准的解决方案,但无论如何,Pine Script 不允许这样做)。
关于这是否可以在 Pine Script 中实现的任何建议?
解决方案
您可以像这样使用varip
声明的数组来进行密切比较intrabar
var label close_label = label.new(x = bar_index, y = close, style = label.style_label_left, size = size.normal, textcolor = color.white)
varip float[] intrabar_closes = array.new_float()
array.unshift(intrabar_closes, close)
if array.size(intrabar_closes) > 2
array.pop(intrabar_closes)
col = array.size(intrabar_closes) > 1 ? array.get(intrabar_closes, 0) >= array.get(intrabar_closes, 1) ? color.lime : color.red : na
label.set_xy(close_label, x = bar_index, y = close)
label.set_color(close_label, color = col)
label.set_text(close_label, text = tostring(close))
推荐阅读
- android - Kotlin - 如何通过片段使 onClick 函数可引用?
- pyspark - NameError:未定义全局名称“行”(pyspark)
- javascript - 正则表达式:匹配“+”之前的所有字符,如果“+”不存在,则匹配整个字符串
- awk - 使用 awk 将 SpeedTest-Cli 结果解析为 csv
- javascript - 按下清除按钮后计算器键盘输入显示混乱
- sharepoint - SharePoint Excel 列的计算公式
- javascript - 将 java 脚本数组元素作为输入字段值放入 html 表单?
- android - 为什么我的浮动操作按钮没有浮动在我创建的屏幕上>
- mysql - 如何对视图使用存储过程进行动态查询?
- android - Android 从屏幕截图中排除视图