同一加密市场的两张日线图,可能出现不同收盘价,因为各自的一天包含了不同的成交。两根 K 线都可以覆盖 24 小时,区别在于这 24 小时从哪里开始、在哪里结束。
之前的周期文章比较了十五分钟和一小时 K 线。本篇 Read the Reaction 保持时长与交易所不变,只移动日线边界,并将这种数据变化与单纯切换显示时区区分开。
改变时钟不一定改变 K 线
TradingView 时间文档将图表时区描述为显示偏好,不影响 Pine 的时间计算。时间标签改变,并不能证明数据源重新聚合了日线 OHLC。
K 线边界设置则不同:它改变每根日 K 线包含哪些成交。Binance 现货 K 线 API默认使用 UTC,也允许按其他偏移划分区间;请求的起止时间戳仍按 UTC 解释。应检查数据源实际的 K 线边界,而不是假定图表设置会控制它。
这是文档明确区分的概念,并非修改 CoinScreener 设置的教程。本文没有认定某个时区普遍更适合交易。
同一价格序列,两种“9 月 14 日”
设想一种虚构现货代币,在同一交易所以 USD 报价。练习中的日期、价格和成交量均为假设,包括标在 2026 年 9 月 14 日的数值。这不是该日的真实市场数据,也不是预测。
两组日线都使用固定偏移,期间没有夏令时切换:
- UTC 日:9 月 14 日 00:00 UTC 至 9 月 15 日 00:00 UTC。
- UTC+8 日:9 月 13 日 16:00 UTC 至 9 月 14 日 16:00 UTC。在 UTC+8 下,这两个时刻是相邻两天的午夜。
每个区间包含起点、不包含终点。恰在 16:00 UTC 的成交属于下一个 UTC+8 日。两区间重叠十六小时,但没有任何一个完全包含另一个。
将底层序列分成四个连续的八小时区段。以下时间均为 UTC,日期均在 2026 年 9 月:
- A:13 日 16:00 → 14 日 00:00。
- B:14 日 00:00 → 14 日 08:00。
- C:14 日 08:00 → 14 日 16:00。
- D:14 日 16:00 → 15 日 00:00。
O/H/L/C 分别表示开盘、最高、最低、收盘价,单位为 USD/枚;V 为成交代币数量。数据覆盖完整,没有重复计入成交。定义可参阅 K 线结构。
| 区段 | O | H | L | C | V |
|---|---|---|---|---|---|
| A | 100 | 104 | 99 | 102 | 40 |
| B | 102 | 110 | 101 | 108 | 70 |
| C | 108 | 109 | 103 | 104 | 50 |
| D | 104 | 105 | 96 | 98 | 60 |
用各自包含的区段重建日 K 线
UTC+8 日包含 A + B + C,UTC 日包含 B + C + D。每个区间取第一个开盘价、最高的高点、最低的低点、最后一个收盘价,并将成交量相加。
| 日线 | O | H | L | C | V |
|---|---|---|---|---|---|
| UTC+8 | 100 | 110 | 99 | 104 | 160 |
| UTC | 102 | 110 | 96 | 98 | 180 |
UTC+8 的成交量为 40 + 70 + 50 = 160 枚。UTC 的成交量为 70 + 50 + 60 = 180 枚。差异来自用 D 替换 A,不是仅仅给同一批成交改时间标签,也不是计算错误。
UTC+8 的实体上涨:(104 − 100) ÷ 100 = +4%。UTC 的实体下跌:(98 − 102) ÷ 102 ≈ −3.92%。这是不同区间内开盘到收盘的价格变化,并非策略收益率。
两者都记录了 110 的高点,因为 B 属于两个区间。只有 UTC 日线包含 D 的低点 96。理解分歧时,应先检查区间包含的数据,再解释 K 线颜色。
日线确认有明确的信息可用时点
假设在两个区间开始之前,已经写下一条教学规则:完整日 K 线的收盘价必须严格高于 103 USD。固定该价位是为了单独观察时间因素;它不是经过测试的入场方法或产品阈值。
9 月 14 日 16:00 UTC,收到收盘数据后,UTC+8 日线满足条件:104 > 103。此时 9 月 14 日的 UTC 日线仍在形成。C 结束时的最新价格也为 104,但它并非完整 UTC 日线的收盘价。
直到 9 月 15 日 00:00 UTC,并收到数据后,UTC 规则才能使用最终的 98:98 < 103,因此不满足条件。把这个最终数值用于八小时前的决策,就引入了未来信息。
较早确认不保证能以 104 入场,也不保证随后盈利。买卖价差、手续费和滑点仍会使图表观察与实际成交不同。靠近日线边界的新闻,也需要准确记录信息时间;单凭这些 K 线不能证明新闻导致了走势。
重建完整历史,而不只是最新一根
日线移动平均使用一系列日线输入。如果边界改变了输入,其数值就可能改变。RSI 也需要相应的收盘历史和初始化。重命名时间标签,或平移已经算好的指标线,都不会重新计算这两个指标。RSI 与移动平均的示例解释了它们如何依赖较早的观测。
对于滚动区间规则,除了触发 K 线,还要重建之前的参考窗口。不要拿 UTC+8 收盘价与 UTC 数据计算的区间比较,却称其为一套一致的日线规则。若有意混合使用,应单独定义为另一项研究规则。
数据也存在限制:一根已完成的 UTC 日线 OHLC,无法拆回上述八小时区段。它没有揭示新边界处的价格,也没有显示每个日内极值的先后顺序。应取得足够细、能对齐目标窗口的数据,不要虚构缺失的子区段。
在交易记录中写明分日边界
比较两套日线形态前,记录:
- 交易所、交易品种、价格来源和成交量单位。
- K 线时长、边界时区,以及换算为 UTC 的实际起止时刻。
- 设置改变的是显示标签,还是底层聚合方式。
- 决策当时有哪些已完成 K 线可用,包括数据传输延迟。
- 指标历史与评估期间始终采用相同的边界约定。
固定 UTC+8 不是夏令时规则。地区时区的 UTC 偏移可能变化;TradingView 解释了这种区别。应明确记录约定,不要把城市名称和固定偏移当成始终等价。
有用的问题不是事后哪张图看起来更有说服力,而是规则究竟采用哪个日线窗口,以及在得知结果前是否一直按它执行。
本文为教育材料,不构成财务建议。所有示例数值均为假设。K 线边界会改变测量结果,但不能证明策略有盈利能力。