写通达信大阴线公式,第一版容易把「跌幅」直接拿来当「阴线」用,跑出来一堆并不符合条件的记录。原因在于这两件事用的不是同一个基准:阴线比的是今天的收盘与今天的开盘,跌幅比的是今天的收盘与昨天的收盘。同一个交易日,一只低开高走的品种是阴线、但涨幅为正;一只高开低走的品种是阳线、跌幅却为负。把基准分开,公式才算立住。

一、阴线由收盘与开盘定,不由涨跌定

K 线的颜色只看一个不等式:收盘低于开盘,就是阴线。这一条与昨日收盘无关,与今天涨没涨也无关。写在公式里是 C<O,一个条件就够。

跌停的一字线是这条判据的例外。开盘、最高、最低、收盘四个价格相等时,C<O 不成立,按阴线的严格定义它被漏掉,可图上那根线是实心的深色,跌幅也是当日上限。要让这类记录被算进来,条件得换成「收盘低于昨日收盘」或者两条判据取或。

{ 两类判据,用途不同 }
阴线:      C < O
收阴于昨收:C < REF(C,1)
一字线:    H = L
三条同时成立,才是「下跌的一字线」

把这三行分开写,好处是排查时能定位。命中数偏少,先看是不是漏了一字线那一类;命中数偏多,先看是不是把「收盘低于昨收」当成了阴线。

二、实体幅度有两种分母

通达信大阴线公式里的「大」,量的是实体。实体长度是开盘减收盘,把它变成可比的比例,分母可以取今日开盘,也可以取昨日收盘。两种口径算出来的数值不一样,阈值也不能互相套用。

口径 写法 它回答的问题
相对今日开盘 (O-C)/O 这根线自身跌了多少
相对昨日收盘 (REF(C,1)-C)/REF(C,1) 从上一日收盘算起跌了多少
相对当日振幅 (O-C)/(H-L) 实体在整根线里占多大比重

第三种口径衡量的是形态,不是幅度。一根振幅很小的阴线,实体占比可能接近整根线,看起来「很实」,实际跌幅却很小。要做形态识别,用第三种;要筛幅度,用前两种。混用的结果就是参数怎么调都不顺手。

跳空的日子两种口径会分叉。今天低开之后收在开盘上方,C 仍然小于 O,是阴线,但相对昨收可能是上涨。这时 (O-C)/O 为正、(REF(C,1)-C)/REF(C,1) 为负,同一根线在两个口径下结论相反。选哪个,取决于想抓的是「盘中走弱」还是「相对上一日走弱」。

三、影线决定它像不像一根大阴线

阴线的上影是最高减开盘,下影是收盘减最低。两条影线很长时,实体被压得很短,这根线看上去像十字或者长脚线,与「大阴线」的形态印象不符。所以只卡实体幅度不够,还要卡实体在整根线里的占比。

占比判据写成 (O-C)/(H-L),阈值取 0.5 表示实体占了半根线以上。阈值取多少属于设定值,按分析的宽严自己定,改参数比改判据安全。分母 H-L 在一字线上等于 0,直接相除会报除零或者得到无效值,写的时候要把分母兜住。

{ 大阴线公式骨架 }
P1:=0.03;                  { 实体幅度下限,设定值 }
P2:=0.5;                   { 实体占整根线的比例下限,设定值 }
RNG:=MAX(H-L,0.01);        { 兜住一字线,避免除零 }
BODY:=O-C;                 { 阴线实体,收盘低于开盘时为正 }
DROP:=(REF(C,1)-C)/REF(C,1);
XG:C<O AND DROP>=P1 AND BODY/RNG>=P2;

这段写法里有一个容易忽略的点:BODY 只在阴线上为正,所以 BODY/RNG 大于等于 P2 这个条件在阳线上天然不成立,等于自带了一层过滤。如果把它改成 ABS(O-C)/RNG,阳线也会命中,那就成了「大实体线」而不是大阴线。

四、漏判与误判各查一处

漏判先查一字线。前面说过,C<O 在一字跌停上不成立,取或条件补上之后,这类记录才会进来。补的时候注意不要用 H=L 单独做条件,它同样会命中一字涨停。

误判先查除权。送转或分红之后,未复权的价格序列会出现一个向下的缺口,这个缺口在公式里表现为一根幅度很大的阴线,实际当天并没有跌这么多。判据是看这一天的前收与开盘之间有没有异常的跳空比例,有就排除,或者把公式挂在前复权图上跑。

停牌复牌的日子属于同一类。停牌期间没有成交,复牌当天的前收是停牌前最后一个交易日的收盘,中间隔了多少天,公式并不知情。这类记录在形态统计里属于样本污染,处理办法是给换手率或成交量加一个下限,把复牌首日的异常值挡掉。

新股上市首日也要单独看。首日没有前收,跌幅口径算出来是空值或异常值,形态统计时先剔除。

五、周期不同,实体含义也不同

同一段行情,日线与分钟线算出来的实体并不一样。日线的开盘是集合竞价成交价,收盘是收盘集合竞价的结果;分钟线的开盘收盘是那一分钟内的首末成交。把日线公式直接挂到五分钟图上,阈值不变,命中的却是完全不同的东西。

跨周期使用时,幅度阈值要按周期重新定。五分钟线的单根振幅小于日线,用日线的阈值会一条都命中不了;反过来把分钟线的阈值搬到日线上,会命中一大堆。参数跟着周期走,别指望一套值通用。

还有一处是成交量。日线上放量与缩量的对比,用的是同一口径的成交量;分钟线上,一天的成交量被切成几十根,比较基准完全不同。形态与量能要一起看时,两条线必须在同一周期上。

六、复核的四个动作

通达信大阴线公式写完,别直接拿命中列表当结论。四个动作依次做完,判据才算可信。

  1. 挑一根自己认识的 K 线,手工算一遍实体与影线,看公式在这根线上命中与否。
  2. 把条件逐个拆开跑,先只留 C<O,再叠加幅度,最后叠加占比,看每一步的命中数怎么变。某一层叠加后命中数掉到零,问题就在那一层。
  3. 看命中列表的首尾日期。首日出现在很远的过去,多半是除权缺口被当成了大阴线。
  4. 换一个周期再跑一次,确认阈值是按当前周期定的,而不是沿用上一版的数值。

复核时把中间量输出出来,比只输出最终条件有效。把 BODY、RNG、DROP 三条临时输出到副图,命中与不命中的分界一眼可见,参数该往哪边调也就清楚了。核对完把临时输出删掉,只留最终条件。

通达信大阴线公式的价值在于把「看着像」变成「按条件成立」,它回答的是形态成立与否,不回答这根线之后会怎样。形态本身没有方向,条件写清楚了,后面的统计才有意义。

参数与判据分开存放:幅度阈值、占比阈值写成公式参数,判据写在正文里。日后想换宽严,只改参数表,不动代码,也不会误改判据本身。

站内还有 量价形态与信号拆解 的条目,按形态逐类拆条件;通达信指标原理与参数 讲参数取值对结果的影响;指标回测与风险验证 讲样本污染与异常值处理。

本文只作技术研究口径,内容是 K 线形态的判定条件与公式写法,不涉及也不构成对任何标的的判断。文中参数值为示例设定,按自己的分析需要调整。

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