跳到正文

缠论线段划分规则图解:特征序列、笔破坏与结束确认 ​

看线段时,最容易卡住的往往是这几处:三笔已经有了,怎么还没连成段;特征序列到底挑了哪些笔;结束点明明在前面,为什么实线到后来才出现。下面用图把 Struct Guide 缠论助手(以下简称插件)的处理过程一步步展开。

线段计算依据原文规则实现;原文未明确的处理细节,由插件公开说明实现约定。 下面既列出检查条件,也说明缺少参照时的处理、两条路径的取舍和更新后的显示变化。

“明明已经有三笔了,为什么还没有线段?”

“特征序列、缺口,这些词具体对应哪些笔、哪些价格?”

“结束点在前面,为什么实线到后面才出现?”

先看前三笔,再看旧段怎样结束。两条结束确认路径分别放在3.1和3.2里,后面接着说实线、虚线怎样显示。如果想先查一笔为什么能连接,见笔的画线规则。

1. 插件怎样从笔序列计算线段? ​

插件拿已经接出的笔继续算线段,尾部那一笔也可能还在等待确认。候选线段至少要有三笔,方向按第一笔记:第一笔向上,就按向上候选检查;第一笔向下,就按向下候选检查。方向在这里只描述连线。

从原始 K 线到线段,中间要经过包含处理、分型识别和接笔。下面从这些笔开始,先看看哪三笔能作为一段的起点。

2. 起始检查:三笔还要有共同区间 ​

先把一笔两端的价格写成 [最低价, 最高价]。比如10到18这一笔,区间就是 [10, 18]。

再把前三笔放在一起,找它们共同经过的那一段价格:高点取最小值,低点取最大值。前者必须严格大于后者,共同区间才有宽度。

输入笔端点价格区间
第1笔10 → 18[10, 18]
第2笔18 → 12[12, 18]
第3笔12 → 20[12, 20]

这三笔里,高点最小是18,低点最大是12,18 > 12,所以共同区间是 [12, 18]。先有这三笔时,插件从10连到第三笔终点20,画虚线,接着等后面的确认条件。

线段起始:前三笔必须有共同区间三条输入笔的共同区间为 [12, 18]。虚线连接起点与第三笔终点,表示待确认候选线段。
线段起始:前三笔必须有共同区间

如果只碰在一个价位,就不通过。看 10 → 18 → 8 → 10:三笔范围分别是 [10, 18]、[8, 18]、[8, 10],共同部分只剩10,宽度为零。这里单独演示三笔的区间检查,每条笔本身仍须满足连接条件。

起始检查只看开头这三笔,后面的笔不用每一条都留在同一个区间里。如果开头三笔不满足,插件就不会从这里画出待确认线段。

还没找到第一条线段时,可以继续往后找起点。前面一段已经确认后,下一段就要从共同端点接上,不能跳过中间的笔另起一段。

3. 线段结束的两条确认路径 ​

旧段在哪里结束,插件会同时看下面两条路径:

不论走哪条路径,旧段的基本结构和结束价也都要满足要求。

3.1 路径一:特征序列确认 ​

这条路径先挑反向笔,把区间排好,再比较它们的高低。先跟着下面这张图看怎样挑。

插件怎样选取特征元素?

看图中向上候选这一组,先挑出向下的笔。每一笔都取两个端点之间的价格范围,再按先后顺序放好。接下来,插件会比较这些笔的区间,图里的区间框并不是行情 K 线。

图的上层保留了连续的笔,蓝色是挑出来的部分。20 → 14 这一笔,记成 [14, 20];25 → 18 记成 [18, 25];28 → 22 记成 [22, 28]。向下候选反过来,挑向上的笔,过程画在下半部分。

插件怎样从笔序列选取特征元素向上候选抽取向下笔,向下候选抽取向上笔;同色笔通过箭头对应到按时间排列的端点区间。竖框只表示区间,不是行情K线,也不表示已经满足分型确认条件。
插件怎样从笔序列选取特征元素

下面的 E1、E2、E3 按抽取顺序编号。这一组没有相邻包含,可以直接看到三个区间。实际计算还要处理包含和候选分界,再挑出用于比较的 F1、F2、F3;抽取出三项本身,还不能确认旧段结束。

候选线段特征元素取自检查的局部形态
向上线段向下笔的端点价格区间中间元素高点、低点均严格高于两侧
向下线段向上笔的端点价格区间中间元素高点、低点均严格低于两侧

比较时,高点和低点两组都要满足,相等不通过。表里的向上、向下仍只指连线方向。

特征元素也会合并,但方向从哪里来?

选出的区间里如果有包含,也要合并。先看被合并元素之前的非包含元素:高低点都抬高,按局部向上处理,取较高的高点、较高的低点;高低点都降低,按局部向下处理,取较低的高点、较低的低点。相等也计入包含,留下的价格各自保留来源端点。

第一、第二特征序列共用这套局部方向规则,不固定跟随候选线段方向。序列开头如果没有前置非包含元素可作参照,插件才沿用传入的初始方向;这是缺少参照时的起始约定,不用后来的元素倒推方向。

第一序列构造候选窗口时,假设转折点两侧不能跨界合并。左侧元素可以给右侧提供局部方向参照,但不会因此并入右侧的价格和来源笔。第二特征序列正常处理包含,不套用这条分界限制。

下图两组用的是同样的 A=[10,20]、B=[12,18],只换前置参照 P。上半图从 P 到 A 高低点都抬高,合成 AB=[12,20];下半图高低点都降低,合成 AB=[10,18]。决定取值的是 P 与 A 的局部关系,P本身不并入AB。

特征序列按前置非包含元素确定局部合并方向两组同样的A=[10,20]、B=[12,18],分别借助P=[5,9]和P=[21,25]确定局部向上或向下,合并为[12,20]或[10,18];P只提供方向,不参与合并。
特征序列按前置非包含元素确定局部合并方向

为什么不能把所有元素一次合并后再找结束点?

插件每尝试一个结束位置,就把它暂当作分界。左侧合并后留下的最后一项作为 F1;右侧按时间处理,等得到两个标准元素 F2、F3,就用这三项比较。这个窗口检查完,不用更晚的元素回头改写它。

结束位置跟着 F2 的价格来源找:向上候选找高点来自哪条笔的端点,向下候选找低点来源。如果包含合并把这个极值移到了更晚的笔,插件会放弃旧窗口,按新的假设转折点重新检查两侧,不能继续借用新转折点之前的价格来构造 F2。接着还要看能否确认。

分型成立后,怎样区分缺口?

三项的高低关系满足分型后,再看 F1、F2 的价格范围有没有隔开。

这里比较的是这个候选位置旁边挑出的 F1、F2、F3,不一定是整条序列最早的三项。

  • 向上线段:F1 最高价 < F2 最低价,记为有缺口。
  • 向下线段:F1 最低价 > F2 最高价,记为有缺口。
  • 边界相等归入无缺口。

这里看的只是两个特征区间之间有没有空隙,和原始 K 线是否跳空是两项检查。

检查结果插件接下来的行为
局部形态成立、前两个元素无缺口取得候选结束点,结合旧段基本结构与结束价方向校验
局部形态成立、前两个元素有缺口保留候选,等待反向第二特征序列形成对应分型
第二序列确认前,原方向先出现严格更极端的端点原候选失效,继续考察后续位置

看下图两组向上候选:蓝线是取来比较的向下笔,灰线是中间的向上笔。每个元素都来自一条笔,没有包含要合并。两组 F2 的高低点都比两侧高,只差 F1 高点与 F2 低点之间有没有空隙。

线段确认:区分前两个元素是否有缺口蓝色向下笔依次对应 F1、F2、F3。比较 F1 高点与 F2 低点;有缺口时须等待第二特征序列条件,无缺口也仍需后续校验。
线段确认:区分前两个元素是否有缺口

3.1.1 无缺口:第一序列分型成立后确认 ​

向上旧段按下面三步检查:

  1. 第一序列的顶分型成立。 取得三个标准特征元素 F1、F2、F3;F2 的高点与低点都严格高于两侧。只有 F1、F2 时,还不能确认。
  2. F1、F2 无缺口。 F1 最高价 ≥ F2 最低价,相等也归入无缺口。
  3. 结束点通过整体校验。 取 F2 最高价的真实来源位置作为旧段结束点;此前旧段须至少三笔、前三笔严格重叠、末笔方向与旧段一致,且结束价高于起点价。

三项都满足,旧段就能转为实线,不用再等第二特征序列,也不用额外等下一笔。留意结束位置:F3 到位时才知道条件齐了,但线仍结束在前面 F2 的高点来源处。

把下图从左往右看:10 → 20 → 12 → 25 → 15 → 22 → 13。挑出的 F1=[12,20]、F2=[15,25]、F3=[13,22],中间高点25 > 20、22,低点15 > 12、13,两组都通过;再看20 ≥ 15,前两项无缺口。到13这一步,确认条件齐了,旧段仍结束在较早的25。

无缺口:第一序列的第三元素到位后怎样确认结束F1=[12,20]、F2=[15,25]、F3=[13,22]形成顶分型,且20≥15无缺口。F3到13时取得确认依据,旧段结束在F2高点来源25,不必等待第二序列。
无缺口:第一序列的第三元素到位后怎样确认结束

换成向下旧段,就看第一序列底分型,F1 最低价 ≤ F2 最高价归入无缺口,结束位置取 F2 低点的真实来源。整体条件通过后,旧段确认结束。

3.1.2 有缺口:等待第二特征序列确认 ​

有缺口时,先把结束点留下,继续等。插件从这个候选点开始,按反方向选取笔、处理包含,再比较第二组特征序列。

原候选线段第一序列的局部形态反向候选第二序列取哪些笔、等待什么
向上线段顶分型向下取向上笔区间,等待底分型
向下线段底分型向上取向下笔区间,等待顶分型

插件在这里采用的检查方向是:向上旧段等第二序列底分型,向下旧段等顶分型。例如 [20, 25]、[15, 24]、[18, 27] 这三项,中间高点24、低点15都比两边低,满足底分型比较。

第二序列仍按时间往后处理,一旦首次满足分型条件,就保留这次确认,不让更晚的包含合并回头撤销它。等的过程中,还要看旧候选有没有先失效;碰到某个价格,或者单条反向笔变长,都还不足以替代这组检查。

先看下图上半部分。F1=[5,10]、F2=[20,30]、F3=[15,25] 已经通过顶分型比较,但 10 < 20,前两项之间有缺口。所以这时只能把30留作候选,还不能确认旧段结束。

下半部分接着往后走。候选点之后的向上笔依次给出 T1=[20,25]、T2=[15,24]、T3=[18,27]。中间高点24、低点15都比两侧低,第二序列底分型成立。到 T3 终点27,旧段才取得确认依据,结束位置仍在30。 在这之前,向上端点25、24、27都没严格高于30,候选没有先失效;旧段的整体条件也要通过。

有缺口:第二特征序列到位后怎样确认结束第一序列顶分型有缺口,结束在30仍是候选。第二序列[20,25]、[15,24]、[18,27]形成底分型,且候选未先失效,才确认旧段结束在30。
有缺口:第二特征序列到位后怎样确认结束

3.2 路径二:第一笔破坏后的成段确认 ​

这条路径从第一反向笔看起。它先要满足笔破坏条件,再往后等反向笔满足成段确认条件。也就是说,发生笔破坏以后,旧段还可能需要继续等待。

这一步与前面的特征序列分别检查。向上旧段要满足:

  1. 候选前的旧段至少三笔,前三笔严格重叠,最后一笔与旧段同向。
  2. 第一条向下笔的终点,低于或等于旧段中某条较早向上笔的顶点;这条较早向上笔与第一条向下笔之间至少隔着两笔。比较的是后底与前顶,不要求跌破旧段此前的底。
  3. 从候选端点开始至少已延伸出三笔,后续向下笔终点再次严格低于第一条反向笔终点,且在此之前,与旧段同向的向上笔没有严格高于候选结束价。

向下旧段把高低方向反过来。看等号时,留意下面两处差别:

  • **笔破坏与结束确认:**第2项允许价格相等;第3项要求后续反向笔严格越过第一反向笔终点,仅回到该终点还不能确认结束。
  • **候选失效位置:**确认之前,与旧段同向的笔严格越过候选结束价,候选才因此失效;仅回到该价格,不会因此失效。向上旧段检查是否严格更高,向下旧段检查是否严格更低。

数据还没够,就继续等。这条路径把结束位置放在第一反向笔开始之前的那个真实端点,不要求第一特征序列先出现常规分型。笔破坏可以取等号,后面的结束确认仍要严格越过第一反向笔终点。

看下图,前面是 10 → 20 → 14 → 25,共同区间为 [14, 20]。第一反向笔从25到18,18 ≤ 较早前顶20,已经满足笔破坏比较;18虽然还高于前底14,也没有关系。被比较的前顶20所在笔与第一反向笔之间,正好隔着 20 → 14、14 → 25 两笔。

接下来分两种后续:先到22、再到16,16严格低于第一反向笔终点18,旧段就确认结束在25;如果还没确认,先到26,高于候选价25,那么25处的结束假设失效。图里第二、三幅分别画了这两种结果。

笔破坏与线段结束:先破坏,再等待确认第一反向笔到18,低于前顶20但高于前底14,已发生笔破坏。后续到22再到16,才确认旧段结束在25;若先到26,则该候选失效。三图沿用相同价格坐标。
笔破坏与线段结束:先破坏,再等待确认

3.3 两条路径都有结果时,怎样选择? ​

插件分别检查两条路径,再按下面的顺序选择:

  • **一条已确认、另一条还在等:**采用已确认的结果,待确认候选不会把它挡住。
  • **两条都已确认:**比较结束点在笔序列里的位置,优先采用位置更早的有效结束点。这里比较的是结束点位置,不是谁先取得确认依据。
  • **两条都待确认:**优先保留位置更早的候选,继续等待。同一位置上,两条路径都已确认时采用特征序列的结果。

选出的结束点仍须通过线段整体检查。这个取舍顺序是插件的实现约定。 第71课说明了假设转折点及其检验方法,但在本页核对的第67、71、78课中,没有找到“两条路径分别得到不同结束点时,应按位置还是确认时间排序”的明确规定。

这也会带来一种看起来像“实线往回改”的情况。例如:

0 → 10 → 5 → 30 → 20 → 25 → 8 → 15 → 6

先看25处:第一反向笔25→8,8 ≤ 较早前顶10,满足笔破坏。随后8→15→6,6严格低于第一反向笔终点8,中间15也未高于25。走到6时,25处取得确认依据,插件先采用这个结束点;更早的30处仍在等待第二特征序列。

25处确认的第一笔破坏与后续成段依据25到8满足笔破坏,后续到15再到6,6低于8且15未高于25,确认依据到6才齐备;蓝线结束点仍在25。
25处确认的第一笔破坏与后续成段依据

再追加 →16 →9 →18。30处的第一序列已有顶分型,但F1=[5,10]与F2=[20,30]之间有缺口,10 < 20,所以要看后续第二序列。图中四条向上笔给出 [20,25]、[8,15]、[6,16]、[9,18]。中间两项包含,按前置非包含元素确定的局部向下方向合成 [6,15]。

整理后是 [20,25]、[6,15]、[9,18]:中间高点15低于两侧25、18,低点6也低于两侧20、9。到18,第二序列底分型成立,30处取得确认依据。 在此之前,向上端点25、15、16、18均未高于30,候选没有先失效。

30处确认的第二序列底分型与包含处理依据第二序列四项经局部向下包含合并为[20,25]、[6,15]、[9,18],底分型在18形成;30未先失效,两条路径都确认后采用位置更早的30。
30处确认的第二序列底分型与包含处理依据

此时两条路径都确认,插件改用位置更早的30,并从那里重新检查后续线段的衔接。图中把结束点25、30和取得确认依据的时点6、18分别标出,核对时要分开看。

因此,即使前面的笔没有改变,只追加后续数据,也可能因更早候选后来得到确认而调整已有划分。 这和原方向出现严格更极端的端点、使候选失效,是两种不同的处理。

4. 确认与显示:结束点位置与实线出现时间 ​

最后再看旧段的基本结构和两端价格:向上段的结束价必须高于起点,向下段必须低于起点。这一遍没过,就放弃这个候选,接着往后找。

线型显示规则
实线当前输入下通过确认检查的线段
虚线已通过起始检查、仍待确认的线段;先以第三笔终点作为绘制端点,之后只由同方向更极端的笔端点推进

虚线有时停在前面,后面几笔却还在参与计算。线画到哪里,和插件已经看到哪里,可以不同。

比如旧段结束在25,是后面走到13才确认的:实线会在那时出现,但终点仍留在25,不会挪到13。看某一条线是否符合规则,除了线型何时变化,也要回到候选位置和后续笔一起看。

4.1 输入更新时怎样核对? ​

实线表示这条线段在当前输入和候选选择下通过了确认检查,不表示它以后一定保持原样。只追加后续数据,也可能让更早的候选取得确认依据,插件会按两条路径的取舍顺序重新选择结束点,再检查后续衔接。

另外,实时 K 线也可能改变前面的分型、笔端点或确认状态;底下的笔变了,线段就得跟着重新检查,见笔的更新说明。

换周期、复权、历史范围或笔模式,也会换一组输入。实时页面跟着 K 线更新重算;结构回放则用增量计算,从受影响的位置往后检查。重算之后,原有条件没变的线段仍可能保持原样。

想看一条线从虚线变实线,可以做结构回放,同时记住结束点在哪里、确认发生在哪一步。

4.2 面板有哪些相关设置? ​

线段图层默认打开,改过并保存后会沿用你的设置。关图层只隐藏线,计算仍继续。面板没有单独的缺口开关,也没有“严格/宽松线段”;严格/宽松选的是笔模式,笔变了才会影响线段,见参数总览。

5. 画线规则速查 ​

核对项插件的实现规则
输入使用笔序列,末端可能包含待确认笔
起始检查前三笔高点的最小值严格大于低点的最大值;交集只剩一个价格点不通过
方向与衔接名称取自第一笔,只标识连线方向;已有已确认线段后,从共同端点连续衔接
特征元素取候选方向的反向笔区间;两套序列均按前置非包含元素确定局部合并方向;第一序列候选分界两侧不跨界合并
第一序列分型向上候选检查顶分型,向下检查底分型;高低点两组均严格比较
缺口向上比较 F1 高点与 F2 低点,向下比较 F1 低点与 F2 高点;相等为无缺口
第二序列有缺口时,向上旧段等待反向序列底分型,向下旧段等待反向序列顶分型;同时检查候选是否先失效
两条路径已确认结果优先于待确认候选;都已确认时,取位置更早的有效结束点,不按确认时间排序
结束点取真实来源端点;候选前笔结构、末笔方向与结束价方向须通过校验
虚线端点第三笔终点作为初始位置,后续只由同方向更极端的笔端点推进
更新边界更早候选后来取得确认,也可能重选结束点并重查后续衔接;基础笔或输入设置变化时同样重新核对

快速查某个条件可以用上表;想和其他软件对照,建议先把笔序列对齐,再比较这些处理步骤。

6. 常见问题 ​

6.1 已经三笔,为什么还没有线段? ​

先看前三笔是否有一段带宽度的共同区间,再看能否从上一段端点接上。这里数的是笔,不能拿原始 K 线数量代替,见起始图解。

6.2 为什么虚线端点不跟着最新反向笔移动? ​

因为反向笔主要在帮助判断旧段何时结束,虚线仍指着当前候选终点。只有同方向的后续笔出现更极端端点,才会把虚线移到那个新端点。两条检查路径见特征序列和第一笔破坏后的成段确认。

6.3 为什么结束点在前面,实线却到后来才出现? ​

结束点在候选处,确认却要等后续笔。所以后面条件齐了,线会变实,但终点仍留在前面。有缺口时,还要继续等第二序列,见特征序列确认。

6.4 发生笔破坏,就能确认原线段结束吗? ​

还不能。这条路径要继续看反向笔能不能满足成段条件、原候选有没有先失效,见第一笔破坏后的成段确认。另一条特征序列路径单独检查分型和缺口;条件没齐时,旧段继续等。

6.5 插件对笔与线段分别检查哪些条件? ​

图上两者都是线,计算时用的材料和确认方式却不同:

对比项笔线段
计算输入包含处理后的标准 K 线与顶底分型已生成的笔序列
连接与划分顶底分型连接,须通过价格、间隔及不共用标准 K 线等检查先查前三笔共同区间,再查两条结束确认路径
确认依据合法反向笔提供前一笔的确认依据特征序列确认,或第一反向笔造成笔破坏后的成段确认

所以,看到三笔只是检查的起点,后面还有区间和结束条件要看。笔自身怎样连接,见笔的画线规则。

只想看线段时,可以关掉其他图层,把画面留清楚些;关闭显示不影响内部计算。中枢矩形则用已经确认的线段来计算区间。

如果想查图上某一段,可以先从它开头的三笔看起,再沿着两条路径找结束依据;矩形的位置有疑问,接着看中枢画线规则。

6.6 前面的笔没变,为什么已有实线仍会调整? ​

可能是位置更早的候选后来也得到了确认。两条路径都确认时,插件按结束点位置选择,而不是固定保留先取得确认依据的那一个。因此,只追加数据也可能重选结束点,并重新检查后续线段。具体例子见两条路径怎样选择。

笔的画线规则 · 中枢的画线规则 · 画线规则与参数总览