原创主题配图: 链观 BTC866 原创主题图解 · ChainView BTC866 Editorial · CC BY 4.0
K线概括的是已观察成交
OHLC分别表示区间内首笔、最高、最低和末笔已观察成交,通常不代表每个时刻能成交的报价,更不代表大额订单可获得的价格。先确认数据来自哪一场所、哪个交易对、现货还是衍生品、成交价还是指数价。成交量可能以基础资产、报价资产或合约张数计量,不能混加。还要记录区间是左闭右开还是其他规则,时间戳标记开盘还是收盘;这些细节会影响日线拼接、收益计算与回测信号,图形看起来相同不等于口径一致。
日线从哪个午夜开始
全天交易的市场并没有唯一的本地收盘时刻。UTC日线与纽约、香港或首尔本地日线包含的交易不同,因此开收盘价和涨跌幅可能都不同。涉及夏令时的地区,本地午夜相对于UTC会变化,不能长期固定加减一个小时数。保存原始UTC时间和用于展示的时区,采用带时区的日期处理工具。比较两张图前先统一边界,不要把时区造成的差异解释为行情源出错。跨境读者截图分享时,图注应明确时区与观察日期。
空白不能随意补成零
一个缺失区间可能没有成交,也可能是数据接口分页遗漏、网络中断或场所故障,三者意义不同。把缺失价格补成零,会制造巨大虚假跌幅;前值填充则会隐含价格未变,必须标注为展示处理。若数据源只返回有成交的区间,可另建完整时间索引,并保存缺失原因字段。不要在未知时把成交量也填成零。查询接口的最大条数、排序、包含边界和当前未完成K线,重叠分页后按稳定键去重,避免重复放大成交量。
重采样保持顺序和单位
将分钟线合成小时线时,开盘取最早有效开盘、收盘取最晚有效收盘、最高取最大值、最低取最小值,成交量仅在单位一致且区间不重叠时相加。若中间有缺口,应给合成区间标记不完整;不能把剩余几分钟当作完整一小时。假设六十分钟中缺十五分钟,所得最高最低只是已观察极值,不足以证明全小时范围。对异常成交先保留原始值,说明来源与筛选规则,不因图形不好看而删除尖峰;异常可能真实,也可能需要场所更正。
让图表具有可复核性
归档原始响应、查询范围、接口版本、时区、重采样代码和缺失统计,展示最后完成区间而不是默认把正在形成的蜡烛与完整历史比较。跨场所聚合时说明权重、资产换算、停牌处理与覆盖范围,不能把不同资产符号直接拼接。回测还要防止未来数据进入过去信号,修订后的历史数据应注明版本。给读者的结论应是某一口径下的观察,而不是全市场唯一价格;明确这些条件能减少误判,也让后续数据修正有据可依。
保存数据获取时的完成标记,后续修订历史值时才能判断差异来自新成交、接口修正还是本地处理。



