小时K线高亮:1H时间框架每日16:00K线高亮代码问题咨询
问题原因与修复方案
随机漏标K线的核心原因是time()函数默认使用交易所时区,未指定你需要的16点所属时区时,会因时区偏差出现匹配失败,同时原有代码未覆盖平开十字星的场景,也会出现对应K线无高亮的情况。
修复后可稳定运行的代码
//@version=5 indicator("1600 bars", overlay=true) // 第三个参数为你需要的时区ID,此处用北京时间(Asia/Shanghai),可自行替换 t = time(timeframe.period, "1600-1700", "Asia/Shanghai") fourUp = t and close > open fourDown = t and close < open fourDoji = t and close == open barcolor(fourUp ? color.white : na, title="Four Up") barcolor(fourDown ? color.yellow : na, title="Four Down") // 十字星可自定义高亮颜色,不需要可删除此行 barcolor(fourDoji ? color.orange : na, title="Four Doji")
代码改动说明
- 新增时区参数:明确指定16点所属的时区,避免因交易所属时区和你预期时区不一致导致的匹配偏差
- 补充十字星判断:覆盖16点K线平开的场景,避免这类K线无高亮被误认为漏标
- 升级到v5版本语法:原有代码是v4版本,目前TradingView主流使用v5版本,兼容性更好
内容的提问来源于stack exchange,提问作者Parabolic1
相关产品推荐
相关产品推荐

