从程序角度学缠论(四):特征序列

作者:大柳 · 首发:
原载作者博客,2020-12-29

本文目录

接上篇《从程序角度学缠论(三):笔》

特征序列在原文《教你炒股票 67:线段的划分标准》中提出,并且用作了线段的划分标准,放弃了最初线段的粗略画法。

用S代表向上的笔,X代表向下的笔。那么所有的线段,无非两种:一、从向上笔开始;二、从向下笔开始。 简单起见,以向上笔开始的线段为例子说划分的标准。以向上笔开始的线段,可以用笔的序列表示:S1X1S2X2S3X3...SnXn。 容易证明,任何Si与Si+1之间,一定有重合区间。而考察序列X1X2...Xn,该序列中,Xi与Xi+1之间并不一定有重合区间,因此,这序列更能代表线段的性质。

定义: 序列X1X2...Xn成为以向上笔开始线段的特征序列;序列S1S2...Sn成为以向下笔开始线段的特征序列。 特征序列两相邻元素间没有重合区间,称为该序列的一个缺口。 关于特征序列,把每一元素看成是一K线,那么,如同一般K线图中找分型的方法,也存在所谓的包含关系,也可以对此进行非包含处理。经过非包含处理的特征序列,成为标准特征序列。以后没有特别说明,特征序列都是指标准特征序列。参照一般K线图关于顶分型与底分型的定义,可以确定特征序列的顶和底。注意,以向上笔开始的线段的特征序列,只考察顶分型;以向下笔开始的线段,只考察底分型。

在标准特征序列里,构成分型的三个相邻元素,只有两种可能: 第一种情况: 特征序列的顶分型中,第一和第二元素间不存在特征序列的缺口,那么该线段在该顶分型的高点处结束,该高点是该线段的终点;特征序列的底分型中,第一和第二元素间不存在特征序列的缺口,那么该线段在该底分型的低点处结束,该低点是该线段的终点; 第二种情况: 特征序列的顶分型中,第一和第二元素间存在特征序列的缺口,如果从该分型最高点开始的向下一笔开始的序列的特征序列出现底分型,那么该线段在该顶分型的高点处结束,该高点是该线段的终点;特征序列的底分型中,第一和第二元素间存在特征序列的缺口,如果从该分型最低点开始的向上一笔开始的序列的特征序列出现顶分型,那么该线段在该底分型的低点处结束,该低点是该线段的终点;

强调,在第二种情况下,后一特征序列不一定封闭前一特征序列相应的缺口,而且,第二个序列中的分型,不分第一二种情况,只要有分型就可以。 上面两种情况,就给出所有线段划分的标准。显然,出现特征序列的分型,是线段结束的前提条件。 这个定义有点复杂,首先请先搞清楚特征序列,然后搞清楚标准特征序列,然后是标准特征序列的顶分型与底分型。而分型又以分型的第一元素和第二元素间是否有缺口分为两种情况。 显然,按照这个划分,一切同一级别图上的走势都可以唯一地划分为线段的连接,正如一切同一级别图上的走势都可以唯一地划分笔的连接。

—— 《教你炒股票 67:线段的划分标准》

其中,无论第一种情况还是第二种情况,线段的结束点都在分型的高低点处,第二种情况下只是确认该线段结束点的确认时间滞后了。

这里要注意的是因为特征序列分型的出现导致线段结束,但该线段并未“死”,因为后市还有可能出现线段延伸或者线段转折两种情况,只有线段发生转折,即反向线段出现,前线段才是真正的“死”了。

特征序列由同向笔组成,某个方向的笔在被起后面的反向笔确认时才对其进行分析:

也就是说最新的笔并不能参与到特征序列的分析过程中,因为其还有延伸的可能。

特征序列合并

特征序列合并与k线合并在包含条件和合并动作上一致,不同的是特征序列的合并方向从一开始就是确定的,向下的特征序列要找顶分型所以只能向上合并,向上的特征序列要找底分型所以只能向下合并;因此合并时只需要有两条特征序列即可进行合并处理。

特征序列在合并过程中还有一点与k线合并不同,那就是横坐标(时间)的取值,k线只有一个时间点,而特征序列有两个,为了保证线段端点横坐标取值的正确,我们在合并过程中要通过某种方式保证极值点横坐标的始终正确表达:向上特征序列的最低点和向下特征序列的最高点。

向下特征序列(顶分型)

对于两个相互包含向下特征序列可以按下面两个标准来分类:

按两个特征序列的大小分为:前小后大,前大后小两种

按两个特征序列的方向,因为后面的只能是 \,所以分为:\\、/\ 两种,

注:这里大家先不要奇怪向下特征序列怎么会出现“/\”这种向上的情况,这时因为在合并处理时为了保证极点值横坐标的正确导致的,后面我会画图讲明。

这样就组合出4种类型,我们对这4种类型分别做合并处理。

①前小后大 \\ ②前小后大 /\ ③前大后小 \\ ④前大后小 /\ 见下图

向下特征序列合并

图中蓝色线为合并结果,首先保证了向上合并的特征:取更高的高点,取更高的低点;极值点所在的横坐标也很好的保持了。

但是①②的合并结果的方向却改变了。

向上特征序列(底分型)

同理,对于两个相互包含向上特征序列可以按下面两个标准来分类:

按两个特征序列的大小分为:前小后大,前大后小两种

按两个特征序列的方向,因为后面的只能是 /,所以分为://、\/ 两种

这样就组合出4种类型,我们对这4种类型分别做合并处理。

⑤前小后大 // ⑥前小后大 \/ ⑦前大后小 // ⑧前大后小 \/ 见下图

向上特征序列合并

图中蓝色线为合并结果,首先保证了向下合并的特征:取更低的低点,取更低的高点;极值点所在的横坐标也很好的保持了。

但是⑤⑥的合并结果的方向却改变了。

特征序列的计算逻辑:

已知两特征序列s1(x1,y1, x2,y2)、s0(x1,y1, x2,y2),向上合并:
if 前小后大 and 方向是\\ then
    return 特征序列s(s1.x2,s1.y2, s2.x1,s2.y1)
else if 前小后大 and 方向是/\ then
    return 特征序列s(s1.x1,s1.y1, s2.x1,s2.y1)
else if 前大后小 and 方向是\\ then
    return 特征序列s(s1.x1,s1.y1, s2.x2,s2.y2)
else if 前大后小 and 方向是/\ then
    return 特征序列s(s1.x2,s1.y2, s2.x2,s2.y2)

已知两特征序列s1(x1,y1, x2,y2)、s0(x1,y1, x2,y2),向下合并:
if 前小后大 and 方向是// then
    return 特征序列s(s1.x2,s1.y2, s2.x1,s2.y1)
else if 前小后大 and 方向是\/ then
    return 特征序列s(s1.x1,s1.y1, s2.x1,s2.y1)
else if 前大后小 and 方向是// then
    return 特征序列s(s1.x1,s1.y1, s2.x2,s2.y2)
else if 前大后小 and 方向是\/ then
    return 特征序列s(s1.x2,s1.y2, s2.x2,s2.y2)

特征序列分型

特征序列分型于k线分型一样,三根特征序列前上后下形成顶分型或者前下后上形成底分型;不同之处在于特征序列够三根立即开始分型判定,而不是等第4根特征序列出现后才开始判定。

特征分型的计算逻辑:

if 存在3个已合并之后的向下特征序列k3,k2,k1 then
    if k3,k2向上 and k2,k1向下 then
        return 顶分型(k2的时间,k2的最高价)
    else
        return 不是顶分型        

if 存在3个已合并之后的向上特征序列k3,k2,k1 then
    if k3,k2向下 and k2,k1向上 then
        return 顶分型(k2的时间,k2的最高价)
    else
        return 不是底分型

特征序列合并与分型处理的结果要用于后续的画线段,线段处理的细节在下篇文章中细说。

最新的笔不参与特征序列合并和分型处理过程,只用来确认前一反向特征序列完成。

在特征序列这个层面,“当下”是指从前一个特征序列分型的顶或底到最新k线之间的走势。

缠析 —— 不用手画笔和线段,把力气花在看懂级别上。

介绍与下载:缠析 · 缠论自动画线工具(电脑版)

← 返回文章列表