Pine Script问题:切换时间框架时固定10:45AM蜡烛高低线位置
解决Pine Script切换时间框架后高低价线条偏移问题
问题说明
- 需求:在日内图表上固定标记每日10:45AM蜡烛的高低价水平线,切换时间框架时线条位置保持不变
- 当前问题:不同时间框架下线条数值不一致(5分钟框架显示最高价11.10、最低价11.03;10分钟框架显示最高价11.16、最低价11.05),尝试
request.security函数未生效
修正后的代码
//@version=6 indicator('固定时段高低价线', overlay = true, max_lines_count = 500) // 目标标记时段:10:45AM targetTime = input.time("1045-1045", title="目标标记时段") // 判断当前是否为当日 isToday = year(timenow) == year(time) and month(timenow) == month(time) and dayofmonth(timenow) == dayofmonth(time) // 从1分钟时间框架获取目标时段的精确高低价,确保跨时间框架数据一致 [targetHigh, targetLow] = request.security(syminfo.tickerid, "1", [high, low], gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off) // 识别1分钟框架下的目标时段K线 isTargetBar = time("1") == targetTime // 当日且触发目标K线时绘制线条,覆盖至指定收盘时间(这里为15:25) if isToday and isTargetBar endTime = time + int((15 - hour(time))*60*60*1000 + (25 - minute(time))*60*1000) line.new(time, targetHigh, endTime, targetHigh, xloc.bar_time, width=2, color=color.green) line.new(time, targetLow, endTime, targetLow, xloc.bar_time, width=2, color=color.red)
关键修正点
- 精确数据源:通过
request.security调用1分钟时间框架数据,确保10:45AM蜡烛的高低价在任何时间框架下都统一 - 禁用未来数据:设置
lookahead=barmerge.lookahead_off,避免因提前加载数据导致的信号偏移 - 限定当日绘制:仅在当日触发线条绘制,避免历史时段的线条重复堆积
内容的提问来源于stack exchange,提问作者Colin Kal
相关产品推荐
相关产品推荐

