这会做到的。
您还必须在图表上启用延长时间。
//@version=5
indicator('Cumulative volume', 'CV')
var float cv = 0
// Reset volume when a new day has started, or when market session begins
if (dayofmonth != dayofmonth[1]) or (session.ismarket and session.ispremarket[1])
cv := 0
cv += volume
plot(cv, style=plot.style_columns)
编辑 1以回应此评论
对于之前的解决方案,您必须使用比每日更短的时间范围。
但我现在看到您希望将图表保持在每日时间范围内,并查看盘前交易量。
要做到这一点,您必须查看条形图内部的较低时间范围(在下面的示例中为 1 分钟)。
但我怀疑它会起作用,因为您需要在每日时间范围内设置一个柱状图来查看内部,而在上市前您还没有柱状图。不过你可以试试。
如果它不起作用,那么我认为它不能在 Pine afaik 中完成,除非其他人知道这样做的方法。
如果它有效,还要注意数据不会是最准确的,因为:
security()
在较低的时间间隔内并不总是返回可靠的数据。例如,关于股票的 Intrabar 交易量信息将与 >1D 交易量不匹配,因为交易所报告两者的数据不同。
有关条内检查的更多信息,您可以查看是否可以在低于图表当前间隔的间隔上使用 security()?
//@version=5
indicator('IntraBar Volume')
f_intrabar(_src, _res) =>
var int _barNo = 0
var float _value = na
if ta.change(time(_res))
_value := 0
_value += _src
intraBarVolume = request.security(syminfo.tickerid, '1', f_intrabar(volume, 'D'))
plot(intraBarVolume, style=plot.style_columns)