You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PineScript如何获取当日截至当前的实时日内最高、最低价

问题原因

你调用request.security(syminfo.tickerid,"D", high)返回上一交易日高低价,核心原因是request.security默认仅返回已收盘完成的周期K线固定值,当日日线处于未收盘的交易状态,因此不会返回实时变动的日内高低数据。

实现方法

方案1:日内周期直接统计(推荐,实盘准确性最高)

如果你的脚本运行在1分钟、5分钟、Tick等日内级别周期,直接统计当日开盘至今的K线高低值即可,数据会随行情推进自动刷新:

// 标记当日第一根K线
day_start = ta.change(time("D"))
// 计算当日开盘到当前K线的最高、最低价
Current_High = ta.highest(high, ta.barssince(day_start) + 1)
Current_Low = ta.lowest(low, ta.barssince(day_start) + 1)

// 可视化验证
plot(Current_High, color=color.green, title="日内实时最高价")
plot(Current_Low, color=color.red, title="日内实时最低价")

该逻辑完全匹配示例场景:AAPL9:30开盘后,变量会随每根新K线的高低点动态更新,10:00触及90美元时Current_Low更新为90,11:00触及110美元时Current_High更新为110,后续交易时段出现新的极值时会自动覆盖旧值。

方案2:跨周期实时拉取(适配全周期运行场景)

如果你的脚本需要在日线及以上周期运行、同时获取当日实时高低价,可以给request.security传入K线合并参数,允许拉取未收盘日线的动态数据:

Current_High = request.security(syminfo.tickerid, "D", high, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)
Current_Low = request.security(syminfo.tickerid, "D", low, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)

注意:该写法回测时会存在轻微的未来数据偏差,仅实盘运行时数据无偏移,日内交易策略优先选择方案1。

内容的提问来源于stack exchange,提问作者JosephDing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 06:15:38