0

我试图在日线图上显示累积的盘前交易量。在上市前,我无法让 pine 脚本在日线图上显示任何内容。我正在尝试调试我的问题(因此现在将 100K 作为默认设置。我认为这应该在盘前市场的日线图上创建一个 100K 交易量的交易量蜡烛。但没有任何显示。

plotVolume = timeInRange(timeframe.period, "0400-0930") ? 100000 : volume
plot(plotVolume, color = color.new(palette,15), style=plot.style_columns, title="Volume")

我的思考过程:让 100K 成交量蜡烛显示在盘前的日线图上……一旦成功,使用 request.security 将 100K 替换为 5M 图表的累积成交量函数。感谢任何帮助!

4

1 回答 1

0

这会做到的。
您还必须在图表上启用延长时间。

//@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)
于 2022-01-18T10:49:36.267 回答