---
template: sheet
theme: shadcn
title: 海底捞月副图 · 定版落地 + 同花顺版
subtitle: 通达信按你原样落地只改 3 处不改语义的地方；同花顺换成 INDEXC 并重标定阈值
cols: 2
source: 用户定版 五色令·海底捞月.txt (2026-10-20)
---

Lead: 你的定版逻辑、色值、阈值、输出名一字未动。我改了 3 处「不改语义但会咬人」的地方，另外 4 条建议没动，等你拍。同花顺侧的硬差异是指数引用，不是写法。

## 结论

```callout info 这次交付
通达信版：按你的定版落地，只修注释与表头。

按你选的路线 B：两个平台都读内置 `INDEXC`（个股所属大盘指数），阈值统一重标定。

同一只票在两平台看到同一档，逐日一致。
```

- 你的定版能跑，没有语法错。
- 但第 156 行的 `{` 和 160 行标题里的 `}` 配成了一对，157-160 四行被整段吞掉。
- 效果等于关掉了上涨家数广度和沪深差，看着像有意的，做起来很险。

## 已改的三处

| 项 | 你原来 | 改后 | 为什么 |
|---|---|---|---|
| 注释块吞代码 | 156 `{` … 160 `}` 跨行配对 | 拆成 4 行独立注释 | 下次在 157 行位置加真代码会被无声吞掉 |
| 表头 | 写“绿=离场”，但离场柱是墨绿，和深度线同色 | 逐项写清色与位置 | 看图时两种墨绿分不开 |
| 扁柱注释 | “实心加厚，参数3,0” | “宽2 空心(参数 2,1)” | 注释和代码不符，下次改会看错 |

- 另外表头补了一句：副图离场 80 只标真顶，生产卖点是 60。
- 逻辑行零改动。106 个中间变量、输出名 `M6得分 / L10深度 / L4情绪 / 门控` 全部保留。
- 顺带修掉上一版同花顺文件缺 `HJY` 定义的问题。你这版改用扁柱，已经不需要这个变量。

## 建议但没动的四条

| 项 | 现状 | 影响 |
|---|---|---|
| B/G 覆盖空档 | B黄缺 HJ2=2，G红缺 HJ2≤1 | G 有 53.6% 的字符不显示；B黄 3.7% |
| 离场柱与深度线同色 | 都是 COLOR8FD600 | 深度线到顶时和离场柱糊在一起 |
| 环境指数单点依赖 | 只引 880003 | 取不到数 HJ2=0，B 全灰、G 全消失，像没信号 |
| 副图离场 80 vs 生产 60 | 展示层与席位口径不同 | 副图绿柱不是卖点，容易看错 |

```text title="S1 覆盖补丁 · 10 条 DRAWTEXT 压到 6 条，空档全堵"
DRAWTEXT(C4 AND ZF<6 AND HJ2>=2,1.2,'B'),COLOR88FF2B;
DRAWTEXT(C4 AND ZF<6 AND HJ2<2,1.2,'B'),COLORGRAY;
DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2>=2,1.2,'B'),COLOR2ECBFF;
DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2<2,1.2,'B'),COLORGRAY;
DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=2,1.2,'G'),COLOR4E3BFF;
DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2<2,1.2,'G'),COLOR808080;
```

- `HJ2>=4` 与 `HJ2 3~4` 同色，本来就多余，合掉省 4 行。
- G 在弱环境改成暗灰，看得见但不抢眼，字符不再消失。
- 离场柱改 `COLOR88FF2B` 就与深度线分开了。

## 同花顺写法差异

| 项 | 通达信 | 同花顺 | 已处理 |
|---|---|---|---|
| 注释 | `{}` | `//` | 全量转换 |
| 成交额 | AMOUNT | MONEY | 全量转换 |
| 连续阴线 | BARSLASTCOUNT | BARSLAST((X)=0) | 等价改写 |
| 条件取值 | VALUEWHEN | REF + BARSLAST | 等价改写 |
| 柱宽 | 2 | 6 | 15 处全改 |
| 指数引用 | `INDEXC` | `INDEXC` | 两平台同写法，逐字一致 |
| 白底可见性 | COLORWHITE 白字 | 白底看不见 | 数据守卫改金 |

- 同花顺 NODRAW 与 STICKLINE 五参数两平台一致，原样保留。
- `DRAWTEXT_FIX` 若你的版本报错，删掉那一行即可，只影响“数据不足80根”提示。

## 指数引用：两平台统一 INDEXC

路线 B 已落地：通达信与同花顺都写 `HJC:=INDEXC;`，四个阈值两边逐字相同。

换指数必须换阈值，否则档位整体偏低。阈值由分位匹配算出，不是拍的：

同阈值 `-10/-5, -18/-10` 下，两个口径的 HJ2 档位分布（全历史 8066 个交易日）：

| 口径 | 0 档 | 1 档 | 2 档 | 3 档 | 4 档 |
|---|---|---|---|---|---|
| 平均股价 880003 | 47.5% | 17.9% | 17.7% | 8.4% | 8.5% |
| 上证指数 同阈 | 54.8% | 18.8% | 15.1% | 5.7% | 5.6% |
| 上证指数 重标定 | 46.4% | 19.5% | 18.3% | 7.2% | 8.6% |

近 250 日差距更大：平均股价 67.2/18.0/4.8/4.0/6.0，上证同阈 86.8/10.0/3.2/0.0/0.0。

重标定阈值（等效命中率）：HJ20 从 `-10/-5` 改成 `-8/-4`，HJD 从 `-18/-10` 改成 `-15/-8`。

```callout warn 今天的读数会变，先看这一条
2026-10-20 上证：HJ20 −3.86、HJD −11.96 → 重标定阈值下 HJ2 = **1**，门控关。

换指数前（880003 平均股价）同一天是 HJ20 −8.77、HJD −24.01 → HJ2 = 3，门控开。

差别来自这轮小票杀得比大盘狠。换口径后副图会更保守，这是路线 B 的既定代价。
```

- 重标定后五档占比 46.4 / 19.5 / 18.3 / 7.2 / 8.6，对齐 880003 的 47.5 / 17.9 / 17.7 / 8.4 / 8.5。
- `INDEXC` 跟随标的所属市场：沪票读上证、深票读深成指，所以档位不跨市场横比。
- 想改回平均股价口径：通达信 `880003`、同花顺 `883957`，阈值同时改回 `-10/-5` 与 `-18/-10`。

## 两平台对齐的收口

| 项 | 通达信 | 同花顺 |
|---|---|---|
| 指数代码 | `HJC:=INDEXC` | `HJC:=INDEXC` |
| HJ20 阈值 | `-8 / -4` | `-8 / -4` |
| HJD 阈值 | `-15 / -8` | `-15 / -8` |
| 环境块 | 逐字相同 | 逐字相同 |

- 走的是路线 B：两平台同一写法，同一阈值，逐日一致。
- 装好后第一眼看「L4情绪」：两边同一天必须是同一个数，今天应为 1。
- 想回平均股价口径随时可切，两边指数与阈值一起改，不要只改一边。

## 通达信版代码

```text src=haidilaoyue_TDX_subplot.txt
```

## 同花顺版代码

```text src=ths_haidilaoyue_subplot.txt
```

```html
<script>
(function(){
  function addCopy(){
    document.querySelectorAll('pre').forEach(function(pre){
      if(pre.closest('.cpwrap')) return;
      var w=document.createElement('div'); w.className='cpwrap';
      pre.parentNode.insertBefore(w,pre); w.appendChild(pre);
      var b=document.createElement('button'); b.textContent='复制代码'; b.className='cpbtn';
      b.onclick=function(){
        var t=pre.innerText;
        function ok(){b.textContent='已复制';setTimeout(function(){b.textContent='复制代码';},1500);}
        function fb(){var ta=document.createElement('textarea');ta.value=t;document.body.appendChild(ta);ta.select();try{document.execCommand('copy');ok();}catch(e){b.textContent='请手动复制';}document.body.removeChild(ta);}
        if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t).then(ok).catch(fb);}else{fb();}
      };
      w.appendChild(b);
    });
  }
  if(document.readyState!=='loading'){addCopy();}else{document.addEventListener('DOMContentLoaded',addCopy);}
})();
</script>
<style>
.cpwrap{position:relative}
.cpbtn{position:absolute;top:8px;right:8px;z-index:5;padding:4px 10px;font-size:12px;border:1px solid var(--line,#e4e4e7);border-radius:6px;background:var(--fill,#f4f4f5);color:var(--ink-2,#52525b);cursor:pointer}
.cpbtn:hover{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}
</style>
```

## 文件与复现

- 通达信源：`/root/lxxg/src/①指标公式_海底捞月_副图_TDX.txt`
- 同花顺源：`/root/lxxg/src/①指标公式_海底捞月_副图_THS.txt`
- 生成器：`python3 /root/lxxg/gen_ths_haidilaoyue.py`
- 指数标定：`/root/.hermes/cache/scratch/hj_index_calib.py`
- 选股公式源文件未动。刻度窗口已同步刷新：深度线改墨绿、删掉深度填柱、B/G 按振幅三档上色。
- 备份：`/root/backups/hdl_final_20261020/`（含改动前的通达信源与同花顺文件）
