PineScript技术问询:如何显示更低时间框架的最新2根Bar内收盘价
问题解决:在15分钟图表获取3分钟最新两根K线收盘价并显示
原代码使用request.security_lower_tf导致返回数组,因为15分钟K线包含5根3分钟K线,该函数会返回这5个收盘价组成的数组,而非单个值。以下是修正后的代码,可正确获取3分钟周期的最新两根K线收盘价,并分别显示在表格单元格中:
indicator('Test W1', overlay=true, shorttitle='Test W1', precision=1) // 获取指定标的的3分钟周期收盘价序列 get_3min_close(symbol) => request.security(symbol, "3", close, barmerge.gaps_on, barmerge.lookahead_off) // 获取最新的3分钟收盘价(当前K线) latest_3min_close = get_3min_close('RELIANCE') // 获取前一根3分钟K线的收盘价 prev_3min_close = get_3min_close('RELIANCE')[1] // 创建表格 var table top_boxes = table.new(position.bottom_center, 6, 6, color.black, border_color = color.white) // 将两个收盘价分别写入不同单元格 table.cell(top_boxes, 0, 0, text = str.tostring(latest_3min_close), bgcolor=color.new(color.green, 0), text_color =color.white, height=10, width = 35) table.cell(top_boxes, 0, 1, text = str.tostring(prev_3min_close), bgcolor=color.new(color.green, 0), text_color =color.white, height=10, width = 35)
关键说明:
- 改用
request.security替代request.security_lower_tf,后者仅返回当前主K线内的更低时间框架K线数据(即15分钟里的5根3分钟K线),而前者会返回完整的3分钟周期收盘价序列,支持通过[1]调用前一根K线的值。 - 添加
barmerge.gaps_on和barmerge.lookahead_off参数,确保数据无未来函数,符合回测和实时行情的准确性要求。 - 修正了原代码中两个单元格都写入同一值的错误,现在分别写入最新和前一根3分钟收盘价。
内容的提问来源于stack exchange,提问作者paulcab
相关产品推荐
相关产品推荐

