如何在TradingView中获取过去52根周K线的最高收盘价?
解决TradingView跨周期获取52根周K线最高收盘价的限制问题
不用逐个调用request.security,1次请求就能搞定,核心是把统计逻辑放到高时间框架里计算,具体方法如下:
核心逻辑:直接在周线周期内完成“过去52根不含当前周的收盘价最高值”计算,再通过
request.security把结果同步到低时间框架,全程只需要1次跨周期请求,完全避开40次的限制。代码实现:
//@version=5 indicator("跨周期周线最高收盘价", overlay=false) // 指定周线周期 weekly_timeframe = "W" // 跨周期请求:在周线环境中计算过去52根(不含当前周)的收盘价最高值 weekly_52highest_close = request.security(weekly_timeframe, timeframe.period, ta.highest(close[1], 52)) // 把结果可视化出来 plot(weekly_52highest_close, title="过去52周(不含当前)最高收盘价", color=color.blue, linewidth=2)
- 关键细节说明:
ta.highest(close[1], 52):在周线语境下,close[1]代表上周的收盘价,这个函数会取从上周开始往前数52根周K线的收盘价最大值,刚好符合“不含当前周、取过去52根”的要求。request.security的第二个参数用timeframe.period,是为了让跨周期数据和当前低时间框架的K线对齐,避免出现数据错位。
如果需要换成月线,只需要把weekly_timeframe改成"M",同时调整统计的根数(比如过去12根月K线就把52换成12)就行。
内容的提问来源于stack exchange,提问作者NqHai
相关产品推荐
相关产品推荐

