通达信DDX指标公式里没有 RSV 那样的中间量,也没有 HHV、LLV 这类可以从开高低收推出来的取值。它读的是软件侧已经算好的一列数,公式本身只负责把这列数取出来、换算、画出来。看清这一点,后面关于单位和比对的疑问就都能归位。

这篇按四层讲:三个字段各自量什么、字段怎么被公式引用、数据源决定了数值能不能横向比较、取不到值时按什么顺序查。数值的显示口径以本机公式管理器里的函数说明与指标列表为准。

一、它取的是别人算好的字段

DDX 属于大单动向这一族指标。这一族指标的原料是逐笔成交,不是几秒一次的价格快照。逐笔成交里每一笔都带成交方向与成交规模,先把规模超过某一档的成交挑出来当作大单,再把大单方向上的成交额相抵,得到一个净额,最后与流通盘一类的基准相比,才落到指标数值上。

这条链路里,前半段在数据侧完成,公式侧拿到的是结果。所以想用收盘价与成交量把 DDX 重新算一遍,是算不出来的:快照数据里没有单笔规模,也就分不出哪些成交算大单。

这一层差别带来了实际后果。凡是依赖逐笔明细的字段,它的可用性取决于本机行情档位有没有提供这份明细;档位不足,字段为空,而价格类函数照常有值。

二、三个字段各自量什么

同一族里并列的有三个字段,名字只差最后一个字母,量的东西并不相同。

字段 量的对象 读法上的注意点
DDX(大单动向) 大单方向上的净额,除以流通盘一类的基准 反映的是大单净额与盘子的相对大小,不是成交金额本身
DDY(涨跌动因) 参与成交的账户方向分布,统计的是数量差 与 DDX 可以同向,也可以不同向,两者不互为替代
DDZ(大单差分) 大单净额的自身变化,量的是这一次相对上一次的差值 差分对短期波动更敏感,锯齿形状比 DDX 明显

三个字段并列放在副图上时,方向不一致不是异常,是各自口径不同造成的。DDX 与 DDY 的差别尤其容易被忽略:前者按成交额算,后者按参与方向算,一段行情里成交额集中而参与方分散,两个数值就会背离。

把通达信DDX指标公式接到主图上之前,先确定要读的是哪一个字段。三个字段混用会让后续判断失去参照。

三个字段也有各自的波动节奏。DDX 按成交额计算,数值变化相对平缓;DDZ 量的是自身差分,短周期上锯齿明显。把它们并按在同一个副图上,纵轴刻度不同,视觉上的幅度不能直接比较,需要各自看自己的量级。

所以顺序上先单独看,再合看。同一个副图上并列两个字段时,纵轴只会按其中一条的量级取,另一条容易被压成一条直线,看着像没有波动。

三、字段怎么被公式引用

引用方式是跨指标取值:写一对引号,引号里是「指标名.字段名」。函数名与字段名都要与本机指标列表里的写法逐字对齐,写错一个字母取不到值,编译阶段不会报出与拼写相关的明确提示。

{ 引用系统指标里的字段,而不是从行情自己算 }
DX: "DDX.DDX";
DY: "DDX.DDY";
DZ: "DDX.DDZ";
{ 引号里是「指标名.字段名」,两个名字都要与本机列表逐字对齐 }

字段名一般不随版本改动,指标名会。不同版本对同一族指标的命名方式有过调整,把旧写法搬到新版本上会取不到值。遇到这种情况,到公式管理器里核对一次当前版本的指标名,把引号里的前半段改掉即可。

引用来的字段与其他变量一样,可以参与运算,也可以被赋值语句接住。取到之后先输出一列原始值,再做换算;先换算再看,一旦中间某一步的口径搞错,从结果上不容易回头定位。

引用来的值在公式里可以另起名字接住。起名字这一步值得做:中间变量单独输出时,测试公式的输出区会把它们逐个列出来,取到的是哪一版数据、换算前后差多少,都能对上。

引用范围也有限制。跨指标引用取的是被引用指标的输出字段,被引用指标里没有以冒号输出的中间量,引用不到。这一点在改写他人公式时容易踩到:原作者把变量写成中间量,引用方按名字去取,取回来是空的。

引用来的值在公式里只是一个数,不带单位。换算成什么单位、按什么基准缩放,全部由公式作者决定;同一份字段值配上不同的换算,画出来就是两条不同的线。

四、数据源决定了数值可比性

通达信DDX指标公式的数值能不能比较,取决于比较的两端是否来自同一份数据源与同一套分类规则。

大单的划分标准有两个维度:按成交金额还是按成交手数,阈值取在哪一档。这两项由数据侧设定,公式侧读到的已经是划分后的结果。数据源换了,同一段行情的大单集合跟着换,净额随之改变。

所以跨软件比较这类数值意义有限。拿甲软件上的 DDX 数值去要求乙软件给出同样的数,前提是两边的分类阈值、成交明细粒度、基准口径全部一致,这个前提很难同时成立。

同一软件内部也要看版本。升级后如果字段的基准口径有调整,历史区间上的数值会整体平移或缩放,此时把新数值与升级前记录下来的数值并排放,会得出错误的结论。判断口径是否变过,看的是同一根 K 线上旧值与新值能不能对上。

五、取不到值的排查顺序

字段为空时按下面的顺序查,每一步只排除一类原因。

  1. 先看价格类函数有没有值。同一支公式里 C 有值而 DDX 为空,说明问题在成交明细这一侧,不在公式语法。
  2. 再看行情档位。本机当前接入的行情如果不含更细的成交明细,这一族字段没有原料可算,公式怎么写都取不到。
  3. 再看引号里的指标名。到公式管理器里对照当前版本的指标列表,确认前半段与后半段都与列表一致。
  4. 最后看是不是在盘后。部分数据在收盘后才回补入库,盘中读取与盘后读取的结果可能不同。
{ 字段为空时,先确认成交明细这一侧有没有数据 }
DX: "DDX.DDX";
C1: C;
{ C 有值而 DX 为空,说明问题在成交明细,不在公式 }

六、核对取到的是哪一版数据

核对分两步。第一步在公式管理器里点「测试公式」,看输出区里三个字段各自有没有数值,以及数值的量级落在什么范围。第二步把同一个字段画到副图,与软件自带的同族指标页面对照,两处的形状一致,说明引用到的是同一份数据。

两步之间不要交叉做。先把取值这一层确认下来,再去看换算;取值本身不对,后面画出来的形状再像也没有意义。

两步都过之后,再去看换算部分。凡是在引用值上做过分档、取整或单位缩放的写法,都要单独核对一次:把原始值与换算后的值并排输出,确认两者之间的换算关系是固定的。

记录口径也要留一步。把当前版本的指标名、基准与单位写进公式注释,下次换版本或换数据源时,比对的对象就是这条注释,不必再凭印象回忆。

通达信DDX指标公式能做的事,是把这一族字段取出来、换算并呈现;它算不出字段本身,也改不了数据源给出的划分结果。判断一支 DDX 公式写得好不好,看的是它有没有把这层依赖交代清楚,而不是看它把线画得多复杂。

站内还有 通达信指标原理与参数 的条目,通达信公式编写教程 讲跨指标引用的写法,跨平台对比与公式转换 讲同一支公式换平台后的差异。

本文只作技术研究口径,内容是指标字段的取数与口径问题,不涉及也不构成对任何标的的判断。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。