通达信锤子线信号公式的难点在于把「下影线长」翻译成可量化的边界。影线相对实体要多长才算长、上影线允许留多少、这根 K 线出现在哪一段之后才算有意义,三个问题各定一组数,信号才会稳定。只写一句下影线比实体长若干倍,选出来的东西会跟着参数一起晃。
下面按条件拆解、度量口径、位置前提、参数影响、稳定性检查、假信号来源与记录方式七层讲。文中涉及的函数名为通达信客户端的通用描述,不同版本与券商定制版对函数的名称与参数允许范围可能存在差别,请以你所用客户端的帮助文档与实际编译结果为准。
一、形态量化要拆成三组条件
通达信锤子线信号公式的做法是把形态描述拆开。锤子线的描述里包含三个可量化的部分:实体很短、下影线很长、上影线很短或没有。这三部分各自都需要一个判据,缺一组就会出现漏判或误判。
| 条件组 | 要定义的量 | 漏掉后的表现 |
|---|---|---|
| 实体 | 开盘与收盘的差值的上界 | 把大实体长下影的 K 线也算进来 |
| 下影线 | 下影线相对实体或价格的下界 | 信号数量过少,形态特征被削弱 |
| 上影线 | 上影线上界 | 把带长上影的十字形也算进来 |
三组都定完之后,还有一组描述位置的信息不在形态本身里,属于出现前提,放在下一节讲。
二、度量口径:分母取谁
「下影线很长」这个说法在通达信锤子线信号公式里要落地,必须给出一个分母。分母的取法有三种,各自的含义不同。
第一种用实体长度作分母,判据是下影线长度与实体长度的比值。这种口径最贴近形态的本意,问题在实体极短时比值会被放大,一根几乎无实体的十字线会被判为长影线。
第二种用整根 K 线的价格区间作分母,判据是下影线长度占最高最低价差的比例。这种口径不会因为实体过短而失真,代价是它同时受总量级影响。
第三种用价格本身作分母,判据是下影线长度占收盘价的比值。这种口径的优点是跨标的可比,适合把同一个公式用到不同价位的标的上。
{ 三种度量的写法对照 }
实体:=ABS(C-O);
下影:=MIN(C,O)-L;
上影:=H-MAX(C,O);
振幅:=H-L;
{ 口径一:相对实体 }
比值一:=IF(实体=0, 0, 下影/实体);
{ 口径二:相对整根区间 }
比值二:=IF(振幅=0, 0, 下影/振幅);
{ 口径三:相对价格 }
比值三:=下影/C;
三种口径都要处理分母为零的情形。一字线上振幅为零,几乎无实体的 K 线上实体为零,除零会出现极值或空值,进而把判定结果拉向一侧。处理办法是在分母为零时直接给出一个安全值,而不是让它参与比值计算。
三、位置前提怎么写
同一根带长下影的 K 线,出现在一段下跌之后与出现在一段上涨之后,含义完全不同。公式里描述位置可以用三类线索:一段区间内的累计变动、当前价与均线的距离、以及当前价在近期区间里的相对位置。
{ 三类位置线索的写法 }
{ 线索一:前 N 根的累计变动 }
前段变动:=REF(C,1)/REF(C,N)*100-100;
{ 线索二:与均线的距离 }
均线距离:=C/MA(C,20)-1;
{ 线索三:在近期区间中的相对位置 }
区间位置:=(C-LLV(L,N))/(HHV(H,N)-LLV(L,N));
{ 三条线索可以任选一条作为前提,也可以组合 }
位置前提的作用是缩小范围,它同时也是一处新的可调参数。把前提去掉,信号数量会明显增加;把前提收紧,数量会减少。任何一次数量变化都要连带记录前提的写法,否则两组数字没法对比。
四、参数改动各自改变什么
| 改动的参数 | 信号数量 | 形态的严格程度 |
|---|---|---|
| 下影线比值下界调高 | 减少 | 更严格,留下的影线更长 |
| 实体上界调高 | 增加 | 更宽松,允许实体更大 |
| 上影线上界调低 | 减少 | 更严格,剔除了带长上影的那些 |
| 位置前提收紧 | 减少 | 范围更窄,信号落在特定区间 |
四个方向里,下影线比值对数量最敏感。把比值下界从两倍调到三倍,保留下来的信号数量会下降一大截,因为能同时满足「实体短」与「影线长」的 K 线本来就不多。调试时先固定其余三项,只动这一项,看数量随比值变化的曲线,再决定停在哪儿。
实体上界的影响方向与之相反。把上界放宽,允许出现的实体变长,信号数量会增加,同时形态特征的强度被稀释。调试时容易犯的一个错是同时动两个参数,数量变化了却说不清是哪一项造成的。固定三项、只动一项,改动与结果之间的对应关系才是清楚的。
五、稳定性怎么检查
检查方式是把同一组参数分区间跑,看信号在时间上的分布是否均衡。把一个较长的区间切成若干段,分别统计每一段的信号数量与信号之后若干根的走势分布。
如果信号集中在少数几段里,其余段落几乎没有,说明这组参数对某一种行情特别敏感。这种集中本身不是错误,但用它推演到其他时间段落会产生落差。把每一段的日期范围、信号数量、后续走势的分布三项一起记下来,比只记一个总数有用。
分段数量也有影响。切得太少,每一段内部的行情结构混杂,集中程度被平均掉;切得太多,每一段的样本又不够,信号数量少到看不出分布。可行的起点是把区间切成六到十段,先看分布形状,再决定是否需要更细的切法。切法与段数都写进记录,下一次沿用。
六、三处会制造假信号的情形
第一处是长期停牌后的第一根。停牌期间数据缺档,复牌那一根的价格与前一档之间落差较大,影线被拉长,形态上很容易满足条件,但它反映的是停牌而不是形态成立。可以在公式里加一条数据连续性条件,把缺档的根排除。
第二处是除权日附近。除权之后价格按比例下移,影线的长度受到调整影响,前一天与后一天的形态无法直接比较。使用不复权数据时,这一处的影响最明显。
第三处是一字线。开盘价等于收盘价等于最高价等于最低价,实体与上下影线同时为零,任何以比值为基础的判据都会落到分母为零的分支上。处理办法是把振幅为零的根直接排除,而不是给它一个比值。
七、记录与复核方式
一条可复核的记录至少包含四项:度量口径、三个边界的取值、位置前提的写法、以及统计所用的区间切法。四项写全,换个人按同一套条件跑一遍,得到的信号数量应当一致。
{ 把参数写成显式常量,便于记录与修改 }
影线倍数:=2.0;
实体上界:=0.3;
上影上界:=0.5;
前提天数:=20;
{ 改参数只改这一段,公式主体不动 }
形态类信号的复核要点是同一根 K 线会不会被两条不同的规则同时选中,以及同一条规则在不同数据长度下是否稳定。与形态拆解相关的方法,见 量价形态与信号拆解 一栏;区间的切法与记录字段的设计,见 复盘方法与数据工具 一栏。
八、这套条件的边界在哪
通达信锤子线信号公式描述的是单根 K 线内部四个价格之间的关系,它不包含这根 K 线之前的全部信息和之后的任何信息。把位置前提加进去,也只是把范围缩小到某一段,并没有改变这个边界。
另一处边界是参数与统计结果绑在一起。换一组边界,信号数量与后续走势的分布都会变,因此任何关于这组参数下信号表现的描述,都必须连带写明参数取值、度量口径与统计区间。脱离这些条件谈「这个信号准不准」,得到的只是某一组特定参数在某一特定的时间段上的描述。
文中函数名与参数结构为通达信客户端的通用描述;不同版本与券商定制版对函数的名称、参数允许范围与除零处理存在差异,具体请以你所用客户端的帮助文档与实际编译结果为准。本文只讨论公式写法与统计口径,不构成任何投资建议。
