通达信USEDDATANUM和LOCALDAYNUM有什么区别?数据范围排错
适用范围:通达信历史数据加载和本地数据完整性核对。USEDDATANUM表示当前使用的数据个数,LOCALDAYNUM表示客户端本地已下载的该品种日线数据个数并包含当日。两个字段都与数据量有关,但统计对象不同,不能直接互换。

一、两个字段分别数什么
USEDDATANUM回答“当前公式或数据环境正在使用多少数据”;LOCALDAYNUM回答“本地已经下载了多少日线数据,并包含当日”。一个强调当前使用范围,一个强调本地日线存量。官方定义没有把二者写成同一个计数器。
如果当前切换到分钟周期,不能看到USEDDATANUM就直接把它解释为日线条数;同样,LOCALDAYNUM是日线数据字段,不能用来证明分钟数据已经完整下载。
二、最小观察公式
USED:USEDDATANUM;
LOCAL_DAYS:LOCALDAYNUM;
USED_BARS:BARSCOUNT(CLOSE);
把三个输出同时记录,便于区分“客户端本地有多少日线”“当前公式用了多少数据”和“当前序列有效了多少根”。BARSCOUNT已有有效数据周期教程,这里作为第三个参照,不把三个字段强行比较成相等。
三、为什么下载数据后结果仍可能不同
增加历史数据、切换周期或重新加载行情,都可能改变当前可用范围。若公式只使用最近N根,USEDDATANUM的观察结果还可能受公式、周期和客户端加载状态影响。LOCALDAYNUM增加则说明本地日线存量变化,但不自动证明公式已经使用了全部新增数据。
排错时记录品种代码、周期、复权状态、三个输出、开始和结束日期。不要用补零方式掩盖空值,也不要把一次数据加载后的数量当作所有品种固定值。
四、常见误判
把LOCALDAYNUM当成服务器完整历史长度,是第一种误判;它描述本地已下载的日线数量。把USEDDATANUM当成BARSCOUNT,是第二种误判;当前使用数量和有效序列长度取决于不同条件。把数字变大直接写成数据质量变好,是第三种误判;还要检查是否产生了重复、缺口或周期错位。
已有盘后日线数据下载文章说明官方数据包和本地目录排查;本文专门解释公式中的三个数量字段。
来源与限制
原始依据:通达信用户红宝书及官方函数文档中的USEDDATANUM、LOCALDAYNUM、BARSCOUNT条目。公式和排错表为原创,未做所有客户端版本和周期的实测。
数量字段用于数据范围理解,不证明收录、行情质量或交易机会。




