Pine Script新手求助:获取前一日11:00开盘价的可用代码片段
获取前一日11:00 AM开盘价的Pine Script解决方案
原代码的问题
原代码依赖timenow计算时间戳,会因图表重绘、切换时间框架时实时变动,无法稳定定位前一日11点;同时判断逻辑依赖l[1]的空值(NA),容易出现赋值异常或不更新的情况。
修正后的代码
//@version=5 indicator("前一日11:00 AM开盘价", overlay=true) // 生成前一日11:00 AM的时间戳 prev_day_11am = timestamp(year, month, dayofmonth - 1, 11, 0) // 调用1小时周期数据,精准获取对应时间的开盘价 prev_11am_open = request.security(syminfo.tickerid, "60", open[time == prev_day_11am ? 0 : na]) // 新交易日触发时更新价格,避免重复计算 var float daily_target_price = na if ta.change(time("D")) daily_target_price := prev_11am_open // 绘制价格水平线 plot(daily_target_price, color=color.blue, title="前一日11AM开盘价", linewidth=2)
代码说明
- 用
request.security调用1小时周期数据,精准匹配前一日11:00 AM的K线,规避timenow实时变动的问题。 - 通过
ta.change(time("D"))判断新交易日开始,确保每个交易日自动更新目标价格。 var关键字确保变量在图表重绘、切换周期时不会被重置,保持数据稳定性。
内容的提问来源于stack exchange,提问作者Meera Hussain
相关产品推荐
相关产品推荐

