{*********************************************************BUILD:20141102****};
{一、标记所有顶分型及底分型的顶部或底部,以下简称“节点”。};
{11、非包含关系的分型端点预选};
分型顶0:=H>REF(H,1) AND L>REF(L,1);
分型底0:=L<REF(L,1) AND H<REF(H,1);
{12、包含关系的K线处理:凡不符合上述类型的K线,均处于包含关系之中};
{包含关系分为二种:一、当前K线包含前一根K线时,需进行合并处理;二、当前K线被前一根K线包含时,因不涉及端点,无需处理。};
分型顶1:=(H>=REF(H,1) AND L<=REF(L,1)) AND (BARSLAST(分型顶0)<BARSLAST(分型底0));
分型底1:=(H>=REF(H,1) AND L<=REF(L,1)) AND (BARSLAST(分型底0)<BARSLAST(分型顶0));
{13、将前述二种分型节点作为备选分型。}
分型顶2:=分型顶0 OR 分型顶1;
分型底2:=分型底0 OR 分型底1;
{14、对连续的同向分型节点,取最高点或最低点为本笔分型的节点,并向前过滤掉中间满足条件的分型。};
{注:过滤的目的是仅保留最后一次的最高最低节点分型,确保预选分型节点的唯一性。}
分型顶:=FILTERX(分型顶2 AND H=HHV(H,BARSLAST(分型底2)),BARSLAST(分型底2));
分型底:=FILTERX(分型底2 AND L=LLV(L,BARSLAST(分型顶2)),BARSLAST(分型顶2));
二、笔。
形成笔有三个条件,
1:在没有任何包含关系的K线序列中,顶点和低点之间必须有三根K线,即分型之间必须有:右肩+过渡+左肩三根K线。为什么会有这样的要求,其实这与缠论的趋势是有关系的。因为在小级别的分时图上,分型起点K线与右肩K线的重合部分构中一个中枢,终点K线与左肩重合部分构成一个中枢,二个中枢形成一个趋势,终点K线的最尾端构成一个背驰。五根K线组成的一个笔,实际上就是一个最小级别的趋势。区间套原理,实则就是一个递归原理,整个缠论体系构建于此。
2、按缠师的非严格笔来讲,当有包含关系K线时,只要合并K线后,肩部不共用合并K线,那在满足1的数量情况下,没有过渡K线时,仍可以构成笔。如果用程序的语言来描述,即无包含关系的K线仍然至少达到三根。
3、这个条件是目前网上的说法,即笔内的K线,必须存在至少有二根K线之间没有价格重合,这一点缠师并没有要求。但从前述最小趋势的定义来看,没有价格脱离,就没有二个独立的中枢,按理是形成不了最小趋势的。当然,读者也可以删掉程序中力度的语句,以符合缠师的定义。下面是第二段代码:
{二、对符合形成笔条件的分型节点进行粗选。};
{注:符合笔条件的分型应符合缠论以下条件:
1、力度:本笔的起点与终点之间,必须存在最高的低点与最低的高点分离(缠论无要求,可删除)
2、包含:无包含关系的K线数量必须达到二根以上,即:右肩+左肩+本笔。
3、数量:本笔所有K线数量,在无包含关系的情况下,除起点K线外,其余数量必须达到三以上,即:右肩+过渡+左肩+本笔。};
{21、以分型顶底为起点形成笔的要求,进行第一次筛选,得到笔的第一类过渡期顶、底。};
UP1:=BARSLAST(分型底);
顶力度1:=HHV(L,UP1+1)>LLV(H,UP1+1);
顶包含1:=COUNT(L>REF(L,1),UP1)>2 AND COUNT(H>REF(H,1),UP1)>2;
DN1:=BARSLAST(分型顶);
底力度1:=HHV(L,DN1+1)>LLV(H,DN1+1);
底包含1:=COUNT(H<REF(H,1),DN1)>2 AND COUNT(L<REF(L,1),DN1)>2;
笔顶10:=分型顶 AND UP1>3 AND 顶力度1 AND 顶包含1;
笔底10:=分型底 AND DN1>3 AND 底力度1 AND 底包含1;
{211:取同一笔中的最高点或最低点为笔的分型顶、底端};
笔顶1:=笔顶10 AND H=HHV(H,BARSLAST(笔底10));
笔底1:=笔底10 AND L=LLV(L,BARSLAST(笔顶10));
(时间关系,今天就到这。另公式修正了一个小BUG)