---
template: sheet
theme: shadcn
title: 环境强度预热根数 · 更正与指数数据补包
subtitle: 700 根 → 环境从第 140 根起 = 2024-07-01，与你的观察完全吻合
cols: 2
source: 交易日历核算 + /root/data/tdx/vipdoc
---

```callout ok 更正: 预热是 140 根, 不是我上轮说的 239 根
你报的 700 根和 2024-07-01 这分界，代入后严丝合缝：700 − 139 = 561，正好是 2024-07-01 到今天的根数。
239 是"窗口必须满"的理论值。通达信的 MA/STD 在数据不足窗口时按已有数据算，所以真正卡住的是 HJZ20 那条，只需 140 根。
```

## A 算得对：700 − 139 = 561 {span=2}

| 项 | 值 |
|---|---|
| 你的可用 K 线 | 700 根（窗口首根 2023-11-30） |
| 环境预热 | 140 根 |
| 环境覆盖 | 561 根 |
| 561 根对应 | **2024-07-01 → 2026-10-23**（与你说的一模一样） |

对照：700 根配 239 预热 → 环境应从 2024-11-26 起；800 根配 239 → 2024-06-28。只有 **700 配 140** 同时满足你给的两个条件。

## B 为什么是 140 不是 239 {span=2}

| 行 | 满窗理论 | 通达信实际 |
|---|---|---|
| `HJ20` 20 日涨幅 | 20 根 | 20 根 |
| `HJD` 120 日回撤 | 120 根 | 1 根（HHV 用已有数据） |
| `HJZ20` = MA/STD(HJ20,120) | 20+119 = 139 | **139 → 第 140 根出值** |
| `HJZDD` = MA/STD(HJD,120) | 120+119 = 239 | 120 根 |
| `HJZ` 两者相加 | 239 根 | **140 根** |

同花顺若坚持满窗才计算，那边仍要 239 根。两平台这里会差 100 根。

## C 代码能拿更多指数数据 · 补包已做好 {span=2}

本机 `/root/data/tdx/vipdoc` 就是**通达信原生格式**的指数日线，全量在位：

| 文件 | 指数 | 根数 | 起止 |
|---|---|---|---|
| sh000001.day | 上证指数 | 8748 | 1990-12-19 → 2026-10-23 |
| sz399001.day | 深证成指 | 8703 | 1991-04-03 → 2026-10-23 |
| sz399006.day | 创业板指 | 3980 | 2010-06-01 → 2026-10-23 |

装上它，环境覆盖从 561 根 → 1861 根（能看到 2019 年）。

| 下载 | 说明 |
|---|---|
| [hdl_idx_day.zip](https://qpyjs.com/env_idx_data/hdl_idx_day.zip) | 三个 .day + 说明.txt，直接覆盖用 |
| [sh000001.csv](https://qpyjs.com/env_idx_data/sh000001.csv) | 上证，走「数据导入」用 |
| [sz399001.csv](https://qpyjs.com/env_idx_data/sz399001.csv) | 深证成指 |
| [sz399006.csv](https://qpyjs.com/env_idx_data/sz399006.csv) | 创业板指 |

## D 装法与先试的省事办法 {span=2}

| 方式 | 步骤 |
|---|---|
| 先试最省事的 | 有些情况本地数据本来就够，只是「K 线显示根数」设成 700。先把它调到 2000，环境会立刻往前扩 |
| A 覆盖文件（PC 版） | 关闭通达信 → 备份原文件 → `sh000001.day` 放 `vipdoc\sh\lday\`，另两个放 `vipdoc\sz\lday\` → 重开 → K 线根数调到 2000 |
| B 数据导入 | 通达信 → 数据导入 → 选 csv（格式：日期,开,高,低,收,成交量,成交额） |
| C 手机版 | 放不了文件。设置里把 K 线数量调到 2000，让软件自己补下载指数 |

```callout warn 覆盖前先备份
指数文件写坏会导致大盘显示异常。三个 .day 先复制一份到别处再覆盖。
```

## E 已同步的公式改动 {span=2}

| 项 | 改动 |
|---|---|
| 数据守卫 | `BARSCOUNT(CLOSE)>=240` → `>=140`（按实测预热改回，避免 140~239 根之间误报「数据不足」） |
| 提示文字 | `数据不足140根` |
| 自检 | 通达信 / 同花顺两平台均通过 |

## F 缩窗换早显示，不划算 {span=2}

| z 窗口 | 最小根数 | 上证可买档单调性 IS | OOS |
|---|---|---|---|
| W120（现行） | 239 根（通达信实际 140） | **+0.94** | +0.79 |
| W80 | 199 根 | +0.71 | +0.71 |
| W60 | 179 根 | +0.13 | +0.79 |

```callout err 不建议缩到 60
W60 只多覆盖 60 根，上证样本内单调性却从 +0.94 塌到 +0.13，样本内区分度等于没了。
折中用 W80（199 根，两段都 +0.71），只省 40 根，意义不大。补数据比缩窗划算。
```

```callout info 板块指数也能导
本机另有 1114 个通达信板块指数（880xxx / 881xxx，2011-10-19 起）全量在位。
想把环境跟踪对象换成某个板块，报代码给我，我导 .day 给你，公式里把 `HJC:=INDEXC;` 改成 `HJC:=("881xxx$CLOSE");`。
```

## G 假消失要分清

如果**档位数值有、扁柱看不见**，那不是预热问题：扁柱画在 y = −2.0 ~ −1.5，被副图纵轴挡住。
把 `STICKLINE(HJ2=..,-2.0,-1.5,..)` 里的两个数改成 `-0.6` 与 `-0.3` 即可。
