缠论买点公式

合集下载

缠论实战买点操作法则

缠论实战买点操作法则

缠论实战买点操作法则 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-缠论实战买点操作法则总结了很多缠论高手的授课和实盘经验,归纳一下,发现此方法值得我们去学习。

当然这个需要不断的复盘和练习。

此方法主要是个股买入操作,我们的盈利是个股操作,不是做大盘,大家应该明白的。

也就是把缠论结合到个股操作实战上去。

当然也需要很好的悟性,学以致用,举一反三。

缠论个股实战纲领分形态学,力学,走势分类。

形态学主要是盘整走势和趋势走势,力学就是判断背驰和力度,走势分类是一个走势类型与其连接的几种可能性。

缠论个股实战操作用得最多就是A0和递归 a+A+b+B+c 日线图看各个级别。

A0应该都知道,就是线段的延伸,走势的延伸,如何判断线段或走势的介入点和卖出点。

递归,级别上的逻辑推理,大级别看框架,小级别看细节。

俗称三级联立。

a+A+b+B+c,分a+A+b和a+A+b+B+c。

这种模式是缠论的分析方式,这种逻辑推理是要有时间顺序,先有a,然后才会有A,A之后会出现b,b之后会不会出现B就要看3买点,B出现后要看是不是走出c。

也就是说a+A+b+B+c,这个是有顺序出现,一旦打破顺序,其走势就很有可能结束了。

这叫做顺序递推原则。

日线图看各个级别。

其实也就是说,在日线图上你可以看到任何级别的走势,这个需要研究级别之间放大镜的关系,比如日线1-2根K线为十字星是1分钟中枢,日线2-3根K线区间有包含关系并列排列的K线为5分钟中枢,日线的3笔重叠为30分钟中枢。

这个东西就要大家自己去专研了。

一点都不难,主要是头脑清晰,找到中枢的级别,前后连接段就是走势的级别。

现在最需要重视的就是个股的走势形态结构,有俩个典型的形态,是我们必须要印在脑海里的,这个是赚钱的源泉。

形态一。

三叠加走势转趋势形态,1买出现后,回调不新低为2买。

2买后直接飙涨。

一般这种形态出现在中枢震荡后的主升浪。

缠论二买选股公式

缠论二买选股公式

缠论二买选股公式
在股票投资中,我们常常会遇到一些选择困难,不知道该选择哪些股票进行买入。

而在缠论二中,有一些选股公式可以帮助我们进行选股。

其中比较常用的公式有以下几个:
1. 选股强度 = 当前价/最低价 - 1:这个公式可以帮助我们衡量一只股票的选股强度。

当选股强度越高,则说明该股票的走势越强劲,我们可以考虑进行买入。

2. 选股因子 = (当日涨跌幅 + 前一日涨跌幅)/(当日成交量+ 前一日成交量):这个公式可以帮助我们衡量一只股票的选股因子。

当选股因子越高,则说明该股票的走势受到成交量的支持,我们可以考虑进行买入。

3. 选股涨势 = 当前价/最高价 - 1:这个公式可以帮助我们衡量一只股票的选股涨势。

当选股涨势越高,则说明该股票的走势较为强劲,我们可以考虑进行买入。

这些选股公式只是缠论二中的部分,还有其他的选股公式可以帮助我们进行股票选择。

但是我们需要注意,选股公式只是辅助工具,不能完全依赖它们进行买入决策。

我们还需要考虑公司基本面、行业发展等因素,综合分析后才能做出更为合理的投资决策。

- 1 -。

缠论定理汇总

缠论定理汇总

缠论定理汇总飞吻:短期均线略略走平后继续按原来趋势进行下去。

唇吻:短期均线靠近长期均线但不跌破或升破,然后按原来趋势继续下去。

湿吻:短期均线跌破或升破长期均线甚至出现反复缠绕,如胶似漆。

女上位:短期均线在长期均线之上。

男上位:短期均线在长期均线之下。

第一类买点:用比较形象的语言描述就是由男上位最后一吻后出现的背驰式下跌构成。

第二类买点:女上位第一吻后出现的下跌背驰构成。

第一个卖点:女上位缠绕后出现背弛。

第二个卖点:变成男上位的第一个缠绕高点。

上涨:最近一个高点比前一高点高,且最近一个低点比前一低点高。

下跌:最近一个高点比前一高点低,且最近一个低点比前一低点低。

盘整:最近一个高点比前一高点高,且最近一个低点比前一低点低;或者最近一个高点比前一高点低,且最近一个低点比前一低点高。

对于上涨、下跌、盘整三种基本走势,有六种走势组合可能代表着三类不同的走势:陷阱式:上涨+下跌;下跌+上涨。

反转式:上涨+盘整+下跌;下跌+盘整+上涨。

中继式:上涨+盘整+上涨;下跌+盘整+下跌。

缠中说禅走势中枢:某级别的走势类型,被至少三个连续次级别走势类型所重叠的部分,称为缠中说禅走势中枢。

缠中说禅盘整:在任何级别的任何走势中,某完成的走势类型只包含一个缠中说禅走势中枢,就称为该级别的缠中说禅盘整。

缠中说禅趋势:在任何级别的任何走势中,某完成的走势类型至少包含两个以上依次同向的缠中说禅走势中枢,就称为该级别的缠中说禅趋势。

该方向向上就称为上涨,向下就称为下跌。

(注意:趋势中的缠中说禅走势中枢之间必须绝对不存在重叠。

这包括任何围绕走势中枢产生的任何瞬间波动之间的重叠)缠中说禅技术分析基本原理一:任何级别的任何走势终要完成。

缠中说禅技术分析基本原理二:任何级别的任何完成的走势。

必然包含一个以上的缠中说禅走势中枢。

缠中说禅走势分解定理一:任何级别的任何走势,都可以分解成同级别“盘整”、“下跌”与“上涨”三种走势类型的连接。

缠中说禅走势分解定理二:任何级别的任何走势类型,都至少由三段以上次级别走势类型构成。

缠论买点公式

缠论买点公式

KX:='CHANLUN@KXIAN';KXG:='CHANLUN@KXG';KXD:='CHANLUN@KXD';KXFX:='CHANLUN@KXFX';笔:='CHANLUN@BI';笔周期:='CHANLUN@BILAST',LINETHICK0, COLORFF00FF;BILAST:='CHANLUN@BILAST笔周期};段:='CHANLUN@DUAN';段周期:='CHANLUN@DUANLAST', LINETHICK0, COLORFFFFFF; DUANLAST:='CHANLUN@DUANLAST'段周期};中枢:='CHANLUN@ZS';ZSZG:='CHANLUN@ZSZG';ZSZD:='CHANLUN@ZSZD';ZSGG:='CHANLUN@ZSGG';ZSDD:='CHANLUN@ZSDD';ZSZZ:='CHANLUN@ZSZZ';ZSKS:='CHANLUN@ZSKSLAST';ZSJS:='CHANLUN@ZSJSLAST';BIFX:=-REF笔,BILAST);DUANFX:=-REF段,DUANLAST);KXQJ:='CHANLUN@KXQJ';{画中枢BEGIN} {以背景方式画}STICKLINE(ZSZG>ZSZD AND DUANFX=1, ZSZG, ZSZD, 10, 1),COLOR8E236B; STICKLINE(ZSZG>ZSZD AND DUANFX=-1, ZSZG, ZSZD, 10, 1), COLOR007700; {中枢震荡监视器}DRAWLINE(ZSKS=1, ZSZZ, ZSJS=1, ZSZZ, 0), COLORFFFFFF;{画笔段}DRAWLINE笔=1,H,笔=-1,L,0),COLORBLUE,LINETHICK2;DRAWLINE 笔=-1,L,笔=1,H,0),COLORFF00FF ,LINETHICK2;DRAWLINE 段=1,H,段=-1,L,0),COLOR007700, LINETHICK2;DRAWLINE 段=-1,L,段=1,H,0),COLORRED, LINETHICK2;{笔高低点周期力度提示}DRAWTEXT® = 1, H*, "+H+”), COLORFFFFFF;DRAWTEXT笔=-1, L*, "+L+"), COLORFFFFFF;VAR3:=LLV(H,240);VAR4:=100*(C-VAR3)/VAR3;VAR5:=(C-LLV(L,528))/(HHV(H,528)-LLV(L,528))*100;VAR6:=(C-LLV(C,530))/(HHV(C,530)-LLV(C,530))*100;VAR7:=0;VAR8:=SMA(MAX(CLOSE-REF(CLOSE,1),0),34,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),7,1)*100;VAR9:=SMA(MAX(CLOSE-REF(CLOSE,1),0),13,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),13,1)*100;VAR10:=IF(TROUGHBARS(3,16,1)=0 AND H>L+,4,0);VAR11:=ZIG(3,6)>REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)<=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)<=REF(ZIG(3,6),3);VAR12:=ZIG(3,6)<REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)>=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)>=REF(ZIG(3,6),3);VAR13:=ZIG(3,22)>REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)<=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)<=REF(ZIG(3,22),3);VAR14:=ZIG(3,22)<REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)>=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)>=REF(ZIG(3,22),3);VAR15:=ZIG(3,51)>REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)<=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)<=REF(ZIG(3,51),3);REF(ZIG(3,51),2)>=REF(ZIG(3,51),3);REF(ZIG(3,72),2)<=REF(ZIG(3,72),3);VAR19:=EMA(C,2)-EMA(C,150);买 1 :=VAR10;买2 :=(VAR11+VAR13+VAR15+VAR17);卖1 :=(VAR12+VAR14+VAR16+VAR18);DRAWTEXT 买 1 >0 OR 买 2 >0,L*,'买'),COLOR00FFFF;DRAWTEXT 卖 1 >0,H*,'卖'),COLOR00FFFF;APP:=(VOL)/((H-L)*(2)-ABS(C-O));ZL:=IF((H>O),(APP)*(H-L),IF((L<O),(APP)*(H-O+C-L),(VOL)/(2)));SF:=IF((H>O),0-(APP)*(H-C+O-L),IF((L<O),0-(APP)*(H-L),0-(VOL)/(2)));库存能量 :=MA(ZL+SF,2);库存平均 :=MA(ZL+SF,5);GET:ZIG(3,5),COLORYELLOW,LINETHICK3;PL5:=ZIG(3,5);EN1:=PL5>REF(PL5,1) AND REF(PL5,1)<=REF(PL5,2) AND REF(PL5,2)<=REF(PL5,3);EX1:=PL5<REF(PL5,1) AND REF(PL5,1)>=REF(PL5,2) AND REF(PL5,2)>=REF(PL5,3);PL10:=ZIG(3,10);EN2:=PL10>REF(PL10,1) AND REF(PL10,1)<=REF(PL10,2) AND REF(PL10,2)<=REF(PL10,3); EX2:=PL10<REF(PL10,1) AND REF(PL10,1)>=REF(PL10,2) AND REF(PL10,2)>=REF(PL10,3); PL20:=ZIG(3,20);EN3:=PL20>REF(PL20,1) AND REF(PL20,1)<=REF(PL20,2) AND REF(PL20,2)<=REF(PL20,3);VAR16:=ZIG(3,51)<REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)>=REF(ZIG(3,51),2) AND VAR17:=ZIG(3,72)>REF(ZIG(3,72),1)AND REF(ZIG(3,72),1)<=REF(ZIG(3,72),2) ANDVAR18:=ZIG(3,72)<REF(ZIG(3,72),1)REF(ZIG(3,72),2)>=REF(ZIG(3,72),3);AND REF(ZIG(3,72),1)>=REF(ZIG(3,72),2) ANDEX3:=PL20<REF(PL20,1) AND REF(PL20,1)>=REF(PL20,2) AND REF(PL20,2)>=REF(PL20,3);走强1:=BARSLAST(PL5<REF(PL5,1));走弱1:=BARSLAST(PL5>REF(PL5,1));走强2:=BARSLAST(PL10<REF(PL10,1));走弱2:=BARSLAST(PL10>REF(PL10,1));走强3:=BARSLAST(PL20<REF(PL20,1));走弱3:=BARSLAST(PL20>REF(PL20,1));ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(E走强2),0);ZTJD5:=IF(PL10>REF(PL10,1),COUNT(E走强2),0);DTJZ5:=IF(PL10<REF(PL10,1),COUNT(EN走弱2),0);DTJD5:=IF(PL10<REF(PL10,1),COUNT(E走弱2),0);ZTJZ10:=IF (P L20>REF (P L20,1),COUNT(EN2强3),0);ZTJD10:=IF( PL20>REF( PL20,1),COUNT(EX走虽3),0);DTJZ10:=IF( PL20<REF( PL20,1),COUNT(E走弱3),0);DTJD10:=IF( PL20<REF( PL20,1),COUNT(E走弱3),0);DRAWTEXT(EN2 AND DTJZ10=1,L*类二买]'),COLORFFFFFF;DRAWTEXT(EN3 AND ZTJZ10=1,L*一买]'),COLORFF00FF;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H二卖]'),LINETHICK2,COLORFFFF00; DRAWTEXT(EN2 AND P L20>REF( PL20,1) AND ZTJZ10=2,二买]'),LINETHICK2,COLORFFFF00; DRAWTEXT(EX2AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) ANDEX2,H*,'[一卖]'),LINETHICK3,COLOR00FF00;MA5:MA(CLOSE,5),COLORWHITE,LINETHICK1;MA10:MA(CLOSE,10),COLORLIMAGENTA,LINETHICK1;。

缠论买点公式化及实例应用图解

缠论买点公式化及实例应用图解

缠论买点公式化及实例应用图解缠中说禅的伟大之处,在于她的天才智慧和博大精深的理论,以及无私奉献与爱国主义精神。

其不废一法而行千法万法,行千法万法而不立一法,于所知所行而自在。

令人仰慕!很多人学缠用缠,都急于求成,但是如果对于一些最基本的笔/线段/中枢/级别/背驰,如果不理解其最基本的定义,缠论的操作股票核心内容之一的形态学和动力学,也就无法熟知应用。

恰恰形态学和动力学,就可以把股票的走势,包括其它的交易品种的走势,都勾画得很清晰。

学缠用缠的人,都是想立刻找道一根金拐杖。

就算是金拐杖,可在不同的人的手里,运用不当,也可能会变成铁拐杖,或木拐杖,甚至凶器。

在每个级别,都有123买卖点,以及中枢震荡买卖点,其实最终都可以归咎于次级别的第一买卖点。

每个级别的结构都是同构的,当然级别越低,需要的技术就越精确。

目前在缠论公式方面,“悟多”的公式比较贴近缠论。

由于缠论的多样性,使得走势的分解可以有多种情况,所以真正应用一些公式化的东西的时候,须提防出现一些类似的未来函数。

对于缠论的买点信号公式化,在缠中说禅社区论坛上面已经有过。

在这里,笔者可以提供一些设计的思路:1.第一类买点:(1).在一个标准的"a+A+b+B+c"的下跌走势后,也就是两个中枢连接的下跌后,开始关注C背驰段的结束点,结合MACD,在次级别给予精确定位,一般可以买到最低点。

5F级别和5F以上的大级别,从顶部下跌后出现2个下跌中枢,则一般进入背驰段,但是1F的小级别可能会出现2-5个下跌中枢。

实际应用中,通常把本级别线段的起点(线段底),作为本级别的1买点,这样有时也会出现3个走势笔或5个走势笔或7个走势笔下跌,底背驰后,出现1买点。

(2).第一买点可以买到最低的价格,看起来好象是在抄底,这就要对底背驰有精确的判断,所以30F的大级别可以选用1买点,但是小级别的买点最好选用第2买点,才比较安全。

例如:600538的1F1买点,笔者在3月25日买到了最低价8.24元,由于级别较小,所以出现2买点后的拉升,就可以兑现部分仓位.比如,30F大级别的123买点,大牛股000753的图形非常标准:2.第2类买点:比如30F级别出现第一买点后,出现第一个30F线段的上涨,在日线图上,相当于一个日线向上笔。

最新缠论中枢、背驰与买点

最新缠论中枢、背驰与买点

一类买点
0
2
4
1
3
出背驰卖出
01与45背驰
第一类买点: 1、一类买点相对风险大,以试仓为主 2、当下跌背驰不存在,即失败止损 3、从背驰点5向上先看3,突破2尝试看0
5
本图内容仅是方法学习教学, 不作为投资买卖依据! 投资有风险,入市需谨慎!
二类买点
0
2
4出背驰卖出 61 Nhomakorabea3
7
止损位
5
67内部次级别背驰,产生2买
6
注意2:中枢的内部不论 有多少笔,中枢的高低点 只取决于前三笔的高低点。
中枢(掐头去3,去尾去4): 25
这种不是真正的中枢,我们 称之为类中枢,类似中枢。
本图内容仅是方法学习教学, 不作为投资买卖依据! 投资有风险,入市需谨慎!
所有走势分类
1走势
2走势
3盘整走势类型
4趋势走势类型
本图内容仅是方法学习教学, 不作为投资买卖依据! 投资有风险,入市需谨慎!
10
68
4 2
9 7
35 1
本图内容仅是方法学习教学, 不作为投资买卖依据! 投资有风险,入市需谨慎!
2、4(高点)中4最高; 7、9(低点)中7最低。
扩展走势
12
68 10
4
2 35
79 11
1 扩展走势类型
特点:
1、有两个互不重叠的中枢; 2、上下两个中枢的波动相互重叠(4、7); 3、上中枢构建完成之后,向下离开中枢并与下中枢重叠; 4、扩展走势内部两中枢可升级为更高一级别中枢; 5、更高一级别中枢区间4-11; 6、更高一级别中枢方向向上(1没有跌破的情况下)。
中枢(掐头去4,去尾去3): 25

缠论一买、三买选股公式(飞狐+悟多公式)

缠论一买、三买选股公式(飞狐+悟多公式)

MA10:=MA(CLOSE,10);MA5MA1MA2MA3 DATANUMBER:二DATAT YPE; DATANUMBER1:=DATATYPE; DATANUMBER2:=DATAT YPE; DATANUMBER3:=DATAT YPE; LING:二HIGH;<% vbdata nu mber = ("data nu mber") vbdata nu mber1 = ("data number1") vbdata nu mber2 = ("data nu mber2") vbdata=1vbdata 仁 vbdata2=1Select Case vbdata nu mberCase 0 vbdata= vbdata 仁 vbdata2=Case 1 vbdata= vbdata 仁 vbdata2二Case 2 vbdata= vbdata1= vbdata2= Case 3 vbdata=vbdata1= vbdata2=Case 4 vbdata= vbdata1=vbdata2=Case 5 vbdata= vbdata1= vbdata2=Case 6 vbdata=vbdata1=vbdata2=Case 7 vbdata= vbdata1=vbdata2=Case 8 vbdata=vbdata1= vbdata2=Case 9 vbdata= vbdata1= vbdata2=Case 10 vbdata= vbdata1= vbdata2=Case 11 vbdata= vbdata1= vbdata2= Case 12 vbdata= vbdata1=vbdata2= Case else vbdata=2MA(CL0SE,5); MA5-MA10; MA10; MA10;vbdata1= vbdata2=2 End Select ("datanumber") =vbdata ("datanumber1") =vbdata1 ("datanumber2") =vbdata2 vbling = ("ling") vbma = ("ma1") vbma2 = ("ma2") vbma3 = ("ma3") nlast = UBound( vbma ) nvalue = nvaluefu = bianhua = 2 oldbianhua = 0 for m = 0 to nlast vbma2(m) = 0 vbma3(m) = 0 vbling(m)=0 next m= 0 for i = 0 to nlastm=m+1 'nlast - m 'vbma2(i) = 0 if (vbma(i) > 0) then bianhua = 1 nvalue = nvalue + vbma(i) else bianhua = 2 nvaluefu = nvaluefu + vbma(i) end ifif (oldbianhua = bianhua) then else vbma3(i) = m m=0if (bianhua = 1) then vbma2(i) = nvaluefu nvaluefu = 0 'nvaluefu = 0 else vbma2(i) = nvalue nvalue = 0 'nvalue = 0end if end if oldbianhua = bianhua next ("ma2") = vbma2 ("ma3") = vbma3 ("ling") =vbling %> DRAWNUMBER(REF(MA2,0)<0 0=1,LLV(LOW,5),REF(MA2,0)*1000,0),colorFF00;DRAWNUMBER(REF(MA2,0)<0 0=1,LLV(LOW,5)-DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)<0 0=1,LLV(LOW,5)-DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF00;DRAWNUMBER(REF(MA2,0)>0 AND 0=1,HHV(HIGH,5),REF(MA2,0)*1000,0),colorFF;DRAWNUMBER(REF(MA2,0)>0 0=1,HHV(HIGH,5)+DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)>0 AND0=1,HHV(HIGH,5)+DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF; MA1:=MA5-MA10;WEIHE:=LING; WEIPING:=LING;<% vbhe=("weihe") vbping=("weiping") vbma = ("ma1") nlast = UBound( vbma )nvalue = nvaluefu = bianhua = 2 oldbianhua = 0 i= 0 m= nlast if (vbma(nlast) >0) then Do While (vbma(m)>0) nvalue = vbma(m) + nvalue i=i+1 m=m-1 if(m<0)then exit do end if Loop elseAND AND ANDANDDo While (vbma(m)<0) nvalue = vbma(m) + nvalue i=i+1 m=m-1 if(m<0) then exit do end if Loop end if if (i=0) then i=1 end if nvaluefu = nvalue/i vbhe(nlast) = nvalue vbping(nlast) = nvaluefu ("weihe") =vbhe ("weiping")= vbping %> DRAWNUMBER(WEIHE<>0 0=1,IF(WEIHE>0,HIGH,LOW),WEIHE*1000,0),colorFF;DRAWNUMBER(WEIHE<>0 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER*2,WEIPING*1000,0),colorFF00; DRAWNUMBER(WEIPING<>0 AND 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER,WEIHE/WEIPING ,0),colorFFFF; DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIFF,9); MACD:=2*(DIFF-DEA);MA1:=MACD; MA2:=MACD; MA3:=MACD;MA1WE:=MACD; HE:=MA2;WEIHEMACD:=0; WEIPINGMACD:=0;H1:=HIGH; L1:=LOW; FOXH:=HIGH; FOXL:=LOW; FOXBAOHAN:=LING;FOXBAOHAN1:=LING; FOXGUANXI:=LING; FOXFENXING:=LING;FOXFENXING1:=LING; FOXFENNUMBER:=LING;FOXQUEKOU:=LING; FOXBICOUNT:=LING; FOXWEIBI:=LING;<% vbquekou=("foxquekou") vbfennumber=("foxfennumber") vbdatanumber = ("datanumber") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan =("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing =("foxfenxing") vbfenxing1 = ("foxfenxing1") vbbicount=("foxbicount")vbweibi=("foxweibi") nlast = UBound( vbh ) nvalue = nvaluefu = bianhua = 2vbguanxi(0) = 1 for m = 1 to nlast if (vbh(m)>vbh(m-1) and vbl(m)>vbl(m-1))then vbguanxi(m)=1 elseif (vbh(m)<vbh(m-1) and vbl(m)<vbl(m-1)) then vbguanxi(m)=-1 else vbguanxi(m) = 0 if (vbguanxi(m-1)=1) then vbguanxi(m)=1 if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then vbbaohan(m) = 2 vbbaohan(m-1) = 1 vbh(m-1)=vbh(m) vbl(m)=vbl(m-1) elsevbbaohan(m-1) = -1 vbbaohan(m) = -2 vbh(m)=vbh(m-1) vbl(m-1)=vbl(m) end ifelse vbguanxi(m)=-1 if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then vbbaohan(m) = 2 vbbaohan(m-1) = 1 vbh(m)=vbh(m-1) vbl(m-1)=vbl(m)else vbbaohan(m-1) = -1 vbbaohan(m) = -2 vbh(m-1)=vbh(m) vbl(m)=vbl(m-1) end if end if end if end if next'处理连续包含即 :连续 3个及以上 K 线间存在的包含关系 for m = 0 to nlastvbbaohan1(m) = vbbaohan(m)NEXT i=0 do while (vbbaohan(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop '第一个包含的位置 lastfenxing=i bao=0 existbao=0 for m = i to nlast if (vbbaohan(m) <> 0) then bao=bao+1 if (bao>=2) then if (vbbaohan(m)=2 and vbbaohan(m-1)=1 orvbbaohan(m)=-2 and vbbaohan(m-1)=-1) then vbbaohan1(m) = bao if (bao>2) thenexistbao=BAO for i = 1 to bao vbh(m-bao+i)=vbh(m) vbL(m-bao+i)=vbl(m)if (i = 1 or i=bao ) thenelsevbbaohan1(m-bao+i)=-3end ifnextend if'do while (bao>1)AND AND'vbh(m-bao+1)=vbh(m)'vbL(m-bao+1)=vbl(m)'if (existbao=BAO or bao=existbao-1) then'else'vbbaohan1(m-bao+1)=-3'end if'bao=bao-1'loopbao=0end ifend ifelsebao=0end ifnext'分型预处理existbao=vbguanxi(0)for m = 1 to nlast'if (vbh(m-1)>=vbh(m-2) and vbh(m-1)>=vbh(m) and vbl(m-1)>=vbl(m-2) and vbl(m-1)>=vbl(m) or vbh(m-1)<=vbh(m-2) and vbh(m-1)<=vbh(m) and vbl(m-1)<vbl(m-2) and vbl(m-1)<=vbl(m)) then'end ifif (vbguanxi(m)<>existbao) thenif (vbguanxi(m-1)=1) thenvbfenxing(m-1) = 1'顶elsevbfenxing(m-1) = -1'底end ifexistbao=vbguanxi(m)end ifnext'以上分型预处理for m = 0 to nlastvbfenxing1(m) = vbfenxing(m)vbfenxing1(m) = 0nexti=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)<>vbfenxing(lastfenxing)) then lastfenxing=m elseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0end ifend ifnext'以下处理分型间距离不小于 4 的要求同时处理连续的顶和底的问题bao=0i=0n=0existbao=vbfenxing(0)m=0do while (vbbaohan1(i) <2)i=i+1if (i>nlast) thenExit Do end if loop lastbaohan=i '第一个包含位置i=0 do while (vbfenxing(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop'第一个预备分型位置lastfenxing=i lastfenxing1=lastfenxing i=0for m = lastfenxing+1 to nlast if (vbbaohan(m) = 0) then bao=bao+1 elseif (vbbaohan1(m) >=2 ) then n=n+1 end if end ifvbfenxing1(m) = bao+n '包含关系只视为一个k 线'vbfenxing1(m)=vbbaohan1(m)'if (m>735) then 'exit for 'end ifif (vbfenxing(m)<>0) thenif (bao+n>= 4) then '分型间距离大于等于 4 符合要求if(vbfenxing(m)<>vbfenxing(lastfenxing)) then 'vbfenxing1(m)=vbfenxing(m) n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m elseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then 'exit forvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end if'将上一个分开型位置数据更新为当下位置else'分型间距离小于 4 要看情况若与前分型不同且破坏前笔,可保留其它情况要去掉'破坏前笔即相邻分型不同且高于上上个顶或低于上上个底if (vbfenxing(m)<>vbfenxing(lastfenxing)) then'vbfenxing1(m)=vbfenxing(m)'i=lastfenxing-1'do while (vbfenxing(i)<>vbfenxing(m))'i=i-1'if (i=0) then'Exit Do'end if'loop'lastfenxing1=lastfenxingi=lastfenxing1if (vbfenxing(m)=1) thenif (vbl(m)>vbl1(m))thent1=vbl1(m)elset1=vbl(m)end ifif (vbh(i)>vbh1(i))thent2=vbh(m)else t2=vbh1(m) end if if (t1>t2) then n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=melse vbfenxing(m)=0 end if else if (vbh(m)>vbh1(m))then t1=vbh(m) else t1=vbh1(m) end if if (vbl(i)>vbl1(i))then t2=vbl(m) else t2=vbl1(m) end if if (t1<t2) then 'if (vbh(m)<vbl(i)) then n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m else vbfenxing(m)=0 end if end if else if (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then 'exit for vbfenxing(lastfenxing)=0 n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m else vbfenxing(m)=0 end ifelseif (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0 n=0 bao=0lastfenxing1=lastfenxing lastfenxing=m elsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end if end if end if next '以上处理分型间距离不小于 4 的要求'以下去掉连续的顶或底i=0do while (vbfenxing(i)=0) i=i+1 if (i>nlast) thenExit Do end if loop lastfenxing=i '取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlast if (vbfenxing(m)<>0) then if(vbfenxing(m)<>vbfenxing(lastfenxing)) then lastfenxing=m elseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then vbfenxing(lastfenxing)=0 lastfenxing=m else vbfenxing(m)=0 end if elseif (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0lastfenxing=m else vbfenxing(m)=0 end if end if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0 end if end if next '以下处理一个顶要大于相邻的两个底及一个底要小于相邻的两个顶的问题'取第一个分型位置i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend ifloop lastfenxing=i for m = lastfenxing+1 to nlast if (vbfenxing(m)<>0) then if (vbfenxing(m)>0) then if (vbh(m)>vbl(lastfenxing)) then '满足条件顶>底lastfenxing=m else'不满足条件顶>底两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifelseif (vbl(m)<vbh(lastfenxing)) then '满足条件底<顶lastfenxing=melse'不满足条件底<顶两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0 m=m+1 do while (vbfenxing(m)=0) m=m+1 if (m>nlast) then Exit Do end if loop lastfenxing=m end if end if end if next i=0 for m = 0 to nlast if (vbfenxing(m)<>0) then i=i+1 vbfennumber(m)=i end if next'vbfennumber(nlast)=0 'vbfenxing(nlast)=-vbfenxing(lastfenxing) x1=0 x2=0 x3=0 x4=0 x5=0 x6=0 x7=0 bi=0 maxbi=0 zhsh=0'先取三个分型数据,然后进入循环处理a=0'Do While (vbfenxing(a) = 0 and a <= nlast) Do While ( a < nlast) if ( vbfenxing(a) <> 0) then exit do end if a = a + 1 Loopx1=aa=x1+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend if a = a + 1 Loop x2=a a=x2+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend if a = a + 1 Loop x3=a a=x3+1 bi=0 zhshbegin=x1 zzg=0 zzd=0 zgg=0 zdd=0 zg=0 zd=0 gg=0 dd=0FOR m=a TO nlast'(1)开始按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志'其它则是不同级别的中枢和线段的思路设计'在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股 1 分钟内可能无成交if (vbfenxing(m)<>0) then'(2) begin 只在分型不为0时进行处理,即:是分型时处理bi=bi+1x4=mif (zhshbegin=0) thenzhshbegin=x4end ifif (vbfenxing(x1)>0) then'以顶分型开始,x1,x3取高点x2,x4取低点,线段及中枢区间取高点中的低者,低点中的高者zg=min(vbh(x1),vbh(x3))'临时中枢高点zd=max(vbl(x2),vbl(x4))'临时中枢低点gg=max(vbh(x1),vbh(x3))'临时中枢高高点dd=min(vbl(x2),vbl(x4))'临时中枢低低点else'以底分型开始,x2,x4取高点x1,x3取低点zg=min(vbh(x2),vbh(x4))' 临时中枢高点zd=max(vbl(x1),vbl(x3))'临时中枢低点gg=max(vbh(x2),vbh(x4))' 临时中枢高高点dd=min(vbl(x1),vbl(x3))'临时中枢低低点end ifif (zd>zg ) then'(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来vbweibi(x2)=1vbweibi(x3)=2'msgbox("当前的vbweibi(x3) :" & cstr(vbweibi(x3)))maxbi=max(maxbi,bi)vbbicount(x2)=bibi=-1zhshbegin=0else'(3)中枢低点小于等于高点,即形成中枢,不用记录位置end if'(3)结束,将x1,x2,x3 的值分别换成x2,x3,x4 的值,也即向前推进一个分型,然后再返回进行比较x1=x2x2=x3x3=x4end if'(2) 结束NEXT'(1)结束找出所有连续三笔无重叠的位置,即不能形成中枢的候选位置,以下要对这些位置进行筛选并逐个分析,看图时要特别注意这些位置'以下为自定义函数部分Function max(a, b)If (a >= b) Thenmax = aElse max = bEnd IfEnd Function Function min(a, b) If (a <= b) Then min = aElse min = bEnd IfEnd Function ("foxweibi")=vbweibi ("foxbicount")=vbbicount ("foxh") =vbh ("foxl") =vbl ("foxbaohan") = vbbaohan ("foxbaohan1") = vbbaohan1 ("foxguanxi") = vbguanxi ("foxfenxing") = vbfenxing ("foxfenxing1") = vbfenxing1 ("foxfennumber") =vbfennumber ("foxquekou") = vbquekou %>FOXXIAN:=LING; FOXXIANG:=LING; FOXXIAND:=LING;FOXTEG:=LING; FOXTED:=LING;FOXTEGX:=LING; FOXTEG1:=LING; FOXTED1:=LING;FOXTEGX1:=LING; FOXDATATYPE:=DATATYPE;FOXTEBAO:=LING; FOXTEBAO1:=LING; FOXTEGUANXI1:=LING; FOXFENNUMXIAN:=LING; FOXZQDM:=STRLEFT(STKLABEL,2); FOXXIAOSHU:=0;<% vbquekou=("foxquekou") vbfennumber=("foxfennumber") vbdatanumber = ("foxdatatype") vbfennumxian=("foxfennumxian") vbxiaoshu=("foxxiaoshu") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1") vbzqdm = ("foxzqdm") vbxian=("foxxian")vbxiang=("foxxiang") vbxiand=("foxxiand") vbteg=("foxteg") vbted=("foxted")vbtegx=("foxtegx") vbtebao=("foxtebao") vbtebao1=("foxtebao1") vbteg1=("foxteg1") vbted1=("foxted1") vbtegx1=("foxtegx1") vbweibi=("foxweibi")vbbicount=("foxbicount") nlast = UBound( vbh )'msgbox("当前的数据类型为:"& cstr(vbzqdm))IF ( vbzqdm ="58" or vbzqdm ="90" or vbzqdm ="03" or vbzqdm ="18" or vbzqdm ="50" or vbzqdm ="51" or vbzqdm ="52" ) THENvbxiaoshu=3 else vbxiaoshu=2 end if IF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THENELSE FOR m=0 TO nlast if (vbfenxing(m)<>0) then vbxian(m)=vbfenxing(m)vbxiang(m)=vbh(m) vbxiand(m)=vbl(m) end ifNEXT ENd IF '笔的数据是按K 线数据自动计算的即:vbfenxing '初始计算相关数据置为0 当数据类型为0和1即分笔和1分钟时要按笔-线段的过程组成中枢'其它级别(指 5 分钟及以上)时用笔组成中枢此时要将笔的数据即:分型位置代入线段数组中IF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THEN '(1)分笔和1分钟计算线段数据vbzqdm =0 为指数'公式还未考虑开始连续三笔无重叠不能形成线段的处理,缠论中对此也未明确不能形成线段的笔应发生属于那个线段'对走势中间连续三笔无重叠不能形成线段的处理也未明确不能形成线段的笔应属于那个线段'缠论中规定线段是连续的且以不同的分型作为两个端点即:不能顶到顶和底到底,此规定要考虑的i = 0 ex=0Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit do end if i = i + 1 Loop x1 = i xianbegin = x1 i = x1 + 1Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit do end if i = i + 1 Loop x2 = i i = x2 + 1 Do While ( i <= nlast) If (vbfenxing(i)<> 0 ) then exit do end if i = i + 1Loop x3 = i i = x3 + 1Do While ( ex=0 )'()if (x3>nlast or x2>nlast ) then'msgbox("当前的 1 x2:" & cstr(x2) & "当前的 1 x3: " & cstr(x3) & "当前的nlast: " & cstr(nlast) )exit doend ifif ( vbweibi(x2)=0 or vbweibi(x3)=0 or vbweibi(x3)=1 or vbweibi(x2)=2 ) then'msgbox("当前的 1 x2:" & cstr(x2) & "当前的 1 x3: " & cstr(x3) & "当前的nlast: " & cstr(nlast) )exit doelsex1=x2x2=x3Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx3 = ii = x3 + 1end ifloop'()i = x3 + 1xianbegin = x1tewei = x2if (x3<=nlast) thenIf (vbfenxing(x1) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = -1'以底分型开始,线段方向向上vbteg(tewei) = vbl(tewei)vbted(tewei) = vbh(x3)End Ifvbtegx(tewei) = xianfang'定义出第一个特征序列,及关系即:是上升的还是下降的end if'tewei = x4tenumber = 0 i = x3 + 1 vbxian(xianbegin) = vbfenxing(xianbegin) vbxiang(xianbegin) = vbh(xianbegin) vbxiand(xianbegin) = vbl(xianbegin) 'vbxiang(xianbegin) = gg'vbxiand(xianbegin) = dd For m = i To nlast'(2)Do While ( m <= nlast)If (vbfenxing(m) <> 0 ) then exit do end if m = m + 1Loop x4 = m m = x4 + 1 Do While ( m <= nlast) If (vbfenxing(m) <> 0 ) then exit do end if m = m + 1Loop x5 = m m = x5 + 1 newtewei = x4 if ( x5 > nlast) then exit for end ifIf (xianfang = -1) Then'xianfang=-1 以顶分型开始,线段方向向下vbted(newtewei) = vbl(newtewei)vbteg(newtewei) = vbh(x5)Else'xianfang=1 以底分型开始,线段方向向上vbteg(newtewei) = vbh(newtewei)vbted(newtewei) = vbl(x5)End If'判断方向/缺口及包含vbtegx(newtewei) = xianfang tenumber = 1 + tenumber 'if (tenumber >= 1) thenIf (vbted(newtewei) > vbted(tewei) And vbteg(newtewei) > vbteg(tewei) Orvbted(newtewei) < vbted(tewei) And vbteg(newtewei) < vbteg(tewei)) Then'(3)向上或向下即:不是包含If (vbted(newtewei) > vbted(tewei) And vbteg(newtewei) > vbteg(tewei)) Then'(4) 特征序列的方向向上tefang = 1Elsetefang = -1'(4)特征序列的方向向下End Ifvbtegx(newtewei) = tefangIf (xianfang <> tefang) Then'(5)线段方向与特征序列的方向不同,即:出现了特征序列的分型线段方向与特征序列关系不同,出现分型,'首先判断自tewei(x2) 开始的三笔是否构成线段,构成线段则下一步,不构成线段返回原线段继续,再判断第一个(tewei 的前一个特征序列)与第二个(tewei) 之间是否有缺口if ( vbweibi(x4)=0 or vbweibi(x3)=0 or vbweibi(x4)=1 or vbweibi(x3)=2 ) then 'if ( vbweibi(x6)=0 or vbweibi(x5)=0 ) then'{} 构成线段,新线段从newtewei 开始,原线段在newtewei 处结束还要判断顶是否大于底if (tenumber <= 1) then'(te number)此情况发生在三笔构成线段但线段的两端不是其最高点或最低点的情况当下只有三笔不能开始新线段否则就出现一笔构成一个线段的现象了i=mDo While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx6 = iif ( x6 > nlast) then'msgbox( " {} 当前的x6:" & cstr(x6) & " 当前的nlast:" & cstr(nlast) ) exit forend if'再判断x5,x6 是否构成线段,构成则新线段否则原线段继续if ( vbweibi(x6)=0 or vbweibi(x5)=0 or vbweibi(x6)=1 or vbweibi(x5)=2 ) then '开始构成新线段,新线段在newtewei 开始xianbegin=newteweivbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) = vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)x2=x5x3=x6tewei=x2m = x6 + 1If (vbfenxing(xianbegin) = 1) Then xianfang = -1 '以顶分型开始 ,线段方向向下vbted(tewei) vbteg(tewei) Else xianfang = 1 '以底分型开始 ,线段方向向上vbteg(tewei) = vbh(tewei) vbted(tewei) = vbl(x3) End If vbtegx(tewei) = xianfang tenumber = 0 else 'else 原线段继续 tewei=newtewei vbtegx(newtewei) = xianfang x2=x4 x3=x5 m = x5 + 1 end if '开始结束 else '(tenumber) tenumber = 0 bao = 0 xianbegin = tewei vbxian(xianbegin) =vbfenxing(xianbegin) vbxiang(xianbegin) = vbh(xianbegin) vbxiand(xianbegin) =vbl(xianbegin) x2 = X3 x3 = x4 tewei = x2If (vbfenxing(xianbegin) = 1) Then xianfang = -1 '以顶分型开始 ,线段方向向下vbted(tewei) vbteg(tewei) Else xianfang = 1 '以底分型开始 ,线段方向向上vbteg(tewei) = vbh(tewei) vbted(tewei) = vbl(x3) End Ifvbtegx(tewei) = xianfang m = x3+1 end if'(tenumber) else'{} 不构成线段 ,原线段继续 tewei=newtewei vbtegx(newtewei) = xianfang x2=x4 x3=x5 m = x5 + 1 end if '{}Else'(5)线段方向与特征序列关系相同 , 未出现分型 tewei 的值更新为 newtewei 'tenumber = 1+tenumber vbtegx(newtewei) = xianfangtewei=newteweix2=x4x3=x5End If'(5)Else'(3)包含 vbtegx(newtewei) = xianfangIf (vbted(tewei) >= vbted(newtewei) And vbteg(tewei) <= vbteg(newtewei)) Then '后面包含前面 newtewei 是后面的 tewei 在前面 1 为 tewei 被后一个包含 2 为newtewei 包含前一个 vbtebao(tewei) = 1 vbtebao(newtewei) = 2Else'前面包含后面-1为tewei 包含后一个-2为newtewei 被前一个包含 vbtebao(tewei) = -1 vbtebao(newtewei) = -2End IfIf (xianfang = -1) Then '线段方向向下取向下包含 temp = min(vbted(newtewei),vbted(tewei)) vbted(newtewei) = temp vbted(tewei) = temptemp = min(vbteg(newtewei), vbteg(tewei)) vbteg(newtewei) = temp vbteg(tewei) = temp Else'线段方向向上取向上包含temp = max(vbted(newtewei), vbted(tewei)) vbted(newtewei) = temp vbted(tewei) = temp temp = max(vbteg(newtewei), vbteg(tewei))vbteg(newtewei) = temp=vbl(tewei)= vbh(x3)=vbl(tewei)= vbh(x3)vbteg(tewei) = tempEnd If'判断与tewei 的前面是否有连续的包含关系temp = tewei - 1ex = 0bao = 0Do While (ex = 0)Do While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的10 temp:" & cstr(temp) & ” 当前的nlast: " & cstr(nlast)) exit do end ifIf (vbtebao(temp) = 0 Or vbtebao(temp) >= 2 Or vbtebao(temp) = -2 Or vbtegx(temp) <> xianfang) Thenex = 1Elsebao = bao + 1End Iftemp = temp - 1Loop'有几个连续包含,指大于三个K线的包含,BAO的值是包含的K线数减2,当只有两个连续K 线包含时BAO 为0temp = tewei - 1For i = 1 To baoDo While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的11 temp:" & cstr(temp) & ” 当前的nlast: " & cstr(nlast)) exit forend ifvbteg(temp) = vbteg(tewei)vbted(temp) = vbted(tewei)temp = temp - 1Nextvbtebao(newtewei) = bao + 2temp = tewei - 1For i = 1 To bao + 2If (i = 1 Or i = bao + 2) ThenElseDo While ( temp >0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的12 temp:" & cstr(temp) & "当前的nlast: " & cstr(nlast)) exit for end if vbtebao(temp) = -3 temp = temp - 1End IfNexttewei=newteweix2=x4x3=x5m = x5 + 1End If'(3)Next'(2)For i = 0 To nlastIf (vbtebao(i) = -2) Thenvbtebao(i) = 2End IfIf (vbtebao1(i) = -2) Then vbtebao1(i) = 2End IfNext'包含关系标准化,即结束标志都为 2 及以上'处理线段的两个端点满足条件顶>= 底i=0 do while (vbxian(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop lastfenxing=i for m = lastfenxing+1+ nlast to nlast if (vbxian(m)<>0) then if (vbxian(m)>0) then if (vbxiang(m)>=vbxiand(lastfenxing)) then '满足条件顶>=底lastfenxing=m else'不满足条件顶<底两个全置为0,并查下一个vbxian(m)=0 vbxian(lastfenxing)=0 vbxiang(m)=0 vbxiang(lastfenxing)=0 vbxiand(m)=0 vbxiand(lastfenxing)=0m=m+1 do while (vbxian(m)=0) m=m+1 if (m>nlast) then Exit Do end if looplastfenxing=m end if else if (vbxiand(m)<=vbxiang(lastfenxing)) then '满足条件底<顶lastfenxing=m else'不满足条件底<顶两个全置为0,并查下一个vbxian(m)=0 vbxian(lastfenxing)=0 vbxiang(m)=0 vbxiang(lastfenxing)=0 vbxiand(m)=0 vbxiand(lastfenxing)=0m=m+1 do while (vbxian(m)=0)m=m+1 if (m>nlast) then Exit Do end if loop lastfenxing=m end if end if end if next '计算线段的高点和低点i=0do while (vbxian(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop lastfenxing=i'vbxiang(i)=vbh(i) 'vbxiand(i)=vbl(i) gg=vbxiang(i) dd=vbxiand(i) for m = lastfenxing+1+ nlast to nlast if (vbfenxing(m)<>0) then gg=max(gg,vbh(m)) dd=min(dd,vbl(m)) if (vbxian(m)<>0) then vbxiang(i)=gg vbxiand(i)=dd if (vbxian(m)>0) then else end if gg=vbh(m) dd=vbl(m) end if end if next end if'(1)i=nlastdo while (vbxian(i)=0)i=i-1if (i>nlast or i<0) thenExit Doend iflooplastfenxing=i 'vbxian(nlast) = -vbxian(lastfenxing) 'vbxiang(nlast) = vbh(nlast)'vbxiand(nlast) = vbl(nlast) 'vbteg(newtewei) = 0 'vbted(newtewei) = 0 '以下为自定义函数部分Function max(a, b) If (a >= b) Then max = aElse max = b End IfEnd FunctionFunction min(a, b)If (a <= b) Then min = aElse min = b End IfEnd Function ("foxxiaoshu") =vbxiaoshu ("foxteg")=vbteg ("foxted")=vbted ("foxtegx")=vbtegx ("foxteg1")=vbteg1 ("foxted1")=vbted1 ("foxtegx1")=vbtegx1 ("foxtebao")=vbtebao ("foxtebao1")=vbtebao1 ("foxxian")=vbxian ("foxxiang")=vbxiang ("foxxiand")=vbxiand %>FOXWEI:=LING; FOXBUYSELL:=LING; <%vbdatanumber3 = ("datanumber3") vbbicount=("foxbicount") vbweibi=("foxweibi") vbquekou=("foxquekou") vbfennumber=("foxfennumber") vbfennumxian=("foxfennumxian") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1") vbbuysell=("foxbuysell")vbwei=("foxwei") vbxian=("foxxian") vbxiang=("foxxiang") vbxiand=("foxxiand")vbteg=("foxteg") vbted=("foxted") vbtegx=("foxtegx") vbteg1=("foxteg1")vbted1=("foxted1") vbtegx1=("foxtegx1") nlast = UBound( vbh ) i=0 for m = 0 to nlast if (vbxian(m)<>0) then i=i+1 vbfennumxian(m)=i end if next'vbfennumxian(nlast)=0 x1=0 x2=0 x3=0 x4=0 x5=0 x6=0 x7=0 bi=0 maxbi=0zhsh=0'先取三个分型数据,然后进入循环处理a=0'Do While (vbxian(a) = 0 and a <= nlast)Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend if a = a + 1 Loop x1=a a=x1+1Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend if a = a + 1 Loop x2=a a=x2+1Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend if a = a + 1 Loop x3=a a=x3+1 bi=0 zhshbegin=x1 zzg=0 zzd=0 zgg=0 zdd=0 zg=0 zd=0 gg=0 dd=0 'vbbicount=("foxbicount") 'vbweibi=("foxweibi") FOR m=a TO nlast'(1)开始按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志'其它则是不同级别的中枢和线段的思路设计'在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股1 分钟内可能无成交if (vbxian(m)<>0) then'(2) begin 只在分型不为0时进行处理,即:是分型时处理bi=bi+1x4=mif (zhshbegin=0) thenzhshbegin=x4end ifif (vbxian(x1)>0) then'以顶分型开始,x1,x3取高点x2,x4取低点,线段及中枢区间取高点中的低者,低点中的高者zg=min(vbxiang(x1),vbxiang(x3))'临时中枢高点zd=max(vbxiand(x2),vbxiand(x4))'临时中枢低点gg=max(vbxiang(x1),vbxiang(x3))'临时中枢高高点dd=min(vbxiand(x2),vbxiand(x4))'临时中枢低低点else'以底分型开始,x2,x4取高点x1,x3取低点zg=min(vbxiang(x2),vbxiang(x4))'临时中枢高点zd=max(vbxiand(x1),vbxiand(x3))'临时中枢低点gg=max(vbxiang(x2),vbxiang(x4))'临时中枢高高点dd=min(vbxiand(x1),vbxiand(x3))'临时中枢低低点end ifif (zd>zg ) then'(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来vbwei(x2)=1vbwei(x3)=2'还要计算上一个中枢的级别和中枢区间及波动区间,计算中枢的级别根据bi 记数器。

缠论三类买点选股公式

缠论三类买点选股公式

缠论三类买点选股公式
摘要:
1.缠论三类买点的定义和分类
2.缠论三类买点的选股公式
3.使用缠论三类买点选股公式的注意事项
正文:
一、缠论三类买点的定义和分类
缠论是一种基于浪的理论体系,主要研究市场价格波动的规律。

在缠论中,买点是指在价格波动中,可能出现上涨的点位。

根据价格波动的不同特点,缠论将买点分为三类:
1.第一类买点:价格从下跌趋势转为上涨趋势的点位。

2.第二类买点:价格从下跌趋势转为盘整趋势的点位。

3.第三类买点:价格从盘整趋势转为上涨趋势的点位。

二、缠论三类买点的选股公式
1.第一类买点选股公式:
(1) 找到价格下跌趋势的结束点,即价格出现底背离的点位。

(2) 底背离出现后,价格开始上涨,且上涨幅度超过前一波下跌幅度的1/2。

2.第二类买点选股公式:
(1) 找到价格下跌趋势的结束点,即价格出现底背离的点位。

(2) 底背离出现后,价格开始进入盘整阶段,且盘整阶段的价格波动幅度
较小。

(3) 盘整阶段结束后,价格开始上涨,且上涨幅度超过盘整阶段的价格波动幅度。

3.第三类买点选股公式:
(1) 找到价格盘整趋势的结束点,即价格出现突破盘整区间的点位。

(2) 突破盘整区间后,价格开始上涨,且上涨幅度超过盘整阶段的价格波动幅度的1/2。

三、使用缠论三类买点选股公式的注意事项
1.选股时应结合市场整体走势,避免在市场整体下跌趋势中使用买点公式。

2.选股时应关注个股的基本面信息,避免选择基本面较差的股票。

3.选股时应结合其他技术分析指标,如均线、MACD 等,以提高选股的准确性。

缠论买卖点(主图指标)

缠论买卖点(主图指标)

缠论买卖点(主图指标){注:原转载的这个公式有问题,刚接到一位匿名网友的反映(见下面的评论),本着对博友负责的精神,我重新检查后修改好了,并配了图,请转过的朋友重新再转。

给你带来了不便了,请谅解!(置顶一天)}缠论买卖点(主图指标)作者:彼岸随缘通达信:{N1:1,100,10;N2:1,100,10;DISP:=1,3,2};N1:=10;N2:=10;DISP:=2;K:=IF(PERIOD=5,1,{日}IF(PERIOD=6,1,{周}IF(PERIOD=7,1,{月}IF(PERIOD=8,1,{多分钟}IF(PERIOD=9,1,{多日}IF(PERIOD=10,1,{季}IF(PERIOD=11,2,{年}IF(PERIOD=4,1,{60F}IF(PERIOD=3,1,{30F}IF(PERIOD=2,1,{15F}IF(PERIOD=1,1{5F},1{1F})))))))))))/10; P1:=PEAK(1,K*N1,1);P2:=PEAK(1,K*N1,2);WP1:=PEAKBARS(1,K*N1,1);WP2:=PEAKBARS(1,K*N1,2);T1:=TROUGH(2,K*N2,1);T2:=TROUGH(2,K*N2,2);WT1:=TROUGHBARS(2,K*N2,1);WT2:=TROUGHBARS(2,K*N2,2);TJ1:=P1&gt;T1 AND P2&gt;T2 ;ZD:=MAX(T1,T2);ZG:=MIN(P1,P2);LL:=MIN(T1,T2);HH:=MAX(P1,P2);TJ2:=FILTER(ZG&gt;ZD,2);TJ3:=ZG=REF(ZG,BARSLAST(TJ2)) OR ZD=REF(ZD,BARSLAST(TJ2));TJ4:=TJ1&amp;&amp;TJ2&amp;&amp;NOT(TJ3);TJ5:=BETWEEN(ZD,REF(ZD,REF(BARSLAST(TJ4),1)),REF (ZG,REF(BARSLAST(TJ4),1)));TJ6:=BETWEEN(ZG,REF(ZD,REF(BARSLAST(TJ4),1)),REF( ZG,REF(BARSLAST(TJ4),1)));TJ7:=ZG&gt;REF(ZG,REF(BARSLAST(TJ4),1))&amp;&amp; ZD&lt;REF(ZD,REF(BARSLAST(TJ4),1));TJ8:=TJ4&amp;&amp;NOT(TJ5 OR TJ6 ORTJ7);ZSD:=IF(TJ8,ZD,DRAWNULL);ZSG:=IF(TJ8,ZG,DRAWNULL);ZSH:=IF(TJ8,HH,DRAWNULL);ZSL:=IF(TJ8,LL,DRAWNULL);STICKLINE(TJ8,ZSH,ZSL,0,-1),COLORMAGENTA;STICKLINE(TJ8,ZSD,ZSG,IF(DISP=1,3,0),1),COLORMAGE NTA;DRAWTEXT(DISP=2,ZSH,'中枢'),COLORRED;中枢高:PLOYLINE(DISP=2,REF(ZSD,BARSLAST(TJ8))),CROSS DOT,COLORLIRED;中枢低:PLOYLINE(DISP=2,REF(ZSG,BARSLAST(TJ8))),CROSS DOT,COLORLIGREEN;中枢最高:PLOYLINE(DISP=2,REF(ZSH,BARSLAST(TJ8))),POINT DOT,COLORRED;中枢最低:PLOYLINE(DISP=2,REF(ZSL,BARSLAST(TJ8))),POINT DOT,COLORGREEN;趋势高:PLOYLINE(DISP=3,ZIG(1,K*N1)),COLORLIBLUE; 趋势低:PLOYLINE(DISP=3,ZIG(2,K*N2)),COLORLIBLUE;局部低点预选A:=BACKSET(LLV(L,5)&lt;REF(LLV(L,4),1),4);局部低点预选B:=BACKSET(局部低点预选A=0 AND REF(局部低点预选A,1)=1,2);局部低点预选C:=IF(局部低点预选B=1 AND REF(局部低点预选B,1)=0,-1,0);局部高点预选A:=BACKSET(HHV(H,5)&gt;REF(HHV(H,4),1),4);局部高点预选B:=BACKSET(局部高点预选A=0 AND REF(局部高点预选A,1)=1,2);局部高点预选C:=IF(局部高点预选B=1 AND REF(局部高点预选B,1)=0,1,0);缺口判断:=IF(L&gt;REF(H,1),1,IF(H&lt;REF(L,1),-1,0));距前高天:=BARSLAST(局部高点预选C=1);距前低天:=BARSLAST(局部低点预选C=-1);小值周期:=LOWRANGE(L);大值周期:=TOPRANGE(H);低保留AA:=IF(局部低点预选C=-1 AND REF(距前高天,1)&gt;REF(距前低天,1) ANDLLV(L,距前高天+1)&lt;REF(LLV(L,距前高天+1),1),-1,0);低保留AB:=IF(局部低点预选C=-1 AND REF(距前高天,1)&lt;=REF(距前低天,1)AND (距前高天&gt;=4 OR LLV(缺口判断,距前高天)=-1 OR LLV(L,距前低天+2)&lt;REF(LLV(L,距前低天+1),1)),-1,0);低保留S:=IF((低保留AA=-1 OR 低保留AB=-1) ANDL&lt;REF(H,距前高天+1),-1,0);预判:=IF((距前低天&lt;4 AND HHV(缺口判断,距前低天)!=1)ORREF(低保留S,距前低天)=0,1,0);判断:=IF(局部高点预选C=1 AND REF(距前低天,1)&lt;=REF(距前高天,1) AND预判=1 AND 大值周期&gt;REF(小值周期,距前低天+1) AND 大值周期&gt;REF(小值周期,距前低天) AND大值周期&gt;REF(大值周期,距前高天),1,0);高保留A:=IF(局部高点预选C=1 AND REF(距前低天,1)&gt;REF(距前高天,1) ANDHHV(H,距前低天+1)&gt;REF(HHV(H,距前低天+1),1),1,0);高保留B:=IF(局部高点预选C=1 AND REF(距前低天,1)&lt;=REF(距前高天,1) ANDREF(低保留S,距前低天)=-1 AND (距前低天&gt;=4 OR HHV(缺口判断,距前低天)=1),1,0);高保留:=IF((高保留A=1 OR 高保留B=1 OR 判断=1) AND H&gt;REF(L,距前低天+1),1,0);预判A:=IF((距前高天&lt;4 AND HHV(缺口判断,距前高天)!=1) ORREF(高保留,距前高天)=0,1,0);判断A:=IF(局部低点预选C=-1 AND REF(距前高天,1)&lt;=REF(距前低天,1) AND预判A=1 AND 小值周期&gt;REF(大值周期,距前高天+1) AND小值周期&gt;REF(大值周期,距前高天) AND小值周期&gt;REF(小值周期,距前低天),-1,0);低保留A:=IF(局部低点预选C=-1 AND REF(距前高天,1)&gt;REF(距前低天,1) ANDLLV(L,距前高天+1)&lt;REF(LLV(L,距前高天+1),1),-1,0);低保留B:=IF(局部低点预选C=-1 AND REF(距前高天,1)&lt;=REF(距前低天,1) AND(距前高天&gt;=4 OR LLV(缺口判断,距前高天)=-1 OR判断A=-1),-1,0);低保留:=IF((低保留A=-1 OR 低保留B=-1) ANDL&lt;REF(H,距前高天+1),-1,0);距前高天A:=BARSLAST(高保留=1);距前低天A:=BARSLAST(低保留=-1);预判X:=IF((距前低天A&lt;4 AND HHV(缺口判断,距前低天A)!=1) ORREF(低保留,距前低天A)=0,1,0);判断X:=IF(局部高点预选C=1 AND REF(距前低天A,1)&lt;=REF(距前高天A,1) AND预判X=1 AND 大值周期&gt;REF(小值周期,距前低天A+1) AND大值周期&gt;REF(小值周期,距前低天A) AND大值周期&gt;REF(大值周期,距前高天A),1,0);高保留XA:=IF(局部高点预选C=1 AND REF(距前低天A,1)&gt;REF(距前高天A,1)AND HHV(H,距前低天A+1)&gt;REF(HHV(H,距前低天A+1),1),1,0);高保留XB:=IF(局部高点预选C=1 AND REF(距前低天A,1)&lt;=REF(距前高天A,1)AND REF(低保留,距前低天A)=-1 AND (距前低天A&gt;=4 ORHHV(缺口判断,距前低天A)=1),1,0);高保留X:=IF((高保留XA=1 OR 高保留XB=1 OR 判断X=1) ANDH&gt;REF(L,距前低天A+1),1,0);预判XA:=IF((距前高天A&lt;4 AND HHV(缺口判断,距前高天A)!=1) ORREF(高保留XA,距前高天A)=0,1,0);判断XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)&lt;=REF(距前低天A,1)AND 预判XA=1 AND 小值周期&gt;REF(大值周期,距前高天A+1) AND小值周期&gt;REF(大值周期,距前高天A) AND小值周期&gt;REF(小值周期,距前低天A),-1,0);低保留XA:=IF(局部低点预选C=-1 AND REF(距前高天A,1)&gt;REF(距前低天A,1)ANDLLV(L,距前高天A+1)&lt;REF(LLV(L,距前高天A+1),1),-1,0);低保留XB:=IF(局部低点预选C=-1 AND REF(距前高天A,1)&lt;=REF(距前低天A,1)AND (距前高天A&gt;=4 OR LLV(缺口判断,距前高天A)=-1 OR判断XA=-1),-1,0);低保留X:=IF((低保留XA=-1 OR 低保留XB=-1) ANDL&lt;REF(H,距前高天A+1),-1,0);距前高天YA:=BARSLAST(高保留X=1);距前低天YA:=BARSLAST(低保留X=-1);预判YX:=IF((距前低天YA&lt;4 AND HHV(缺口判断,距前低天YA)!=1) ORREF(低保留X,距前低天YA)=0,1,0);判断YX:=IF(局部高点预选C=1 AND REF(距前低天YA,1)&lt;=REF(距前高天YA,1)AND 预判YX=1 AND 大值周期&gt;REF(小值周期,距前低天YA+1) AND大值周期&gt;REF(小值周期,距前低天YA) AND大值周期&gt;REF(大值周期,距前高天YA),1,0);高保留YXA:=IF(局部高点预选C=1 AND REF(距前低天YA,1)&gt;REF(距前高天YA,1)ANDHHV(H,距前低天YA+1)&gt;REF(HHV(H,距前低天YA+1),1),1,0);高保留YXB:=IF(局部高点预选C=1 ANDREF(距前低天YA,1)&lt;=REF(距前高天YA,1) AND REF(低保留X,距前低天YA)=-1AND (距前低天YA&gt;=4 OR HHV(缺口判断,距前低天YA)=1),1,0);高保留YX:=IF((高保留YXA=1 OR 高保留YXB=1 OR 判断YX=1) ANDH&gt;REF(L,距前低天YA+1),1,0);预判YXA:=IF((距前高天YA&lt;4 AND HHV(缺口判断,距前高天YA)!=1) ORREF(高保留YXA,距前高天YA)=0,1,0);判断YXA:=IF(局部低点预选C=-1 ANDREF(距前高天YA,1)&lt;=REF(距前低天YA,1) AND 预判YXA=1 AND小值周期&gt;REF(大值周期,距前高天YA+1) AND小值周期&gt;REF(大值周期,距前高天YA) AND小值周期&gt;REF(小值周期,距前低天YA),-1,0);低保留YXA:=IF(局部低点预选C=-1 ANDREF(距前高天YA,1)&gt;REF(距前低天YA,1) ANDLLV(L,距前高天YA+1)&lt;REF(LLV(L,距前高天YA+1),1),-1,0);低保留YXB:=IF(局部低点预选C=-1 ANDREF(距前高天YA,1)&lt;=REF(距前低天YA,1) AND(距前高天YA&gt;=4 OR LLV(缺口判断,距前高天YA)=-1 OR 判断YXA=-1),-1,0);低保留YX:=IF((低保留YXA=-1 OR 低保留YXB=-1) AND L&lt;REF(H,距前高天YA+1),-1,0);AAAD:=IF(高保留YX=1 AND 低保留YX=-1 ANDH&gt;REF(H,REF(距前高天YA,1)+2),1,IF(高保留YX=1 AND 低保留YX=-1AND L&lt;REF(L,REF(距前低天YA,1)+2),-1,0));极点保留:=IF(AAAD=0,高保留YX+低保留YX,AAAD);局部极点:IF(极点保留=-1,L,IF(极点保留=1,H,DRAWNULL)) CIRCLEDOTCOLORYELLOW;DRAWLINE(极点保留=-1,局部极点,极点保留=1,局部极点,0)COLORLIRED;DRAWLINE(极点保留=1,局部极点,极点保留=-1,局部极点,0)COLORYELLOW;DD1:=BARSLAST(ABS(极点保留)!=1);DRAWTEXT(极点保留=1,局部极点,'卖'),COLORGREEN; DRAWTEXT(极点保留=-1,局部极点,'买'),COLORRED;MA5:MA(CLOSE,5),COLORFF00FF,LINETHICK2;判:IF(MA5&lt;REF(MA5,1),MA5,DRAWNULL),COLORWHI TE,LINETHICK2;大智慧:if DATATYPE&lt;8 thenbeginfx30:="FENXING#min30";fx60:="FENXING#min60";{fxday:="FENXING#day";}drawtext(barstatus=2,fx30,'-----30底分高'+fx30),colorwhite,align2;drawtext(barstatus=2,fx60,'-----60底分高'+fx60),colorgreen,align2;{drawtext(barstatus=2,fxday,'--日线底分高')+fx60,colorgreen,align2;}end;var1:="chzhshch@kxian";{处理K线}var2:="chzhshch@bi";{处理笔关系}drawline(var2=1,h,var2=-1,l,0),pointdot,coloryellow; drawline(var2=-1,l,var2=1,h,0),pointdot,coloryellow; var3:="chzhshch@duan";{处理段关系}drawtext(var3=1,h,''+h),align0,colormagenta; drawtext(var3=1,h,'卖'),align2,colorred;drawtext(var3=-1,l,''+l),colorgreen;drawtext(var3=-1,l,'买'),align2,colorgreen;drawline(var3=1,h,var3=-1,l,0),colorff6600;drawline(var3=-1,l,var3=1,h,0),colorff6600;{高一级别的段var4:="[email=chzhshch@duan2]chzhshch@duan2[/email]"; drawline(var4=1,h,var4=-1,l,0),linethick2,colorred; drawline(var4=-1,l,var4=1,h,0),linethick2,colorred;}h1:=0;X1:=BARSLAST(h1);飞狐:var1:="color=#ff0000]chzhshch@kxian";var2:="chzhshch@bi";{处理笔关系}if DATAPERIOD&lt;=8 then//var2:="[email=chzhshch@duan]chzhshch@duan[/email]";{处理段1分钟的关系}pre:=3; {设置小数点位数}if STKTYPE=0 then pre:=1;if STKTYPE=11 then pre:=3;a1:=barslast(var2&lt;&gt;0);a2:=ref(var2,a1);aa1:=ref(a1+1,1);aa2:=ref(a2,1);aa3:=BARSSINCE(var2&lt;&gt;0);aa4:=ref(aa3+1,1)+4;//历史总周期数(aa2&gt;0,l-ref(h,aa1),h-ref(l,aa1)),linethick0;{计算点位差}drawnumber(var2=1,h,h,pre),pxup20,color3300ff,align1; {显示数字}drawnumber(var2=-1,l,l,pre),pxdn5,colorffff00,align1;//{显示完成笔力度}//drawtext(var2=1,h,'+'),pxup45,colormagenta,align2; drawnumber(var2=1,h,a3,pre),align1,colormagenta,pxup65; drawnumber(var2=-1,l,a3,pre),align1,colormagenta,pxdn50; //显示完成笔周期drawtext(var2=1,h,'卖'),pxup45,colorred,align2;drawtext(var2=1,h,'T:'),pxup45,coloryellow,align2,shift3;drawnumber(var2=1,h,aa1,0),colormagenta,pxup45,align1,shift3 ;//drawnumber(var2=1,h,aa4,0),coloryellow,pxup45,align1,shift6 ;drawtext(var2=-1,l,'买'),pxdn30,colorgreen,align2;drawtext(var2=-1,l,'T:'),pxdn30,coloryellow,align2,shift3;drawnumber(var2=-1,l,aa1,0),colormagenta,pxdn30,align1,shift 3;//drawnumber(var2=-1,l,aa4,0),coloryellow,pxdn30,align1,shift6 ;//显示未完成笔的点位力度ll:=l-ref(h,barslast(var2&lt;&gt;0));hh:=h-ref(l,barslast(var2&lt;&gt;0));a3:= -a3;//显示未完成笔的收盘数据drawtext(islastbar andref(var2,barslast(var2&lt;&gt;0))=-1 andvar2=0,h,numtostr(h,3)),pxup20,color3300ff,align1,shift6;{显示数字}drawtext(islastbar andref(var2,barslast(var2&lt;&gt;0))=1 andvar2=0,l,numtostr(l,3)),pxdn5,colorffff00,align1,shift6;//写在未完成笔低点处的笔的点位力度drawtext(islastbar andref(var2,barslast(var2&lt;&gt;0))=1 andvar2=0,L,numtostr(ll,3)),colorgreen,shift6,pxdn30,align1;//写在未完成笔高点处的笔的点位力度//drawtext(islastbar andref(var2,barslast(var2&lt;&gt;0))=-1 andvar2=0,h,'+' +numtostr(hh,3)),align1,colormagenta,pxup45,shift6;//显示未完成笔的周期,写在低点的drawtext(islastbar andref(var2,barslast(var2&lt;&gt;0))=1 andvar2=0,L,'T:'+ numtostr(aa1,0)),pxdn50,coloryellow,align1,shift6;//显示未完成笔的周期,写在高点的drawtext(islastbar andref(var2,barslast(var2&lt;&gt;0))=-1 andvar2=0,h,'T:'+ numtostr(aa1,0)),pxup65,coloryellow,align1,shift6;end;var1:="[email=chzhshch@kxian]chzhshch@kxian[/email]";{处理K线}var2:="[email=chzhshch@bi]chzhshch@bi[/email]";{处理笔关系}drawline(var2=1,h,var2=-1,l,0),linedot,coloryellow;drawline(var2=-1,l,var2=1,h,0),linedot,coloryellow;var3:="[email=chzhshch@duan]chzhshch@duan[/email]";{处理段关系,处理前调整笔的高低点,处理后不调整}drawnumber(var3=1,h,h,2),pxup20,colormagenta,align2;//drawtext(var3=1,h,'卖'),pxup20,colormagenta,align2;drawnumber(var3=-1,l,l,2),pxdn5,colorgreen;drawline(var3=1,h,var3=-1,l,0),colorFF6600;drawline(var3=-1,l,var3=1,h,0),colorFF6600;var31:=hhvbars(zig(3, 19)&gt;ref(zig(3,19),1)and ref(zig(3,19), 1)&lt;ref(zig(3,19), 2),0); stickline(var31=2,l*0.95,l*0.98,8,0),color0000ff; drawtext(var31=2,l*0.95,'3天'),coloryellow; stickline(var31=4,h*1.05,h*1.02,8,0),color9966ff; drawtext(var31=4,h*1.06,'5天'),coloryellow; stickline(var31=7,l*0.95,l*0.98,8,0),color00ffff; drawtext(var31=7,l*0.95,'8天'),coloryellow;stickline(var31=12,h*1.05,h*1.02,8,0),colorff33ff; drawtext(var31=12,h*1.06,'13天'),coloryellow; stickline(var31=20,l*0.95,l*0.98,8,0),color0066ff; drawtext(var31=20,l*0.95,'21天'),coloryellow; stickline(var31=33,h*1.05,h*1.02,8,0),colorffff00; drawtext(var31=33,h*1.06,'34天'),coloryellow; stickline(var31=54,l*0.95,l*0.98,8,0),color006600;drawtext(var31=54,l*0.95,'55天'),coloryellow; stickline(var31=88,h*1.05,h*1.02,8,0),color00ff00; drawtext(var31=88,h*1.06,'89天'),coloryellow; stickline(var31=143,l*0.95,l*0.98,8,0),colorccffff; drawtext(var31=143,l*0.95,'144天'),coloryellow; stickline(var31=232 ,h*1.05,h*1.02,8,0),colorff0033; drawtext(var31=232,h*1.06,'233天'),coloryellow; stickline(var31=376,l*0.95,l*0.98,8,0),colorff9966;drawtext(var31=376,l*0.95,'377天'),coloryellow;注:有未来函数,下面是本博2011.10.12配得图{转自:好人伟哥}。

缠论主图、附图指标,两天终于做好了,大家凑合看看!

缠论主图、附图指标,两天终于做好了,大家凑合看看!

缠论主图、附图指标,两天终于做好了,大家凑合看看!我自己学股票也是从缠论的顶底分型开始的,我学了很多年指标技术,但是最终才发现只有缠论才能仔细把股票市场解释清楚。

从原著再看微博,再到实践,这么多年我虽然一直在做价值投资,但是买卖点还是在用缠论的理论。

最近编写了一点缠论的选股,希望对大家有帮助1、缠论第三类买点选股指标公式LS:=50;A1:=HHV(H,LS*0.7){TUFENDOU};A2:=HHV(H,LS*4){TUFENDOU};A3:=REF(HHV(H,LS*4),LS*0.7){TUFENDOU};A4:=LLV(L,LS/10){TUFENDOU};选股:{TUFENDOU}A1=A2 AND A1>=A3*1.2 AND A4>A3;2、缠论分型笔线段主图指标公式MA5:MA(CLOSE,5) COLORWHITE,LINETHICK2;MA10:MA(CLOSE,10) COLORMAGENTA,LINETHICK1;MA20:MA(CLOSE,20) COLORBLUE,LINETHICK1;MA60:MA(CLOSE,60) COLORYELLOW,LINETHICK2;MA250:MA(CLOSE,250) COLORRED, LINETHICK1;老笔:=0;G:=MA(C,5);D:=MA(C,10);HH:=REF(H,5)=HHV(H,11);LL:=REF(L,5)=LLV(L,11);FG01:=BACKSET(HH,6)>BACKSET(HH,5) ;FD01:=BACKSET(LL,6)>BACKSET(LL,5) ;FG02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01,IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0));FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01,IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0));FG0:=FG02 AND H=HHV(H,BARSLAST(FD02));FD0:=FD02 AND L=LLV(L,BARSLAST(FG02));GP:IF(FG0,H,DRAWNULL),CIRCLEDOT,COLORCYAN;DP:IF(FD0,L,DRAWNULL),CIRCLEDOT,COLORCYAN;GQ:=L>REF(H,1) AND DAY!=REF(DAY,1);DQ:=HGQL:=REF(L,BARSLAST(GQ));DQH:=REF(H,BARSLAST(DQ));FGH:=REF(H,BARSLAST(FG0));FGL:=REF(L,BARSLAST(FG0));FGH1:=REF(H,BARSLAST(FG0)+1);FGL1:=REF(L,BARSLAST(FG0)+1);FGH2:=REF(H,BARSLAST(FG0)+2);FGL2:=REF(L,BARSLAST(FG0)+2);FDH:=REF(H,BARSLAST(FD0));FDL:=REF(L,BARSLAST(FD0));FDH1:=REF(H,BARSLAST(FD0)+1);FDL1:=REF(L,BARSLAST(FD0)+1);FDH2:=REF(H,BARSLAST(FD0)+2);FDL2:=REF(L,BARSLAST(FD0)+2);FGZH:=IF(FGL<>FGZL:=IF(FGH1<><>FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1));FDZL:=IF(FDH>=FDH1,FDL2,FDL1);FG1:=FGH>FDZH AND FG0;FD1:=FDLFG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL;FD:=FD1 AND FDL<>BH0:=(H<=ref(h,1) and="" l="">=REF(L,1)) OR (H>=REF(H,1) AND L<>BHG:=COUNT(BH0,BARSLAST(FD0));BHD:=COUNT(BH0,BARSLAST(FG0));BGQ:=COUNT(GQ,BARSLAST(FD0));BDQ:=COUNT(DQ,BARSLAST(FG0));BK0:=IF(BHG>0,BHG+2+老笔,IF(BHD,BHD+2+老笔,3));BK:=IF(BGQ,BK0-BGQ,IF(BDQ,BK0-BDQ,BK0));G1X:=(FG AND BARSLAST(FD)>BK);D1X:=(FD AND BARSLAST(FG)>BK);G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X))OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X)));D1:=(FD0 AND REF(L,BARSLAST(FD0))<=ref(l,barslast(d1x)) and="" barslast(g1x)="">BARSLAST(D1X))OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<>G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G 1)),REF(H,BARSLAST(D1))),;D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1) ),REF(L,BARSLAST(G1)));G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1);D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND LBARSLAST(D1);G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) ANDBARSLAST(D2)>BARSLAST(G2));D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))BARSLAST(D2));GPB:IF(G1X,H,DRAWNULL),CIRCLEDOT,COLORYELLOW;DPB:IF(D1X,L,DRAWNULL),CIRCLEDOT,COLORYELLOW;DRAWICON(CROSS(MA20,MA60),MA60*0.98,9);DIF:=MA(CLOSE,5)-MA(CLOSE,89);DIFMA:=MA(DIF,36);XG:=CROSS(DIF,DIFMA) AND DIF<>DRAWICON(XG,H*1.03,23);{画线}NN:=G3;UU:=D3;L1:DRAWLINE(UU,L,NN,H,0),COLORLIGREEN;L2:DRAWLINE(NN,H,UU,L,0),COLORLIGREEN;{标示端点数值}DRAWNUMBER(L1 AND L2 AND NN ,H,H),COLORLIRED;DRAWNUMBER(L1 AND L2 AND UU ,L,L),COLORLIMAGENTA;{折扣价}DRAWICON(CURRBARSCOUNT=6,LOW*0.98,24);DRAWNUMBER(CURRBARSCOUNT=6,LOW*0.96,C);DRAWICON(CURRBARSCOUNT=11,LOW*0.98,25);DRAWNUMBER(CURRBARSCOUNT=11,LOW*0.96,C);DRAWICON(CURRBARSCOUNT=21,LOW*0.98,26);DRAWNUMBER(CURRBARSCOUNT=21,LOW*0.96,C);DRAWICON(CURRBARSCOUNT=61,LOW*0.98,27);DRAWNUMBER(CURRBARSCOUNT=61,LOW*0.96,C);DRAWICON(CURRBARSCOUNT=121,LOW*0.98,18);DRAWNUMBER(CURRBARSCOUNT=121,LOW*0.96,C);{量能平台}N250:=250;PT250:=CONST(HHVBARS(V,N250));T250:IF(CURRBARSCOUNT<>IF(CURRBARSCOUNT=PT250+1,T250,DRAWNULL),CIRCLED OT,COLORFF0000,LINETHICK2;DRAWTEXT(CURRBARSCOUNT=N250,T250,'250'),COLOR99 0000;N120:=120;PT120:=CONST(HHVBARS(V,N120));T120:IF(CURRBARSCOUNT<>IF(CURRBARSCOUNT=PT120+1,T120,DRAWNULL),CIRCLED OT,COLORFFFF00,LINETHICK2;DRAWTEXT(CURRBARSCOUNT=N120,T120,'120'),COLORAA AA00;N60:=60;PT60:=CONST(HHVBARS(V,N60));T60:IF(CURRBARSCOUNT<>IF(CURRBARSCOUNT=PT60+1,T60,DRAWNULL),CIRCLEDOT, COLOR00FF00,LINETHICK2;DRAWTEXT(CURRBARSCOUNT=N60,T60,'60'),COLOR00BB0 0;N30:=30;PT30:=CONST(HHVBARS(V,N30));T30:IF(CURRBARSCOUNT<>IF(CURRBARSCOUNT=PT30+1,T30,DRAWNULL),CIRCLEDOT, COLOR0000FF,LINETHICK2;DRAWTEXT(CURRBARSCOUNT=N30,T30,'30'),COLOR0000C C;N20:=20;PT20:=CONST(HHVBARS(V,N20));T20:IF(CURRBARSCOUNT<>IF(CURRBARSCOUNT=PT20+1,T20,DRAWNULL),CIRCLEDOT, COLORFF00FF,LINETHICK2;DRAWTEXT(CURRBARSCOUNT=N20,T20,'20'),COLORDD00 DD;N10:=10;PT10:=CONST(HHVBARS(V,N10));T10:IF(CURRBARSCOUNT<>IF(CURRBARSCOUNT=PT10+1,T10,DRAWNULL),CIRCLEDOT, COLOR00FFFF,LINETHICK2;DRAWTEXT(CURRBARSCOUNT=N10,T10,'10'),COLOR00EEEE;N5:=5;PT5:=CONST(HHVBARS(V,N5));T5:IF(CURRBARSCOUNT<>IF(CURRBARSCOUNT=PT5+1,T5,DRAWNULL),CIRCLEDOT,C OLORFFFFFF,LINETHICK2;DRAWTEXT(CURRBARSCOUNT=N5,T5,'5'),COLORFFFFFF;ND:=10;PTD:=CONST(LLVBARS(V,ND));TDPX:IF(CURRBARSCOUNT<=nd,const(if(ptd=0,o,ref(o,ptd)) ),drawnull),>IF(CURRBARSCOUNT=PTD+1,TDPX,DRAWNULL),CIRCLEDOT, COLOR9370DB,LINETHICK2;DRAWTEXT(ISLASTBAR,TDPX,' 地平线10'), COLOR9370DB;3、缠论背驰指标公式DIFF:EMA(CLOSE,12)-EMA(CLOSE,27);DEA:EMA(DIFF,9);MACD:2*(DIFF-DEA), COLORSTICK,LINETHICK2;低位金叉:=CROSS(DIFF,DEA) AND DIFF<>STICKLINE(低位金叉,0,0.08,6,0),coloryellow;DRAWTEXT(低位金叉,0.16,' 低位金叉'),colorwhite;JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));二次金叉:=CROSS(DIFF,DEA) AND DEA<0 and="" count(jccount="">STICKLINE(二次金叉,0,0.06,6,0),COLORFF00FF;DRAWICON(二次金叉,DEA*0.9,1) ;DRAWTEXT(二次金叉,0.2,' 二次金叉'),coloryellow;A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA);STICKLINE(底背离,0,0.03,6,0),COLOR00FF00;底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),colorred,LINETHICK4;DRAWTEXT(底背离,0.12,' 底背离'),COLORFF00FF;A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));顶背离:=REF(CLOSE,A2+1)DIFF AND CROSS(DEA,DIFF);顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),colorgreen,LINETHICK4;DRAWTEXT(低位金叉 AND 二次金叉 AND 底背离,0.25,'三全项'),COLOR0000FF,LINETHICK2;。

三类买卖点标准定义,缠论公式指标

三类买卖点标准定义,缠论公式指标

三类买卖点标准定义,缠论公式指标缠论有1、2、3类买卖点,缠论第3类买卖点,是激进的缠中说禅操作模式,利润最大赚钱最快,这也是分歧争论最大一类的买卖点。

网络配图的3类买卖点理论图99%是错误的,很多人学习缠论多年,3买一直搞不太清楚,90%的缠迷对3类买卖点是错误的,包括许多缠论高手。

一、先上缠中说禅原始定理。

1、第三类买卖点定理:一个次级别走势类型向上离开缠中说禅走势中枢,然后以一个次级别走势类型回试,其低点不跌破ZG,则构成了第三类买点;一个次级别走势类型向下离开缠中说禅走势中枢,然后以一个次级别走势类型回抽,其高点不升破ZD,则构成第三类卖点。

(而对于第三类买卖点,其意义就是对付中枢结束的。

一个级别的中枢结束,无非面对两种情况:a、转成更大的中枢;b、上涨或下跌直到形成新的该级别中枢。

第三类买卖点就是告诉什么时候发生这种事情的,而在第二、三买卖点的本级别走势类型之间,都是中枢震荡,这时候,是不会有该级别的买卖点的,因此,如果参与其中的买卖,用的都是低级别的买卖点。

)2、走势类型走势:你打开走势图看到的就是走势。

走势分不同级别。

走势类型:上涨、下跌、盘整。

趋势:上涨、下跌。

对于市场走势,有一个是“不患”的,就是走势的三种分类:上涨、下跌、盘整。

所有走势都可以分解成这三种情况。

这是一个最简单的道理,而这才是市场分析唯一值得依靠的基础。

很多人往往忽视最简单的东西,去搞那些虚头八脑的玩意。

而无论你是主力、散户、庄家,都逃不过这三种分类所交织成的走势。

那么,何谓上涨、下跌、盘整?下面给出一个定义。

首先必须明确的是,所有上涨、下跌、盘整都建立在一定的周期图表上,例如在日线上的盘整,在30分钟线上可能就是上涨或下跌,因此,一定的图表是判断的基础,而图表的选择,与上面所说交易系统的选择是一致的,相关于你的资金、性格、操作风格等。

上涨:最近一个高点比前一高点高,且最近一个低点比前一低点高。

下跌:最近一个高点比前一高点低,且最近一个低点比前一低点低。

缠论一二三买点副图公式收集(缠论股票公式)

缠论一二三买点副图公式收集(缠论股票公式)

缠论⼀⼆三买点副图公式收集(缠论股票公式)(公式是⽹上搜来的,未及验证,谨作资料收集,最难得是副图。

)DRAWGBK(C>0, RGB(0,0,00),RGB(0,0,0),0,’11’,0);MA21:MA(C,10),COLORGREEN,LINETHICK2;MA60:MA(C,60);VAR6:=(( ABS((OPEN-CLOSE))/(HIGH-LOW))*VOL);VAR7:=(( (HIGH-IF((CLOSE>OPEN),CLOSE,OPEN))/(HIGH-LOW))*VOL);VAR8:=(( (IF((CLOSE>OPEN),OPEN,CLOSE)-LOW)/(HIGH-LOW))*VOL);VAR9:=IF(((VOL/CAPITAL)>0.001),1,EXP(ABS(LOG(((VOL/CAPITAL)*100)))));加仓:VAR6>=VAR7 AND VAR6>=VAR8 AND CLOSE>OPEN,NODRAW,COLORRED;减仓:VAR6>=VAR7 AND VAR6>=VAR8 AND CLOSE洗盘:VAR8>VAR6 AND VAR8>VAR7,NODRAW,COLORWHITE;⾼抛:VAR7>VAR6 AND VAR7>VAR8,NODRAW,COLORMAGENTA;地量:VAR9>2 AND VOLDRAWKLINE(H,O,L,C);TY:=C;A1:=REF(TY,10)=HHV(TY,2*10+1); B1:=FILTER(A1,10); C1:=BACKSET(B1,10+1);HD:=FILTER(C1,10);A2:=REF(TY,10)=LLV(TY,2*10+1); B2:=FILTER(A2,10); C2:=BACKSET(B2,10+1);LD:=FILTER(C2,10);前期⾼位:REF(H,BARSLAST(HD)),COLORYELLOW,LINETHICK4,POINTDOT;前期低位:REF(L,BARSLAST(LD)), COLORGREEN,POINTDOT,LINETHICK4;STICKLINE(加仓,O,C,1,0),COLORRED;STICKLINE(洗盘,O,C,1,0),COLORWHITE;STICKLINE(减仓,O,C,1,0),COLORBLUE;STICKLINE(⾼抛,O,C,1,0),COLORMAGENTA;STICKLINE(地量,O,C,1,0),COLORGREEN;JJ:=(3*C+H+L+O)/6;VAR1:=(8*JJ+7*REF(JJ,1)+6*REF(JJ,2)+5*REF(JJ,3)+4*REF(JJ,4)+3*REF(JJ,5)+2*REF(JJ,6)+REF(JJ,8))/36; TJ1:=VOL=HHV(VOL,10) AND VOL>2*REF(VOL,1) AND CLOSE>VAR1 AND C>REF(C,1);LJL:=FILTER(TJ1,5);DRAWTEXT_FIX(1,0.0,0.0,0,’蓝芯-主⼒低位深度洗盘或⾼位出货坚决’),COLORBLUE,LINETHICK1; DRAWTEXT_FIX(1,0.00,0.06,0,’⽩芯-主⼒轻度洗盘’),COLORWHITE,LINETHICK1;DRAWTEXT_FIX(1,0.00,0.12,0,’棕芯-出现了近期相对地量’),COLORGREEN,LINETHICK1;DRAWTEXT_FIX(1,0.00,0.18,0,’粉芯-主⼒在做⾼抛低吸或低吸⾼抛’),COLORFF00FF,LINETHICK1; DRAWTEXT_FIX(1,0.00,0.24,0,’红芯-主⼒吸筹进货积极主动’),COLORRED,LINETHICK1; DRAWTEXT_FIX(1,0.00,0.3,0,’黄芯-主⼒吸筹进货强并且成交量出现黄⾦柱’),COLORYELLOW,LINETHICK1;DRAWTEXT_FIX(C>0,0.004,1,0,DYBLOCK),COLORYELLOW,LINETHICK2;DRAWTEXT_FIX(C>0,0.06,1,0,HYBLOCK),COLORRED,LINETHICK2;DRAWTEXT_FIX(C>0,0.12,1,0,EXTERNSTR(0,1)),COLORWHITE,LINETHICK2;EN1:=ZIG(3,5)>REF(ZIG(3,5),1) AND REF(ZIG(3,5),1)<=REF(ZIG(3,5),2) AND REF(ZIG(3,5),2)<=REF(ZIG(3,5),3);PL10:=ZIG(3,10);⾛强2:=BARSLAST(PL10ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(EN1,⾛强2),0);追2:=EN1 AND PL10>REF(PL10,1) AND ZTJZ5=2;追4:=EN1 AND PL10>REF(PL10,1) AND ZTJZ5=3;DRAWTEXT(追2 OR 追4,LOW*0.978,’追’),COLORYELLOW;PL5:=ZIG(3,5);EX1:=ZIG(3,5)=REF(ZIG(3,5),2) AND REF(ZIG(3,5),2)>=REF(ZIG(3,5),3);EN2:=ZIG(3,10)>REF(ZIG(3,10),1) AND REF(ZIG(3,10),1)<=REF(ZIG(3,10),2) AND REF(ZIG(3,10),2) <=REF(ZIG(3,10),3);EX2:=ZIG(3,10)=REF(ZIG(3,10),2) AND REF(ZIG(3,10),2)>=REF(ZIG(3,10),3);PL20:=ZIG(3,20);EN3:=ZIG(3,20)>REF(ZIG(3,20),1) AND REF(ZIG(3,20),1)<=REF(ZIG(3,20),2) AND REF(ZIG(3,20),2) <=REF(ZIG(3,20),3);EX3:=ZIG(3,20)=REF(ZIG(3,20),2) AND REF(ZIG(3,20),2)>=REF(ZIG(3,20),3);PL40:=ZIG(3,40);⾛强1:=BARSLAST(PL5⾛弱1:=BARSLAST(PL5>REF(PL5,1));⾛弱2:=BARSLAST(PL10>REF(PL10,1));⾛强3:=BARSLAST(PL20⾛弱3:=BARSLAST(PL20>REF(PL20,1));ZTJD5:=IF(PL10>REF(PL10,1),COUNT(EX1,⾛强2),0);DTJZ5:=IF(PL10DTJD5:=IF(PL10ZTJZ10:=IF(PL20>REF(PL20,1),COUNT(EN2,⾛强3),0);ZTJD10:=IF(PL20>REF(PL20,1),COUNT(EX2,⾛强3),0);DTJZ10:=IF(PL20DTJD10:=IF(PL20DRAWTEXT(EN1 AND DTJZ5=1,L*0.98,’反弹低点’),COLORLIRED;DRAWTEXT(EX1 AND DTJD5=2,H*1.02,’反弹⾼点!’),COLORLIBLUE;DRAWTEXT(EN2 AND ZTJZ5=1,L*0.98,’买⼊’),COLORYELLOW;DRAWTEXT(EX1 AND PL10>REF(PL10,1) AND ZTJD5=1,H*1.02,’减仓’),COLORFFFF00; DRAWTEXT(EN1 AND PL10>REF(PL10,1) AND ZTJZ5=2,L*0.98,’—-买’),COLOR0000FF; DRAWTEXT(EX1 AND PL10>REF(PL10,1) AND ZTJZ5=2,H*1.02,’短卖’),COLORGREEN; DRAWTEXT(EN1 AND PL10>REF(PL10,1) AND ZTJZ5=3,L*0.98,’—-短买’),COLOR0000FF; DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.02,’短卖’),COLORGREEN; DRAWTEXT(EN2 AND DTJZ10=1,L*0.96,’Ⅰ’),COLORFF00FF;DRAWTEXT(EX2 AND DTJD10=2,H*1.03,’Ⅱ’),COLORFF6000;DRAWTEXT(EN3 AND ZTJZ10=1,L*0.95,’Ⅲ’),COLORYELLOW;DRAWTEXT(EX2 AND PL20>REF(PL20,1) ANDZTJD10=1,H*1.06,’①’),LINETHICK3,COLORFFFF00;DRAWTEXT(EN2 AND PL20>REF(PL20,1) ANDZTJZ10=2,L*0.96,’②’),LINETHICK3,COLORYELLOW;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) AND EX2,H*1.02,’清仓!’),LINETHICK3,COLORWHITE;DRAWTEXT(EN2 AND PL20>REF(PL20,1) ANDZTJZ10=3,L*0.96,’④’),LINETHICK3,COLORYELLOW;DRAWTEXT(EN1 AND PL10>REF(PL10,1) AND ZTJZ5=3,L*0.95,’⑷’),COLORYELLOW;EMA13:=EMA(C,13);EMA34:=EMA(C,34);EMA55:=EMA(C,55);EMA120:=EMA(C,120);CR1:=(C-REF(C,1))/REF(C,1)*100>0.5;CR2:=V>MA(V,5)*0.6;CR3:=COUNT(CROSS(EMA13,EMA55),3)=1;CR4:=ABS(EMA34-EMA55)/EMA55<0.03;CR5:=EMA55<=EMA120 AND EMA55>=REF(EMA55,1);CR6:=FILTER(CR1 AND CR2 AND CR3 AND CR4 AND CR5,2);DRAWTEXT(CR6,C*0.98,’风险’),COLORWHITE;原创⽂章,作者:派尔财经,如若转载,请注明出处:https:///41969.html。

缠论三类买点选股公式

缠论三类买点选股公式

缠论三类买点选股公式
缠论是一种技术分析方法,可以用来选股和确定买点。

在缠论中,常用的三个买点选股公式是:顶背离买点、底背离买点和平台突破买点。

顶背离买点指的是在股票价格达到新高时,指标却没有达到新高,形成了一个高点和指标高点之间的背离。

这意味着市场可能出现反转的机会,投资者可以考虑在背离形成后卖出股票或者进行空仓操作,以防止损失。

底背离买点则是指在股票价格达到新低时,指标却没有达到新低,形成了一个低点和指标低点之间的背离。

类似于顶背离买点,底背离买点也意味着市场可能发生反转,投资者可以考虑在背离形成后买入股票或者进行多仓操作,以追求利润。

平台突破买点是指当股票价格长期在一个水平区间波动并且无明显趋势时,一旦突破该区间的上轨或下轨,就可以选择进行买入或卖出操作。

这种策略适用于股票价格波动较小的市场,因为价格在平台期间是相对稳定的,突破时可能意味着市场情绪的改变和价格变动的启动。

需要注意的是,在使用缠论三类买点选股公式时,投资者应结合其他技术分析工具和市场情况进行综合判断和决策。

此外,投资有风险,股市有涨有跌,投资者应具备风险意识并做好风险管理,以保护自身利益。

了解并运用缠论三类买点选股公式可以帮助投资者更好地把握市场机会,但在实际操作中还需注意市场的动态变化和个股的基本面情况,以实现长期稳健的投资收益。

缠论一买、三买选股公式(飞狐 悟多公式)

缠论一买、三买选股公式(飞狐 悟多公式)

缠论一买、三买选股公式(飞狐+悟多公式)公式指标2009-08-14 11:42:38 阅读5639 评论20 字号:大中小订阅一买的选股公式初步搞出来的,当然还不完善,不能算是一买的公式,充其量算选出即将盘整背驰的,不过两个中枢下的盘整背驰就是一买了,当然真正是否背驰还要靠人工来判断,它只能初选,不过也省下很多事了,欢迎使用,多提意见。

beginif DATAPERIOD=0 then minbi:="fbase.var2#min1";if DATAPERIOD=1 then minbi:="fbase.var2#min5";if DATAPERIOD=2 then minbi:="fbase.var2#min30";if DATAPERIOD=3 then minbi:="fbase.var2#min60";if DATAPERIOD=4 then minbi:="fbase.var2#day";if DATAPERIOD=5 then minbi:="fbase.var2#day";if DATAPERIOD=6 then minbi:="fbase.var2#week";if DATAPERIOD=7 then minbi:="fbase.var2#month";if DATAPERIOD=8 then minbi:="fbase.var2#year";var001:="fbase.var2#min30";if datatype=3 then var001:="fbase.var2#min60";if datatype=4 then var001:="fbase.var2#day";var1:="chzhshch@kxian";var2:="chzhshch@bi";{处理笔关系}var3:="chzhshch@tongji"(minbi);{同级别分解}zg:="chzhshch@zg"(var3);//一定要先调用ZGzd:="chzhshch@zd"(var3);zswz:=barslast(zg>zd);tj3:=count(abs(var3),barslast(var3=1))=0;tj4:=l<ref(l,barslast(var2=-1));tj5:=count(var2=1,zswz-1)>0;tj6:=ref(h,barslast(var2=1))<ref(zd,zswz);tj7:=count(zg>zd,barslast(var3=1))>0;not(zg>zd)&&tj3&&tj7&&tj4&&tj5&&tj6;end;一买是模糊的,不准确的,三买就比较标准了,同样背驰需自行判断,否则不背驰就跌回中枢了:beginif DATAPERIOD=0 then minbi:="fbase.var2#min1";if DATAPERIOD=1 then minbi:="fbase.var2#min5";if DATAPERIOD=2 then minbi:="fbase.var2#min30";if DATAPERIOD=3 then minbi:="fbase.var2#min60";if DATAPERIOD=4 then minbi:="fbase.var2#day";if DATAPERIOD=5 then minbi:="fbase.var2#day";if DATAPERIOD=6 then minbi:="fbase.var2#week";if DATAPERIOD=7 then minbi:="fbase.var2#month";if DATAPERIOD=8 then minbi:="fbase.var2#year";var001:="fbase.var2#min30";if datatype=3 then var001:="fbase.var2#min60";if datatype=4 then var001:="fbase.var2#day";var1:="chzhshch@kxian";var2:="chzhshch@bi";{处理笔关系}var3:="chzhshch@tongji"(minbi);{同级别分解}zg:="chzhshch@zg"(var3);//一定要先调用ZGzd:="chzhshch@zd"(var3);var1:="chzhshch@kxian";var2:="chzhshch@bi";var4:=barslast(var001<>0);tj1:=ref(var001,var2)=-1; //上级别是底var5:=sum(abs(var2),var2);tj2:=var5=1; //第一个回调才算tj3:=count(abs(var3),barslast(var3=-1))=0;zswz:=barslast(zg>zd);tj4:=count(zg>zd,barslast(var3=-1))>0;tj5:=count(var2=1,barslast(var2=-1))=1;tj6:=count(var2=1,zswz-1)=1;tj7:=ref(l,barslast(var2=1))>ref(zg,barslast(zg>zd));not(zg>zd)&&tj3&&tj4&&tj5&&tj6&&tj7;end;MA10:=MA(CLOSE,10);MA5:=MA(CLOSE,5);MA1:=MA5-MA10;MA2:=MA10;MA3:=MA10;DATANUMBER:=DATATYPE;DATANUMBER1:=DATATYPE;DATANUMBER2:=DATATYPE;DATANUMBER3:=DATATYPE;LING:=HIGH;<%vbdatanumber = FFL.VarData("datanumber") vbdatanumber1 = FFL.VarData("datanumber1") vbdatanumber2 = FFL.VarData("datanumber2") vbdata=1vbdata1=0.001vbdata2=1Select Case vbdatanumber Case 0vbdata=0.015vbdata1=0.001vbdata2=0.015Case 1vbdata=0.018vbdata1=0.001vbdata2=0.018Case 2vbdata=0.037vbdata1=0.001vbdata2=0.037Case 3vbdata=0.052vbdata1=0.001vbdata2=0.052Case 4vbdata=0.067vbdata1=0.001vbdata2=0.067Case 5vbdata=0.13vbdata1=0.001vbdata2=0.13Case 6vbdata=0.28vbdata1=0.001vbdata2=0.28Case 7vbdata=0.45vbdata1=0.001vbdata2=0.45Case 8vbdata=0.73vbdata1=0.001vbdata2=0.73Case 9vbdata=1.2vbdata1=0.001vbdata2=1.2Case 10vbdata=0.6vbdata1=0.001vbdata2=0.6Case 11vbdata=0.1vbdata1=0.001vbdata2=0.1Case 12vbdata=0.02vbdata1=0.001vbdata2=0.02Case elsevbdata=2vbdata1=0.001vbdata2=2End SelectFFL.VarData("datanumber") =vbdata FFL.VarData("datanumber1") =vbdata1 FFL.VarData("datanumber2") =vbdata2 vbling = FFL.VarData("ling")vbma = FFL.VarData("ma1")vbma2 = FFL.VarData("ma2")vbma3 = FFL.VarData("ma3")nlast = UBound( vbma )nvalue = 0.0000nvaluefu = 0.0000bianhua = 2oldbianhua = 0for m = 0 to nlastvbma2(m) = 0vbma3(m) = 0vbling(m)=0nextm= 0for i = 0 to nlastm=m+1'nlast - m'vbma2(i) = 0if (vbma(i) > 0) thenbianhua = 1nvalue = nvalue + vbma(i)elsebianhua = 2nvaluefu = nvaluefu + vbma(i)end ifif (oldbianhua = bianhua) thenelsevbma3(i) = mm=0if (bianhua = 1) thenvbma2(i) = nvaluefunvaluefu = 0'nvaluefu = 0elsevbma2(i) = nvaluenvalue = 0'nvalue = 0end ifend ifoldbianhua = bianhuanextFFL.VarData("ma2") = vbma2FFL.VarData("ma3") = vbma3FFL.VarData("ling") =vbling%>DRAWNUMBER(REF(MA2,0)<0 AND 0=1,LLV(LOW,5),REF(MA2,0)*1000,0),colorFF00;DRAWNUMBER(REF(MA2,0)<0 AND 0=1,LLV(LOW,5)-DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)<0 AND 0=1,LLV(LOW,5)-DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF00; DRAWNUMBER(REF(MA2,0)>0 AND 0=1,HHV(HIGH,5),REF(MA2,0)*1000,0),colorFF;DRAWNUMBER(REF(MA2,0)>0 AND 0=1,HHV(HIGH,5)+DATANUMBER,REF(MA3,0),0),colorFFFF; DRAWNUMBER(REF(MA2,0)>0 AND 0=1,HHV(HIGH,5)+DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF; MA1:=MA5-MA10;WEIHE:=LING;WEIPING:=LING;<%vbhe=FFL.VarData("weihe")vbping=FFL.VarData("weiping")vbma = FFL.VarData("ma1")nlast = UBound( vbma )nvalue = 0.0000nvaluefu = 0.0000bianhua = 2oldbianhua = 0i= 0m= nlastif (vbma(nlast) > 0) thenDo While (vbma(m)>0)nvalue = vbma(m) + nvaluei=i+1m=m-1if(m<0) thenexit doend ifLoopelseDo While (vbma(m)<0)nvalue = vbma(m) + nvaluei=i+1m=m-1if(m<0) thenexit doend ifLoopend ifif (i=0) theni=1end ifnvaluefu = nvalue/ivbhe(nlast) = nvaluevbping(nlast) = nvaluefuFFL.VarData("weihe") =vbheFFL.VarData("weiping")= vbping%>DRAWNUMBER(WEIHE<>0 AND 0=1,IF(WEIHE>0,HIGH,LOW),WEIHE*1000,0),colorFF;DRAWNUMBER(WEIHE<>0 AND 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER*2,WEIPING*1000,0),colorFF00; DRAWNUMBER(WEIPING<>0 AND 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER,WEIHE/WEIPING,0),colorFFFF; DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIFF,9);MACD:=2*(DIFF-DEA);MA1:=MACD;MA2:=MACD;MA3:=MACD;MA1WE:=MACD;HE:=MA2;WEIHEMACD:=0;WEIPINGMACD:=0;H1:=HIGH;L1:=LOW;FOXH:=HIGH;FOXL:=LOW;FOXBAOHAN:=LING;FOXBAOHAN1:=LING;FOXGUANXI:=LING;FOXFENXING:=LING;FOXFENXING1:=LING; FOXFENNUMBER:=LING;FOXQUEKOU:=LING;FOXBICOUNT:=LING;FOXWEIBI:=LING;<%vbquekou=FFL.VarData("foxquekou") vbfennumber=FFL.VarData("foxfennumber") vbdatanumber = FFL.VarData("datanumber") vbh = FFL.VarData("foxh")vbL = FFL.VarData("foxl")vbh1 = FFL.VarData("foxh")vbL1 = FFL.VarData("foxl")vbbaohan = FFL.VarData("foxbaohan") vbbaohan1 = FFL.VarData("foxbaohan1") vbguanxi = FFL.VarData("foxguanxi") vbfenxing = FFL.VarData("foxfenxing") vbfenxing1 = FFL.VarData("foxfenxing1") vbbicount=FFL.Vardata("foxbicount")vbweibi=FFL.Vardata("foxweibi")nlast = UBound( vbh )nvalue = 0.0000nvaluefu = 0.0000bianhua = 2vbguanxi(0) = 1for m = 1 to nlastif (vbh(m)>vbh(m-1) and vbl(m)>vbl(m-1)) then vbguanxi(m)=1elseif (vbh(m)<vbh(m-1) and vbl(m)<vbl(m-1)) then vbguanxi(m)=-1elsevbguanxi(m) = 0if (vbguanxi(m-1)=1) thenvbguanxi(m)=1if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then vbbaohan(m) = 2vbbaohan(m-1) = 1vbh(m-1)=vbh(m)vbl(m)=vbl(m-1)elsevbbaohan(m-1) = -1vbbaohan(m) = -2vbh(m)=vbh(m-1)vbl(m-1)=vbl(m)end ifelsevbguanxi(m)=-1if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then vbbaohan(m) = 2vbbaohan(m-1) = 1vbh(m)=vbh(m-1)vbl(m-1)=vbl(m)elsevbbaohan(m-1) = -1vbbaohan(m) = -2vbh(m-1)=vbh(m)vbl(m)=vbl(m-1)end ifend ifend ifend ifnext'处理连续包含即:连续3个及以上K线间存在的包含关系for m = 0 to nlastvbbaohan1(m) = vbbaohan(m)NEXTi=0do while (vbbaohan(i)=0)i=i+1if (i>nlast) thenExit Doend ifloop'第一个包含的位置lastfenxing=ibao=0existbao=0for m = i to nlastif (vbbaohan(m) <> 0) thenbao=bao+1if (bao>=2) thenif (vbbaohan(m)=2 and vbbaohan(m-1)=1 or vbbaohan(m)=-2 and vbbaohan(m-1)=-1) thenvbbaohan1(m) = baoif (bao>2) thenexistbao=BAOfor i = 1 to baovbh(m-bao+i)=vbh(m)vbL(m-bao+i)=vbl(m)if (i = 1 or i=bao ) thenelsevbbaohan1(m-bao+i)=-3end ifnextend if'do while (bao>1)'vbh(m-bao+1)=vbh(m)'vbL(m-bao+1)=vbl(m)'if (existbao=BAO or bao=existbao-1) then'else'vbbaohan1(m-bao+1)=-3'end if'bao=bao-1'loopbao=0end ifend ifelsebao=0end ifnext'分型预处理existbao=vbguanxi(0)for m = 1 to nlast'if (vbh(m-1)>=vbh(m-2) and vbh(m-1)>=vbh(m) and vbl(m-1)>=vbl(m-2) and vbl(m-1)>=vbl(m) or vbh(m-1)<=vbh(m-2) and vbh(m-1)<=vbh(m) and vbl(m-1)<vbl(m-2) and vbl(m-1)<=vbl(m)) then'end ifif (vbguanxi(m)<>existbao) thenif (vbguanxi(m-1)=1) thenvbfenxing(m-1) = 1'顶elsevbfenxing(m-1) = -1'底end ifexistbao=vbguanxi(m)end ifnext'以上分型预处理for m = 0 to nlastvbfenxing1(m) = vbfenxing(m)vbfenxing1(m) = 0nexti=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)<>vbfenxing(lastfenxing)) then lastfenxing=melseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0end ifend ifnext'以下处理分型间距离不小于4的要求同时处理连续的顶和底的问题bao=0i=0n=0existbao=vbfenxing(0)m=0do while (vbbaohan1(i) <2)i=i+1if (i>nlast) thenExit Doend iflooplastbaohan=i'第一个包含位置i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend ifloop'第一个预备分型位置lastfenxing=ilastfenxing1=lastfenxingi=0for m = lastfenxing+1 to nlastif (vbbaohan(m) = 0) thenbao=bao+1elseif (vbbaohan1(m) >=2 ) thenn=n+1end ifend ifvbfenxing1(m) = bao+n'包含关系只视为一个k线'vbfenxing1(m)=vbbaohan1(m)'if (m>735) then'exit for'end ifif (vbfenxing(m)<>0) thenif (bao+n>= 4) then'分型间距离大于等于4 符合要求if (vbfenxing(m)<>vbfenxing(lastfenxing)) then'vbfenxing1(m)=vbfenxing(m)n=0bao=0lastfenxing1=lastfenxinglastfenxing=melseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) then'exit forvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end if'将上一个分开型位置数据更新为当下位置else'分型间距离小于4 要看情况若与前分型不同且破坏前笔,可保留其它情况要去掉'破坏前笔即相邻分型不同且高于上上个顶或低于上上个底if (vbfenxing(m)<>vbfenxing(lastfenxing)) then'vbfenxing1(m)=vbfenxing(m)'i=lastfenxing-1'do while (vbfenxing(i)<>vbfenxing(m))'i=i-1'if (i=0) then'end if'loop'lastfenxing1=lastfenxing i=lastfenxing1if (vbfenxing(m)=1) then if (vbl(m)>vbl1(m))then t1=vbl1(m)elset1=vbl(m)end ifif (vbh(i)>vbh1(i))thent2=vbh(m)elset2=vbh1(m)end ifif (t1>t2) thenn=0bao=0lastfenxing1=lastfenxing lastfenxing=melsevbfenxing(m)=0end ifelseif (vbh(m)>vbh1(m))then t1=vbh(m)elset1=vbh1(m)end ifif (vbl(i)>vbl1(i))thent2=vbl(m)elset2=vbl1(m)end ifif (t1<t2) then'if (vbh(m)<vbl(i)) then n=0bao=0lastfenxing1=lastfenxing lastfenxing=melsevbfenxing(m)=0end ifelseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) then'exit forvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end ifend ifend ifnext'以上处理分型间距离不小于4的要求'以下去掉连续的顶或底i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)<>vbfenxing(lastfenxing)) thenlastfenxing=melseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0end ifend ifnext'以下处理一个顶要大于相邻的两个底及一个底要小于相邻的两个顶的问题'取第一个分型位置i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=ifor m = lastfenxing+1 to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)>0) thenif (vbh(m)>vbl(lastfenxing)) then'满足条件顶>底lastfenxing=melse'不满足条件顶>底两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifelseif (vbl(m)<vbh(lastfenxing)) then'满足条件底<顶lastfenxing=melse'不满足条件底<顶两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifend ifend ifnexti=0for m = 0 to nlastif (vbfenxing(m)<>0) theni=i+1vbfennumber(m)=iend ifnext'vbfennumber(nlast)=0'vbfenxing(nlast)=-vbfenxing(lastfenxing) x1=0x2=0x3=0x4=0x5=0x6=0x7=0bi=0maxbi=0zhsh=0'先取三个分型数据,然后进入循环处理a=0'Do While (vbfenxing(a) = 0 and a <= nlast)Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend ifa = a + 1Loopx1=aa=x1+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend ifa = a + 1Loopx2=aa=x2+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend ifa = a + 1Loopx3=aa=x3+1bi=0zhshbegin=x1zzg=0zzd=0zgg=0zdd=0zg=0zd=0gg=0dd=0FOR m=a TO nlast'(1)开始按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志'其它则是不同级别的中枢和线段的思路设计'在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股1分钟内可能无成交if (vbfenxing(m)<>0) then'(2) begin 只在分型不为0时进行处理,即:是分型时处理bi=bi+1x4=mif (zhshbegin=0) thenzhshbegin=x4end ifif (vbfenxing(x1)>0) then'以顶分型开始,x1,x3取高点x2,x4取低点,线段及中枢区间取高点中的低者,低点中的高者zg=min(vbh(x1),vbh(x3))'临时中枢高点zd=max(vbl(x2),vbl(x4))'临时中枢低点gg=max(vbh(x1),vbh(x3))'临时中枢高高点dd=min(vbl(x2),vbl(x4))'临时中枢低低点else'以底分型开始,x2,x4取高点x1,x3取低点zg=min(vbh(x2),vbh(x4))'临时中枢高点zd=max(vbl(x1),vbl(x3))'临时中枢低点gg=max(vbh(x2),vbh(x4))'临时中枢高高点dd=min(vbl(x1),vbl(x3))'临时中枢低低点end ifif (zd>zg ) then'(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来vbweibi(x2)=1vbweibi(x3)=2'msgbox("当前的vbweibi(x3):" & cstr(vbweibi(x3)))maxbi=max(maxbi,bi)vbbicount(x2)=bibi=-1zhshbegin=0else'(3)中枢低点小于等于高点,即形成中枢,不用记录位置end if'(3)结束,将x1,x2,x3的值分别换成x2,x3,x4的值,也即向前推进一个分型,然后再返回进行比较x1=x2x2=x3x3=x4end if'(2) 结束NEXT'(1)结束找出所有连续三笔无重叠的位置,即不能形成中枢的候选位置,以下要对这些位置进行筛选并逐个分析,看图时要特别注意这些位置'以下为自定义函数部分Function max(a, b)If (a >= b) Thenmax = aElsemax = bEnd IfEnd FunctionFunction min(a, b)If (a <= b) Thenmin = aElsemin = bEnd IfEnd FunctionFFL.Vardata("foxweibi")=vbweibiFFL.Vardata("foxbicount")=vbbicountFFL.VarData("foxh") =vbhFFL.VarData("foxl") =vblFFL.VarData("foxbaohan") = vbbaohanFFL.VarData("foxbaohan1") = vbbaohan1FFL.VarData("foxguanxi") = vbguanxiFFL.VarData("foxfenxing") = vbfenxingFFL.VarData("foxfenxing1") = vbfenxing1FFL.VarData("foxfennumber") = vbfennumberFFL.VarData("foxquekou") = vbquekou%>FOXXIAN:=LING;FOXXIANG:=LING;FOXXIAND:=LING;FOXTEG:=LING;FOXTED:=LING;FOXTEGX:=LING;FOXTEG1:=LING;FOXTED1:=LING;FOXTEGX1:=LING;FOXDATATYPE:=DATATYPE;FOXTEBAO:=LING;FOXTEBAO1:=LING;FOXTEGUANXI1:=LING;FOXFENNUMXIAN:=LING;FOXZQDM:=STRLEFT(STKLABEL,2);FOXXIAOSHU:=0;<%vbquekou=FFL.VarData("foxquekou")vbfennumber=FFL.VarData("foxfennumber")vbdatanumber = FFL.VarData("foxdatatype")vbfennumxian=FFL.VarData("foxfennumxian")vbxiaoshu=FFL.VarData("foxxiaoshu")vbh = FFL.VarData("foxh")vbL = FFL.VarData("foxl")vbh1 = FFL.VarData("foxh")vbL1 = FFL.VarData("foxl")vbbaohan = FFL.VarData("foxbaohan")vbbaohan1 = FFL.VarData("foxbaohan1")vbguanxi = FFL.VarData("foxguanxi")vbfenxing = FFL.VarData("foxfenxing")vbfenxing1 = FFL.VarData("foxfenxing1")vbzqdm = FFL.VarData("foxzqdm")vbxian=FFL.Vardata("foxxian")vbxiang=FFL.Vardata("foxxiang")vbxiand=FFL.Vardata("foxxiand")vbteg=FFL.Vardata("foxteg")vbted=FFL.Vardata("foxted")vbtegx=FFL.Vardata("foxtegx")vbtebao=FFL.Vardata("foxtebao")vbtebao1=FFL.Vardata("foxtebao1")vbteg1=FFL.Vardata("foxteg1")vbted1=FFL.Vardata("foxted1")vbtegx1=FFL.Vardata("foxtegx1")vbweibi=FFL.Vardata("foxweibi")vbbicount=FFL.Vardata("foxbicount")nlast = UBound( vbh )'msgbox("当前的数据类型为:" & cstr(vbzqdm))IF ( vbzqdm ="58" or vbzqdm ="90" or vbzqdm ="03" or vbzqdm ="18" or vbzqdm ="50" or vbzqdm ="51" or vbzqdm ="52" ) THENvbxiaoshu=3elsevbxiaoshu=2end ifIF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THENELSEFOR m=0 TO nlastif (vbfenxing(m)<>0) thenvbxian(m)=vbfenxing(m)vbxiang(m)=vbh(m)vbxiand(m)=vbl(m)end ifNEXTENd IF'笔的数据是按K线数据自动计算的即:vbfenxing'初始计算相关数据置为0 当数据类型为0和1即分笔和1分钟时要按笔-线段的过程组成中枢'其它级别(指5分钟及以上)时用笔组成中枢此时要将笔的数据即:分型位置代入线段数组中IF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THEN'(1)分笔和1分钟计算线段数据 vbzqdm =0 为指数'公式还未考虑开始连续三笔无重叠不能形成线段的处理,缠论中对此也未明确不能形成线段的笔应发生属于那个线段'对走势中间连续三笔无重叠不能形成线段的处理也未明确不能形成线段的笔应属于那个线段'缠论中规定线段是连续的且以不同的分型作为两个端点即:不能顶到顶和底到底,此规定要考虑的i = 0ex=0Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx1 = ixianbegin = x1i = x1 + 1Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx2 = ii = x2 + 1Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx3 = ii = x3 + 1Do While ( ex=0 )'()if (x3>nlast or x2>nlast ) then'msgbox("当前的1 x2:" & cstr(x2) & "当前的1 x3:" & cstr(x3) & "当前的nlast:" & cstr(nlast) )exit doend ifif ( vbweibi(x2)=0 or vbweibi(x3)=0 or vbweibi(x3)=1 or vbweibi(x2)=2 ) then'msgbox("当前的1 x2:" & cstr(x2) & "当前的1 x3:" & cstr(x3) & "当前的nlast:" & cstr(nlast) )exit doelsex1=x2x2=x3Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx3 = ii = x3 + 1end ifloop'()i = x3 + 1xianbegin = x1tewei = x2if (x3<=nlast) thenIf (vbfenxing(x1) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = -1'以底分型开始,线段方向向上vbteg(tewei) = vbl(tewei)vbted(tewei) = vbh(x3)End Ifvbtegx(tewei) = xianfang'定义出第一个特征序列,及关系即:是上升的还是下降的end if'tewei = x4tenumber = 0i = x3 + 1vbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) = vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)'vbxiang(xianbegin) = gg'vbxiand(xianbegin) = ddFor m = i To nlast'(2)Do While ( m <= nlast)If (vbfenxing(m) <> 0 ) thenexit doend ifm = m + 1Loopx4 = mm = x4 + 1Do While ( m <= nlast)If (vbfenxing(m) <> 0 ) thenexit doend ifm = m + 1Loopx5 = mm = x5 + 1newtewei = x4if ( x5 > nlast) thenexit forIf (xianfang = -1) Then'xianfang=-1 以顶分型开始,线段方向向下vbted(newtewei) = vbl(newtewei)vbteg(newtewei) = vbh(x5)Else'xianfang=1 以底分型开始,线段方向向上vbteg(newtewei) = vbh(newtewei)vbted(newtewei) = vbl(x5)End If'判断方向/缺口及包含vbtegx(newtewei) = xianfangtenumber = 1 + tenumber'if (tenumber >= 1) thenIf (vbted(newtewei) > vbted(tewei) And vbteg(newtewei) > vbteg(tewei) Or vbted(newtewei) < vbted(tewei) And vbteg(newtewei) < vbteg(tewei)) Then'(3)向上或向下即:不是包含If (vbted(newtewei) > vbted(tewei) And vbteg(newtewei) > vbteg(tewei)) Then '(4) 特征序列的方向向上tefang = 1Elsetefang = -1'(4)特征序列的方向向下End Ifvbtegx(newtewei) = tefangIf (xianfang <> tefang) Then'(5)线段方向与特征序列的方向不同,即:出现了特征序列的分型线段方向与特征序列关系不同,出现分型,'首先判断自tewei(x2)开始的三笔是否构成线段,构成线段则下一步,不构成线段返回原线段继续,再判断第一个(tewei的前一个特征序列)与第二个(tewei)之间是否有缺口if ( vbweibi(x4)=0 or vbweibi(x3)=0 or vbweibi(x4)=1 or vbweibi(x3)=2 ) then'if ( vbweibi(x6)=0 or vbweibi(x5)=0 ) then'{}构成线段,新线段从newtewei开始,原线段在newtewei处结束还要判断顶是否大于底if (tenumber <= 1) then'(tenumber)此情况发生在三笔构成线段但线段的两端不是其最高点或最低点的情况,当下只有三笔不能开始新线段否则就出现一笔构成一个线段的现象了i=mDo While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifLoopx6 = iif ( x6 > nlast) then'msgbox( " {}当前的x6:" & cstr(x6) & "当前的nlast:" & cstr(nlast) )exit forend if'再判断x5,x6是否构成线段,构成则新线段否则原线段继续if ( vbweibi(x6)=0 or vbweibi(x5)=0 or vbweibi(x6)=1 or vbweibi(x5)=2 ) then '开始构成新线段,新线段在newtewei开始xianbegin=newteweivbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) = vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)x2=x5x3=x6tewei=x2m = x6 + 1If (vbfenxing(xianbegin) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = 1'以底分型开始,线段方向向上vbteg(tewei) = vbh(tewei)vbted(tewei) = vbl(x3)End Ifvbtegx(tewei) = xianfangtenumber = 0else'else 原线段继续tewei=newteweivbtegx(newtewei) = xianfangx2=x4x3=x5m = x5 + 1end if'开始结束else'(tenumber)tenumber = 0bao = 0xianbegin = teweivbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) = vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)x2 = X3x3 = x4tewei = x2If (vbfenxing(xianbegin) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = 1'以底分型开始,线段方向向上vbteg(tewei) = vbh(tewei)vbted(tewei) = vbl(x3)End Ifvbtegx(tewei) = xianfangm = x3+1end if'(tenumber)else'{}不构成线段,原线段继续tewei=newteweivbtegx(newtewei) = xianfangx2=x4x3=x5m = x5 + 1end if'{}Else'(5)线段方向与特征序列关系相同,未出现分型tewei的值更新为newtewei'tenumber = 1+tenumbervbtegx(newtewei) = xianfangtewei=newteweix2=x4x3=x5End If'(5)Else'(3)包含vbtegx(newtewei) = xianfangIf (vbted(tewei) >= vbted(newtewei) And vbteg(tewei) <= vbteg(newtewei))'后面包含前面 newtewei是后面的tewei在前面1为tewei被后一个包含2为newtewei包含前一个vbtebao(tewei) = 1vbtebao(newtewei) = 2Else'前面包含后面-1为tewei包含后一个-2为newtewei被前一个包含vbtebao(tewei) = -1vbtebao(newtewei) = -2End IfIf (xianfang = -1) Then'线段方向向下取向下包含temp = min(vbted(newtewei), vbted(tewei))vbted(newtewei) = tempvbted(tewei) = temptemp = min(vbteg(newtewei), vbteg(tewei))vbteg(newtewei) = tempvbteg(tewei) = tempElse'线段方向向上取向上包含temp = max(vbted(newtewei), vbted(tewei))vbted(newtewei) = tempvbted(tewei) = temptemp = max(vbteg(newtewei), vbteg(tewei))vbteg(newtewei) = tempvbteg(tewei) = tempEnd If'判断与tewei的前面是否有连续的包含关系temp = tewei - 1ex = 0bao = 0Do While (ex = 0)Do While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的10 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) )exit doend ifIf (vbtebao(temp) = 0 Or vbtebao(temp) >= 2 Or vbtebao(temp) = -2 Or vbtegx(temp) <> xianfang) ThenElsebao = bao + 1End Iftemp = temp - 1Loop'有几个连续包含,指大于三个K线的包含,BAO的值是包含的K线数减2,当只有两个连续K线包含时BAO为0temp = tewei - 1For i = 1 To baoDo While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的11 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) )exit forend ifvbteg(temp) = vbteg(tewei)vbted(temp) = vbted(tewei)temp = temp - 1Nextvbtebao(newtewei) = bao + 2temp = tewei - 1For i = 1 To bao + 2If (i = 1 Or i = bao + 2) ThenElseDo While ( temp >0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的12 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) )exit forend ifvbtebao(temp) = -3temp = temp - 1End IfNexttewei=newtewei。

缠论一买、三买选股公式(飞狐+悟多公式)

缠论一买、三买选股公式(飞狐+悟多公式)

MA10:=MA(CLOSE,10);MA5MA1MA2MA3 DATANUMBER:二DATAT YPE; DATANUMBER1:=DATATYPE; DATANUMBER2:=DATAT YPE; DATANUMBER3:=DATAT YPE; LING:二HIGH;<% vbdata nu mber = ("data nu mber") vbdata nu mber1 = ("data number1") vbdata nu mber2 = ("data nu mber2") vbdata=1vbdata 仁 vbdata2=1Select Case vbdata nu mberCase 0 vbdata= vbdata 仁 vbdata2=Case 1 vbdata= vbdata 仁 vbdata2二Case 2 vbdata= vbdata1= vbdata2= Case 3 vbdata=vbdata1= vbdata2=Case 4 vbdata= vbdata1=vbdata2=Case 5 vbdata= vbdata1= vbdata2=Case 6 vbdata=vbdata1=vbdata2=Case 7 vbdata= vbdata1=vbdata2=Case 8 vbdata=vbdata1= vbdata2=Case 9 vbdata= vbdata1= vbdata2=Case 10 vbdata= vbdata1= vbdata2=Case 11 vbdata= vbdata1= vbdata2= Case 12 vbdata= vbdata1=vbdata2= Case else vbdata=2MA(CL0SE,5); MA5-MA10; MA10; MA10;vbdata1= vbdata2=2 End Select ("datanumber") =vbdata ("datanumber1") =vbdata1 ("datanumber2") =vbdata2 vbling = ("ling") vbma = ("ma1") vbma2 = ("ma2") vbma3 = ("ma3") nlast = UBound( vbma ) nvalue = nvaluefu = bianhua = 2 oldbianhua = 0 for m = 0 to nlast vbma2(m) = 0 vbma3(m) = 0 vbling(m)=0 next m= 0 for i = 0 to nlastm=m+1 'nlast - m 'vbma2(i) = 0 if (vbma(i) > 0) then bianhua = 1 nvalue = nvalue + vbma(i) else bianhua = 2 nvaluefu = nvaluefu + vbma(i) end ifif (oldbianhua = bianhua) then else vbma3(i) = m m=0if (bianhua = 1) then vbma2(i) = nvaluefu nvaluefu = 0 'nvaluefu = 0 else vbma2(i) = nvalue nvalue = 0 'nvalue = 0end if end if oldbianhua = bianhua next ("ma2") = vbma2 ("ma3") = vbma3 ("ling") =vbling %> DRAWNUMBER(REF(MA2,0)<0 0=1,LLV(LOW,5),REF(MA2,0)*1000,0),colorFF00;DRAWNUMBER(REF(MA2,0)<0 0=1,LLV(LOW,5)-DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)<0 0=1,LLV(LOW,5)-DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF00;DRAWNUMBER(REF(MA2,0)>0 AND 0=1,HHV(HIGH,5),REF(MA2,0)*1000,0),colorFF;DRAWNUMBER(REF(MA2,0)>0 0=1,HHV(HIGH,5)+DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)>0 AND0=1,HHV(HIGH,5)+DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF; MA1:=MA5-MA10;WEIHE:=LING; WEIPING:=LING;<% vbhe=("weihe") vbping=("weiping") vbma = ("ma1") nlast = UBound( vbma )nvalue = nvaluefu = bianhua = 2 oldbianhua = 0 i= 0 m= nlast if (vbma(nlast) >0) then Do While (vbma(m)>0) nvalue = vbma(m) + nvalue i=i+1 m=m-1 if(m<0)then exit do end if Loop elseAND AND ANDANDDo While (vbma(m)<0) nvalue = vbma(m) + nvalue i=i+1 m=m-1 if(m<0) then exit do end if Loop end if if (i=0) then i=1 end if nvaluefu = nvalue/i vbhe(nlast) = nvalue vbping(nlast) = nvaluefu ("weihe") =vbhe ("weiping")= vbping %> DRAWNUMBER(WEIHE<>0 0=1,IF(WEIHE>0,HIGH,LOW),WEIHE*1000,0),colorFF;DRAWNUMBER(WEIHE<>0 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER*2,WEIPING*1000,0),colorFF00; DRAWNUMBER(WEIPING<>0 AND 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER,WEIHE/WEIPING ,0),colorFFFF; DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIFF,9); MACD:=2*(DIFF-DEA);MA1:=MACD; MA2:=MACD; MA3:=MACD;MA1WE:=MACD; HE:=MA2;WEIHEMACD:=0; WEIPINGMACD:=0;H1:=HIGH; L1:=LOW; FOXH:=HIGH; FOXL:=LOW; FOXBAOHAN:=LING;FOXBAOHAN1:=LING; FOXGUANXI:=LING; FOXFENXING:=LING;FOXFENXING1:=LING; FOXFENNUMBER:=LING;FOXQUEKOU:=LING; FOXBICOUNT:=LING; FOXWEIBI:=LING;<% vbquekou=("foxquekou") vbfennumber=("foxfennumber") vbdatanumber = ("datanumber") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan =("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing =("foxfenxing") vbfenxing1 = ("foxfenxing1") vbbicount=("foxbicount")vbweibi=("foxweibi") nlast = UBound( vbh ) nvalue = nvaluefu = bianhua = 2vbguanxi(0) = 1 for m = 1 to nlast if (vbh(m)>vbh(m-1) and vbl(m)>vbl(m-1))then vbguanxi(m)=1 elseif (vbh(m)<vbh(m-1) and vbl(m)<vbl(m-1)) then vbguanxi(m)=-1 else vbguanxi(m) = 0 if (vbguanxi(m-1)=1) then vbguanxi(m)=1 if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then vbbaohan(m) = 2 vbbaohan(m-1) = 1 vbh(m-1)=vbh(m) vbl(m)=vbl(m-1) elsevbbaohan(m-1) = -1 vbbaohan(m) = -2 vbh(m)=vbh(m-1) vbl(m-1)=vbl(m) end ifelse vbguanxi(m)=-1 if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) then vbbaohan(m) = 2 vbbaohan(m-1) = 1 vbh(m)=vbh(m-1) vbl(m-1)=vbl(m)else vbbaohan(m-1) = -1 vbbaohan(m) = -2 vbh(m-1)=vbh(m) vbl(m)=vbl(m-1) end if end if end if end if next'处理连续包含即 :连续 3个及以上 K 线间存在的包含关系 for m = 0 to nlastvbbaohan1(m) = vbbaohan(m)NEXT i=0 do while (vbbaohan(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop '第一个包含的位置 lastfenxing=i bao=0 existbao=0 for m = i to nlast if (vbbaohan(m) <> 0) then bao=bao+1 if (bao>=2) then if (vbbaohan(m)=2 and vbbaohan(m-1)=1 orvbbaohan(m)=-2 and vbbaohan(m-1)=-1) then vbbaohan1(m) = bao if (bao>2) thenexistbao=BAO for i = 1 to bao vbh(m-bao+i)=vbh(m) vbL(m-bao+i)=vbl(m)if (i = 1 or i=bao ) thenelsevbbaohan1(m-bao+i)=-3end ifnextend if'do while (bao>1)AND AND'vbh(m-bao+1)=vbh(m)'vbL(m-bao+1)=vbl(m)'if (existbao=BAO or bao=existbao-1) then'else'vbbaohan1(m-bao+1)=-3'end if'bao=bao-1'loopbao=0end ifend ifelsebao=0end ifnext'分型预处理existbao=vbguanxi(0)for m = 1 to nlast'if (vbh(m-1)>=vbh(m-2) and vbh(m-1)>=vbh(m) and vbl(m-1)>=vbl(m-2) and vbl(m-1)>=vbl(m) or vbh(m-1)<=vbh(m-2) and vbh(m-1)<=vbh(m) and vbl(m-1)<vbl(m-2) and vbl(m-1)<=vbl(m)) then'end ifif (vbguanxi(m)<>existbao) thenif (vbguanxi(m-1)=1) thenvbfenxing(m-1) = 1'顶elsevbfenxing(m-1) = -1'底end ifexistbao=vbguanxi(m)end ifnext'以上分型预处理for m = 0 to nlastvbfenxing1(m) = vbfenxing(m)vbfenxing1(m) = 0nexti=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)<>vbfenxing(lastfenxing)) then lastfenxing=m elseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0end ifend ifnext'以下处理分型间距离不小于 4 的要求同时处理连续的顶和底的问题bao=0i=0n=0existbao=vbfenxing(0)m=0do while (vbbaohan1(i) <2)i=i+1if (i>nlast) thenExit Do end if loop lastbaohan=i '第一个包含位置i=0 do while (vbfenxing(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop'第一个预备分型位置lastfenxing=i lastfenxing1=lastfenxing i=0for m = lastfenxing+1 to nlast if (vbbaohan(m) = 0) then bao=bao+1 elseif (vbbaohan1(m) >=2 ) then n=n+1 end if end ifvbfenxing1(m) = bao+n '包含关系只视为一个k 线'vbfenxing1(m)=vbbaohan1(m)'if (m>735) then 'exit for 'end ifif (vbfenxing(m)<>0) thenif (bao+n>= 4) then '分型间距离大于等于 4 符合要求if(vbfenxing(m)<>vbfenxing(lastfenxing)) then 'vbfenxing1(m)=vbfenxing(m) n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m elseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then 'exit forvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end if'将上一个分开型位置数据更新为当下位置else'分型间距离小于 4 要看情况若与前分型不同且破坏前笔,可保留其它情况要去掉'破坏前笔即相邻分型不同且高于上上个顶或低于上上个底if (vbfenxing(m)<>vbfenxing(lastfenxing)) then'vbfenxing1(m)=vbfenxing(m)'i=lastfenxing-1'do while (vbfenxing(i)<>vbfenxing(m))'i=i-1'if (i=0) then'Exit Do'end if'loop'lastfenxing1=lastfenxingi=lastfenxing1if (vbfenxing(m)=1) thenif (vbl(m)>vbl1(m))thent1=vbl1(m)elset1=vbl(m)end ifif (vbh(i)>vbh1(i))thent2=vbh(m)else t2=vbh1(m) end if if (t1>t2) then n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=melse vbfenxing(m)=0 end if else if (vbh(m)>vbh1(m))then t1=vbh(m) else t1=vbh1(m) end if if (vbl(i)>vbl1(i))then t2=vbl(m) else t2=vbl1(m) end if if (t1<t2) then 'if (vbh(m)<vbl(i)) then n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m else vbfenxing(m)=0 end if end if else if (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then 'exit for vbfenxing(lastfenxing)=0 n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m else vbfenxing(m)=0 end ifelseif (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0 n=0 bao=0lastfenxing1=lastfenxing lastfenxing=m elsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end if end if end if next '以上处理分型间距离不小于 4 的要求'以下去掉连续的顶或底i=0do while (vbfenxing(i)=0) i=i+1 if (i>nlast) thenExit Do end if loop lastfenxing=i '取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlast if (vbfenxing(m)<>0) then if(vbfenxing(m)<>vbfenxing(lastfenxing)) then lastfenxing=m elseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then vbfenxing(lastfenxing)=0 lastfenxing=m else vbfenxing(m)=0 end if elseif (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0lastfenxing=m else vbfenxing(m)=0 end if end if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0 end if end if next '以下处理一个顶要大于相邻的两个底及一个底要小于相邻的两个顶的问题'取第一个分型位置i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend ifloop lastfenxing=i for m = lastfenxing+1 to nlast if (vbfenxing(m)<>0) then if (vbfenxing(m)>0) then if (vbh(m)>vbl(lastfenxing)) then '满足条件顶>底lastfenxing=m else'不满足条件顶>底两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifelseif (vbl(m)<vbh(lastfenxing)) then '满足条件底<顶lastfenxing=melse'不满足条件底<顶两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0 m=m+1 do while (vbfenxing(m)=0) m=m+1 if (m>nlast) then Exit Do end if loop lastfenxing=m end if end if end if next i=0 for m = 0 to nlast if (vbfenxing(m)<>0) then i=i+1 vbfennumber(m)=i end if next'vbfennumber(nlast)=0 'vbfenxing(nlast)=-vbfenxing(lastfenxing) x1=0 x2=0 x3=0 x4=0 x5=0 x6=0 x7=0 bi=0 maxbi=0 zhsh=0'先取三个分型数据,然后进入循环处理a=0'Do While (vbfenxing(a) = 0 and a <= nlast) Do While ( a < nlast) if ( vbfenxing(a) <> 0) then exit do end if a = a + 1 Loopx1=aa=x1+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend if a = a + 1 Loop x2=a a=x2+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend if a = a + 1 Loop x3=a a=x3+1 bi=0 zhshbegin=x1 zzg=0 zzd=0 zgg=0 zdd=0 zg=0 zd=0 gg=0 dd=0FOR m=a TO nlast'(1)开始按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志'其它则是不同级别的中枢和线段的思路设计'在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股 1 分钟内可能无成交if (vbfenxing(m)<>0) then'(2) begin 只在分型不为0时进行处理,即:是分型时处理bi=bi+1x4=mif (zhshbegin=0) thenzhshbegin=x4end ifif (vbfenxing(x1)>0) then'以顶分型开始,x1,x3取高点x2,x4取低点,线段及中枢区间取高点中的低者,低点中的高者zg=min(vbh(x1),vbh(x3))'临时中枢高点zd=max(vbl(x2),vbl(x4))'临时中枢低点gg=max(vbh(x1),vbh(x3))'临时中枢高高点dd=min(vbl(x2),vbl(x4))'临时中枢低低点else'以底分型开始,x2,x4取高点x1,x3取低点zg=min(vbh(x2),vbh(x4))' 临时中枢高点zd=max(vbl(x1),vbl(x3))'临时中枢低点gg=max(vbh(x2),vbh(x4))' 临时中枢高高点dd=min(vbl(x1),vbl(x3))'临时中枢低低点end ifif (zd>zg ) then'(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来vbweibi(x2)=1vbweibi(x3)=2'msgbox("当前的vbweibi(x3) :" & cstr(vbweibi(x3)))maxbi=max(maxbi,bi)vbbicount(x2)=bibi=-1zhshbegin=0else'(3)中枢低点小于等于高点,即形成中枢,不用记录位置end if'(3)结束,将x1,x2,x3 的值分别换成x2,x3,x4 的值,也即向前推进一个分型,然后再返回进行比较x1=x2x2=x3x3=x4end if'(2) 结束NEXT'(1)结束找出所有连续三笔无重叠的位置,即不能形成中枢的候选位置,以下要对这些位置进行筛选并逐个分析,看图时要特别注意这些位置'以下为自定义函数部分Function max(a, b)If (a >= b) Thenmax = aElse max = bEnd IfEnd Function Function min(a, b) If (a <= b) Then min = aElse min = bEnd IfEnd Function ("foxweibi")=vbweibi ("foxbicount")=vbbicount ("foxh") =vbh ("foxl") =vbl ("foxbaohan") = vbbaohan ("foxbaohan1") = vbbaohan1 ("foxguanxi") = vbguanxi ("foxfenxing") = vbfenxing ("foxfenxing1") = vbfenxing1 ("foxfennumber") =vbfennumber ("foxquekou") = vbquekou %>FOXXIAN:=LING; FOXXIANG:=LING; FOXXIAND:=LING;FOXTEG:=LING; FOXTED:=LING;FOXTEGX:=LING; FOXTEG1:=LING; FOXTED1:=LING;FOXTEGX1:=LING; FOXDATATYPE:=DATATYPE;FOXTEBAO:=LING; FOXTEBAO1:=LING; FOXTEGUANXI1:=LING; FOXFENNUMXIAN:=LING; FOXZQDM:=STRLEFT(STKLABEL,2); FOXXIAOSHU:=0;<% vbquekou=("foxquekou") vbfennumber=("foxfennumber") vbdatanumber = ("foxdatatype") vbfennumxian=("foxfennumxian") vbxiaoshu=("foxxiaoshu") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1") vbzqdm = ("foxzqdm") vbxian=("foxxian")vbxiang=("foxxiang") vbxiand=("foxxiand") vbteg=("foxteg") vbted=("foxted")vbtegx=("foxtegx") vbtebao=("foxtebao") vbtebao1=("foxtebao1") vbteg1=("foxteg1") vbted1=("foxted1") vbtegx1=("foxtegx1") vbweibi=("foxweibi")vbbicount=("foxbicount") nlast = UBound( vbh )'msgbox("当前的数据类型为:"& cstr(vbzqdm))IF ( vbzqdm ="58" or vbzqdm ="90" or vbzqdm ="03" or vbzqdm ="18" or vbzqdm ="50" or vbzqdm ="51" or vbzqdm ="52" ) THENvbxiaoshu=3 else vbxiaoshu=2 end if IF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THENELSE FOR m=0 TO nlast if (vbfenxing(m)<>0) then vbxian(m)=vbfenxing(m)vbxiang(m)=vbh(m) vbxiand(m)=vbl(m) end ifNEXT ENd IF '笔的数据是按K 线数据自动计算的即:vbfenxing '初始计算相关数据置为0 当数据类型为0和1即分笔和1分钟时要按笔-线段的过程组成中枢'其它级别(指 5 分钟及以上)时用笔组成中枢此时要将笔的数据即:分型位置代入线段数组中IF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THEN '(1)分笔和1分钟计算线段数据vbzqdm =0 为指数'公式还未考虑开始连续三笔无重叠不能形成线段的处理,缠论中对此也未明确不能形成线段的笔应发生属于那个线段'对走势中间连续三笔无重叠不能形成线段的处理也未明确不能形成线段的笔应属于那个线段'缠论中规定线段是连续的且以不同的分型作为两个端点即:不能顶到顶和底到底,此规定要考虑的i = 0 ex=0Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit do end if i = i + 1 Loop x1 = i xianbegin = x1 i = x1 + 1Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit do end if i = i + 1 Loop x2 = i i = x2 + 1 Do While ( i <= nlast) If (vbfenxing(i)<> 0 ) then exit do end if i = i + 1Loop x3 = i i = x3 + 1Do While ( ex=0 )'()if (x3>nlast or x2>nlast ) then'msgbox("当前的 1 x2:" & cstr(x2) & "当前的 1 x3: " & cstr(x3) & "当前的nlast: " & cstr(nlast) )exit doend ifif ( vbweibi(x2)=0 or vbweibi(x3)=0 or vbweibi(x3)=1 or vbweibi(x2)=2 ) then'msgbox("当前的 1 x2:" & cstr(x2) & "当前的 1 x3: " & cstr(x3) & "当前的nlast: " & cstr(nlast) )exit doelsex1=x2x2=x3Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx3 = ii = x3 + 1end ifloop'()i = x3 + 1xianbegin = x1tewei = x2if (x3<=nlast) thenIf (vbfenxing(x1) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = -1'以底分型开始,线段方向向上vbteg(tewei) = vbl(tewei)vbted(tewei) = vbh(x3)End Ifvbtegx(tewei) = xianfang'定义出第一个特征序列,及关系即:是上升的还是下降的end if'tewei = x4tenumber = 0 i = x3 + 1 vbxian(xianbegin) = vbfenxing(xianbegin) vbxiang(xianbegin) = vbh(xianbegin) vbxiand(xianbegin) = vbl(xianbegin) 'vbxiang(xianbegin) = gg'vbxiand(xianbegin) = dd For m = i To nlast'(2)Do While ( m <= nlast)If (vbfenxing(m) <> 0 ) then exit do end if m = m + 1Loop x4 = m m = x4 + 1 Do While ( m <= nlast) If (vbfenxing(m) <> 0 ) then exit do end if m = m + 1Loop x5 = m m = x5 + 1 newtewei = x4 if ( x5 > nlast) then exit for end ifIf (xianfang = -1) Then'xianfang=-1 以顶分型开始,线段方向向下vbted(newtewei) = vbl(newtewei)vbteg(newtewei) = vbh(x5)Else'xianfang=1 以底分型开始,线段方向向上vbteg(newtewei) = vbh(newtewei)vbted(newtewei) = vbl(x5)End If'判断方向/缺口及包含vbtegx(newtewei) = xianfang tenumber = 1 + tenumber 'if (tenumber >= 1) thenIf (vbted(newtewei) > vbted(tewei) And vbteg(newtewei) > vbteg(tewei) Orvbted(newtewei) < vbted(tewei) And vbteg(newtewei) < vbteg(tewei)) Then'(3)向上或向下即:不是包含If (vbted(newtewei) > vbted(tewei) And vbteg(newtewei) > vbteg(tewei)) Then'(4) 特征序列的方向向上tefang = 1Elsetefang = -1'(4)特征序列的方向向下End Ifvbtegx(newtewei) = tefangIf (xianfang <> tefang) Then'(5)线段方向与特征序列的方向不同,即:出现了特征序列的分型线段方向与特征序列关系不同,出现分型,'首先判断自tewei(x2) 开始的三笔是否构成线段,构成线段则下一步,不构成线段返回原线段继续,再判断第一个(tewei 的前一个特征序列)与第二个(tewei) 之间是否有缺口if ( vbweibi(x4)=0 or vbweibi(x3)=0 or vbweibi(x4)=1 or vbweibi(x3)=2 ) then 'if ( vbweibi(x6)=0 or vbweibi(x5)=0 ) then'{} 构成线段,新线段从newtewei 开始,原线段在newtewei 处结束还要判断顶是否大于底if (tenumber <= 1) then'(te number)此情况发生在三笔构成线段但线段的两端不是其最高点或最低点的情况当下只有三笔不能开始新线段否则就出现一笔构成一个线段的现象了i=mDo While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx6 = iif ( x6 > nlast) then'msgbox( " {} 当前的x6:" & cstr(x6) & " 当前的nlast:" & cstr(nlast) ) exit forend if'再判断x5,x6 是否构成线段,构成则新线段否则原线段继续if ( vbweibi(x6)=0 or vbweibi(x5)=0 or vbweibi(x6)=1 or vbweibi(x5)=2 ) then '开始构成新线段,新线段在newtewei 开始xianbegin=newteweivbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) = vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)x2=x5x3=x6tewei=x2m = x6 + 1If (vbfenxing(xianbegin) = 1) Then xianfang = -1 '以顶分型开始 ,线段方向向下vbted(tewei) vbteg(tewei) Else xianfang = 1 '以底分型开始 ,线段方向向上vbteg(tewei) = vbh(tewei) vbted(tewei) = vbl(x3) End If vbtegx(tewei) = xianfang tenumber = 0 else 'else 原线段继续 tewei=newtewei vbtegx(newtewei) = xianfang x2=x4 x3=x5 m = x5 + 1 end if '开始结束 else '(tenumber) tenumber = 0 bao = 0 xianbegin = tewei vbxian(xianbegin) =vbfenxing(xianbegin) vbxiang(xianbegin) = vbh(xianbegin) vbxiand(xianbegin) =vbl(xianbegin) x2 = X3 x3 = x4 tewei = x2If (vbfenxing(xianbegin) = 1) Then xianfang = -1 '以顶分型开始 ,线段方向向下vbted(tewei) vbteg(tewei) Else xianfang = 1 '以底分型开始 ,线段方向向上vbteg(tewei) = vbh(tewei) vbted(tewei) = vbl(x3) End Ifvbtegx(tewei) = xianfang m = x3+1 end if'(tenumber) else'{} 不构成线段 ,原线段继续 tewei=newtewei vbtegx(newtewei) = xianfang x2=x4 x3=x5 m = x5 + 1 end if '{}Else'(5)线段方向与特征序列关系相同 , 未出现分型 tewei 的值更新为 newtewei 'tenumber = 1+tenumber vbtegx(newtewei) = xianfangtewei=newteweix2=x4x3=x5End If'(5)Else'(3)包含 vbtegx(newtewei) = xianfangIf (vbted(tewei) >= vbted(newtewei) And vbteg(tewei) <= vbteg(newtewei)) Then '后面包含前面 newtewei 是后面的 tewei 在前面 1 为 tewei 被后一个包含 2 为newtewei 包含前一个 vbtebao(tewei) = 1 vbtebao(newtewei) = 2Else'前面包含后面-1为tewei 包含后一个-2为newtewei 被前一个包含 vbtebao(tewei) = -1 vbtebao(newtewei) = -2End IfIf (xianfang = -1) Then '线段方向向下取向下包含 temp = min(vbted(newtewei),vbted(tewei)) vbted(newtewei) = temp vbted(tewei) = temptemp = min(vbteg(newtewei), vbteg(tewei)) vbteg(newtewei) = temp vbteg(tewei) = temp Else'线段方向向上取向上包含temp = max(vbted(newtewei), vbted(tewei)) vbted(newtewei) = temp vbted(tewei) = temp temp = max(vbteg(newtewei), vbteg(tewei))vbteg(newtewei) = temp=vbl(tewei)= vbh(x3)=vbl(tewei)= vbh(x3)vbteg(tewei) = tempEnd If'判断与tewei 的前面是否有连续的包含关系temp = tewei - 1ex = 0bao = 0Do While (ex = 0)Do While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的10 temp:" & cstr(temp) & ” 当前的nlast: " & cstr(nlast)) exit do end ifIf (vbtebao(temp) = 0 Or vbtebao(temp) >= 2 Or vbtebao(temp) = -2 Or vbtegx(temp) <> xianfang) Thenex = 1Elsebao = bao + 1End Iftemp = temp - 1Loop'有几个连续包含,指大于三个K线的包含,BAO的值是包含的K线数减2,当只有两个连续K 线包含时BAO 为0temp = tewei - 1For i = 1 To baoDo While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的11 temp:" & cstr(temp) & ” 当前的nlast: " & cstr(nlast)) exit forend ifvbteg(temp) = vbteg(tewei)vbted(temp) = vbted(tewei)temp = temp - 1Nextvbtebao(newtewei) = bao + 2temp = tewei - 1For i = 1 To bao + 2If (i = 1 Or i = bao + 2) ThenElseDo While ( temp >0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的12 temp:" & cstr(temp) & "当前的nlast: " & cstr(nlast)) exit for end if vbtebao(temp) = -3 temp = temp - 1End IfNexttewei=newteweix2=x4x3=x5m = x5 + 1End If'(3)Next'(2)For i = 0 To nlastIf (vbtebao(i) = -2) Thenvbtebao(i) = 2End IfIf (vbtebao1(i) = -2) Then vbtebao1(i) = 2End IfNext'包含关系标准化,即结束标志都为 2 及以上'处理线段的两个端点满足条件顶>= 底i=0 do while (vbxian(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop lastfenxing=i for m = lastfenxing+1+ nlast to nlast if (vbxian(m)<>0) then if (vbxian(m)>0) then if (vbxiang(m)>=vbxiand(lastfenxing)) then '满足条件顶>=底lastfenxing=m else'不满足条件顶<底两个全置为0,并查下一个vbxian(m)=0 vbxian(lastfenxing)=0 vbxiang(m)=0 vbxiang(lastfenxing)=0 vbxiand(m)=0 vbxiand(lastfenxing)=0m=m+1 do while (vbxian(m)=0) m=m+1 if (m>nlast) then Exit Do end if looplastfenxing=m end if else if (vbxiand(m)<=vbxiang(lastfenxing)) then '满足条件底<顶lastfenxing=m else'不满足条件底<顶两个全置为0,并查下一个vbxian(m)=0 vbxian(lastfenxing)=0 vbxiang(m)=0 vbxiang(lastfenxing)=0 vbxiand(m)=0 vbxiand(lastfenxing)=0m=m+1 do while (vbxian(m)=0)m=m+1 if (m>nlast) then Exit Do end if loop lastfenxing=m end if end if end if next '计算线段的高点和低点i=0do while (vbxian(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop lastfenxing=i'vbxiang(i)=vbh(i) 'vbxiand(i)=vbl(i) gg=vbxiang(i) dd=vbxiand(i) for m = lastfenxing+1+ nlast to nlast if (vbfenxing(m)<>0) then gg=max(gg,vbh(m)) dd=min(dd,vbl(m)) if (vbxian(m)<>0) then vbxiang(i)=gg vbxiand(i)=dd if (vbxian(m)>0) then else end if gg=vbh(m) dd=vbl(m) end if end if next end if'(1)i=nlastdo while (vbxian(i)=0)i=i-1if (i>nlast or i<0) thenExit Doend iflooplastfenxing=i 'vbxian(nlast) = -vbxian(lastfenxing) 'vbxiang(nlast) = vbh(nlast)'vbxiand(nlast) = vbl(nlast) 'vbteg(newtewei) = 0 'vbted(newtewei) = 0 '以下为自定义函数部分Function max(a, b) If (a >= b) Then max = aElse max = b End IfEnd FunctionFunction min(a, b)If (a <= b) Then min = aElse min = b End IfEnd Function ("foxxiaoshu") =vbxiaoshu ("foxteg")=vbteg ("foxted")=vbted ("foxtegx")=vbtegx ("foxteg1")=vbteg1 ("foxted1")=vbted1 ("foxtegx1")=vbtegx1 ("foxtebao")=vbtebao ("foxtebao1")=vbtebao1 ("foxxian")=vbxian ("foxxiang")=vbxiang ("foxxiand")=vbxiand %>FOXWEI:=LING; FOXBUYSELL:=LING; <%vbdatanumber3 = ("datanumber3") vbbicount=("foxbicount") vbweibi=("foxweibi") vbquekou=("foxquekou") vbfennumber=("foxfennumber") vbfennumxian=("foxfennumxian") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1") vbbuysell=("foxbuysell")vbwei=("foxwei") vbxian=("foxxian") vbxiang=("foxxiang") vbxiand=("foxxiand")vbteg=("foxteg") vbted=("foxted") vbtegx=("foxtegx") vbteg1=("foxteg1")vbted1=("foxted1") vbtegx1=("foxtegx1") nlast = UBound( vbh ) i=0 for m = 0 to nlast if (vbxian(m)<>0) then i=i+1 vbfennumxian(m)=i end if next'vbfennumxian(nlast)=0 x1=0 x2=0 x3=0 x4=0 x5=0 x6=0 x7=0 bi=0 maxbi=0zhsh=0'先取三个分型数据,然后进入循环处理a=0'Do While (vbxian(a) = 0 and a <= nlast)Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend if a = a + 1 Loop x1=a a=x1+1Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend if a = a + 1 Loop x2=a a=x2+1Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend if a = a + 1 Loop x3=a a=x3+1 bi=0 zhshbegin=x1 zzg=0 zzd=0 zgg=0 zdd=0 zg=0 zd=0 gg=0 dd=0 'vbbicount=("foxbicount") 'vbweibi=("foxweibi") FOR m=a TO nlast'(1)开始按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志'其它则是不同级别的中枢和线段的思路设计'在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股1 分钟内可能无成交if (vbxian(m)<>0) then'(2) begin 只在分型不为0时进行处理,即:是分型时处理bi=bi+1x4=mif (zhshbegin=0) thenzhshbegin=x4end ifif (vbxian(x1)>0) then'以顶分型开始,x1,x3取高点x2,x4取低点,线段及中枢区间取高点中的低者,低点中的高者zg=min(vbxiang(x1),vbxiang(x3))'临时中枢高点zd=max(vbxiand(x2),vbxiand(x4))'临时中枢低点gg=max(vbxiang(x1),vbxiang(x3))'临时中枢高高点dd=min(vbxiand(x2),vbxiand(x4))'临时中枢低低点else'以底分型开始,x2,x4取高点x1,x3取低点zg=min(vbxiang(x2),vbxiang(x4))'临时中枢高点zd=max(vbxiand(x1),vbxiand(x3))'临时中枢低点gg=max(vbxiang(x2),vbxiang(x4))'临时中枢高高点dd=min(vbxiand(x1),vbxiand(x3))'临时中枢低低点end ifif (zd>zg ) then'(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来vbwei(x2)=1vbwei(x3)=2'还要计算上一个中枢的级别和中枢区间及波动区间,计算中枢的级别根据bi 记数器。

缠论日线三买的选股公式

缠论日线三买的选股公式

缠论日线三买的选股公式一、缠论日线三买的定义及重要性缠论日线三买,是指在日线级别走势中,经过一轮下跌后,股票价格再次回升并突破前一轮回调的顶部,形成第三个买点的现象。

它是一种较为可靠的上涨信号,具有较高的操作价值。

把握日线三买,可以帮助投资者在上涨行情中抓住进场机会,实现收益最大化。

二、选股公式原理及构成1.指标选取选股公式以缠论为基础,结合技术指标和形态分析,选取了以下几个关键指标:(1)MA均线:包括5日、10日、20日、60日等多条均线;(2)MACD:判断趋势的强弱;(3)RSI:判断超买超卖状态;(4)成交量:反映市场资金动向。

2.条件设定根据日线三买的特征,设定以下条件:(1)股票价格站上5日、10日、20日等多条均线;(2)MACD指标呈上升趋势,且DIF线上穿DEA线;(3)RSI指标在50以上,表明多方占优;(4)成交量逐步放大,显示市场资金活跃。

3.公式编写根据以上条件,编写选股公式。

例如,可以使用如下代码实现:```SELECT * FROM (SELECT a.代码, a.名称, b.收盘价, c.macd, d.rsi, e.成交量FROM 股票表aJOIN 指数表bON a.代码= b.代码WHERE a.macd > 0 AND a.rsi > 50 AND a.成交量> 0 AND a.收盘价> MA(a.收盘价, 5) AND a.收盘价> MA(a.收盘价, 10) AND a.收盘价> MA(a.收盘价, 20)) tWHERE t.rsi > 50 AND t.成交量> 0 AND t.macd > 0 AND t.收盘价> MA(t.收盘价, 5) AND t.收盘价> MA(t.收盘价, 10) AND t.收盘价> MA(t.收盘价, 20);```三、公式应用步骤与实战解析1.判断大盘环境在使用选股公式前,首先要判断大盘环境。

缠论日线三买的选股公式

缠论日线三买的选股公式

缠论日线三买的选股公式【实用版】目录一、缠论日线三买的概念与意义二、缠论日线三买的选股公式三、公式的应用与操作策略四、总结与建议正文一、缠论日线三买的概念与意义缠论是一种基于浪的理论体系,通过对浪的构造和组合,揭示市场行为的规律。

在缠论中,日线三买是指在股票市场中,某只股票经过一段下跌走势后,出现三次买点,这三个买点构成了一个“三买”的结构,这个结构具有较高的安全性和盈利概率。

对于投资者而言,把握好日线三买的机会,可以在股票市场中获取稳定的收益。

二、缠论日线三买的选股公式为了帮助投资者更好地把握日线三买的机会,下面提供一个简单的缠论日线三买的选股公式。

需要注意的是,这个公式只是作为参考,具体操作还需要结合实际市场情况和个股走势进行分析。

1.首先,找到一段下跌走势,判断这个下跌走势的结束点。

一般来说,这个结束点可以是一个明显的底部,也可以是某根 K 线的最低点。

2.从下跌走势的结束点开始,向上找到第一个反弹的高点。

这个高点可以是某根 K 线的最高点,也可以是某段反弹走势的终点。

3.从第一个反弹的高点开始,向下找到第二个反弹的高点。

同样,这个高点可以是某根 K 线的最高点,也可以是某段反弹走势的终点。

4.从第二个反弹的高点开始,向上找到第三个反弹的高点。

这个高点可以是某根 K 线的最高点,也可以是某段反弹走势的终点。

5.连接第一个反弹的高点和第三个反弹的高点,形成一个三角形。

如果这个三角形的顶点具有一定的规律性,且三角形的面积逐渐缩小,那么这个三角形很可能是一个日线三买的结构。

三、公式的应用与操作策略在实际操作中,投资者可以运用上述选股公式,筛选出可能存在日线三买结构的股票。

然后,结合缠论的其他分析方法,如浪的划分、中枢的判断等,对这些股票进行深入分析,以确定是否真的存在日线三买的机会。

在操作策略上,投资者可以在第二个反弹的高点附近买入股票,然后在第三个反弹的高点附近卖出股票,以实现盈利。

同时,投资者还需要密切关注市场动态,做好风险控制,以应对可能出现的不确定性因素。

缠论一买、三买选股公式(飞狐+悟多公式)

缠论一买、三买选股公式(飞狐+悟多公式)

缠论一买、三买选股公式(飞狐+悟多公式) -CAL-FENGHAI.-(YICAI)-Company One1缠论一买、三买选股公式(飞狐+悟多公式)MA10:=MA(CLOSE,10);MA5:=MA(CLOSE,5);MA1:=MA5-MA10;MA2:=MA10;MA3:=MA10;DATANUMBER:=DATATYPE;DATANUMBER1:=DATATYP E;DATANUMBER2:=DATATYPE;DATANUMBER3:=DATATYPE;LING:=HIGH;<%vbdatanumb er = ("datanumber") vbdatanumber1 = ("datanumber1") vbdatanumber2 = ("datanumber2") vbdata=1vbdata1=vbdata2=1Select Case vbdatanumberCase0vbdata=vbdata1=vbdata2=Case 1vbdata=vbdata1=vbdata2=Case2vbdata=vbdata1=vbdata2=Case 3vbdata=vbdata1=vbdata2=Case4vbdata=vbdata1=vbdata2=Case 5vbdata=vbdata1=vbdata2=Case6vbdata=vbdata1=vbdata2=Case 7vbdata=vbdata1=vbdata2=Case8vbdata=vbdata1=vbdata2=Case 9vbdata=vbdata1=vbdata2=Case10vbdata=vbdata1=vbdata2=Case 11vbdata=vbdata1=vbdata2=Case12vbdata=vbdata1=vbdata2=Case elsevbdata=2vbdata1=vbdata2=2EndSelect("datanumber") =vbdata("datanumber1") =vbdata1("datanumber2")=vbdata2vbling = ("ling") vbma = ("ma1") vbma2 = ("ma2") vbma3 = ("ma3") nlast = UBound( vbma ) nvalue = nvaluefu = bianhua = 2oldbianhua = 0for m = 0to nlastvbma2(m) = 0 vbma3(m) = 0 vbling(m)=0nextm= 0for i = 0 to nlastm=m+1'nlast - m 'vbma2(i) = 0 if (vbma(i) > 0) then bianhua = 1nvalue = nvalue + vbma(i)elsebianhua = 2nvaluefu = nvaluefu + vbma(i) end if if (oldbianhua = bianhua) thenelsevbma3(i) =mm=0if (bianhua = 1) thenvbma2(i) = nvaluefunvaluefu = 0'nvaluefu = 0elsevbma2(i) = nvaluenvalue = 0'nvalue = 0end ifend ifoldbianhua = bianhuanext ("ma2") =vbma2("ma3") = vbma3("ling") =vbling %>DRAWNUMBER(REF(MA2,0)<0 AND0=1,LLV(LOW,5),REF(MA2,0)*1000,0),colorFF00;DRAWNUMBER(REF(MA2,0)<0 AND0=1,LLV(LOW,5)-DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)<0 AND 0=1,LLV(LOW,5)-DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF00;DRAWNUMBER(REF(MA2, 0)>0 AND 0=1,HHV(HIGH,5),REF(MA2,0)*1000,0),colorFF;DRAWNUMBER(REF(MA2,0)>0 AND0=1,HHV(HIGH,5)+DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)> 0 AND0=1,HHV(HIGH,5)+DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF;MA1:=MA 5-MA10;WEIHE:=LING;WEIPING:=LING;<%vbhe=("weihe") vbping=("weiping") vbma = ("ma1") nlast = UBound( vbma ) nvalue = nvaluefu = bianhua = 2oldbianhua = 0i= 0m= nlastif (vbma(nlast) > 0) then Do While (vbma(m)>0)nvalue = vbma(m) +nvaluei=i+1m=m-1if(m<0) thenexit doend ifLoopelseDo While (vbma(m)<0)nvalue = vbma(m) + nvaluei=i+1m=m-1if(m<0) thenexit doend ifLoopend if if (i=0) theni=1end ifnvaluefu = nvalue/ivbhe(nlast) = nvalue vbping(nlast) = nvaluefu ("weihe")=vbhe("weiping")= vbping%>DRAWNUMBER(WEIHE<>0 AND0=1,IF(WEIHE>0,HIGH,LOW),WEIHE*1000,0),colorFF;DRAWNUMBER(WEIHE<>0 AND0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER*2,WEIPING*1000,0),colorFF00;DRAWNUMBER(WEIPING<>0 AND0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER,WEIHE/WEIPING,0),colorFFFF;DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIFF,9);MACD:=2*(DIFF-DEA);MA1:=MACD;MA2:=MACD;MA3:=MACD;MA1WE:=MACD;HE:=MA2;WEIHEMACD:= 0;WEIPINGMACD:=0;H1:=HIGH;L1:=LOW;FOXH:=HIGH;FOXL:=LOW;FOXBAOHAN:=LING;F OXBAOHAN1:=LING;FOXGUANXI:=LING;FOXFENXING:=LING;FOXFENXING1:=LING;FOXFE NNUMBER:=LING;FOXQUEKOU:=LING;FOXBICOUNT:=LING;FOXWEIBI:=LING;<%vbqueko u=("foxquekou")vbfennumber=("foxfennumber") vbdatanumber = ("datanumber") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1") vbbicount=("foxbicount")vbweibi=("foxweibi")nlast = UBound( vbh ) nvalue = nvaluefu = bianhua = 2vbguanxi(0) = 1 for m = 1 to nlastif(vbh(m)>vbh(m-1) and vbl(m)>vbl(m-1)) thenvbguanxi(m)=1 elseif (vbh(m)<vbh(m-1) and vbl(m)<vbl(m-1)) thenvbguanxi(m)=-1 elsevbguanxi(m) = 0 if (vbguanxi(m-1)=1) thenvbguanxi(m)=1if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) thenvbbaohan(m) =2 vbbaohan(m-1) = 1 vbh(m-1)=vbh(m)vbl(m)=vbl(m-1)elsevbbaohan(m-1) = -1 vbbaohan(m) = -2 vbh(m)=vbh(m-1)vbl(m-1)=vbl(m)end ifelsevbguanxi(m)=-1if(vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) thenvbbaohan(m) = 2 vbbaohan(m-1) = 1 vbh(m)=vbh(m-1)vbl(m-1)=vbl(m)elsevbbaohan(m-1) = -1 vbbaohan(m) = -2vbh(m-1)=vbh(m)vbl(m)=vbl(m-1)end ifend ifend ifend ifnext'处理连续包含即:连续3个及以上K线间存在的包含关系for m = 0 to nlastvbbaohan1(m) = vbbaohan(m)NEXTi=0do while (vbbaohan(i)=0)i=i+1if (i>nlast) thenExit Doend ifloop'第一个包含的位置lastfenxing=ibao=0existbao=0for m = i to nlastif (vbbaohan(m) <> 0) thenbao=bao+1if (bao>=2) thenif (vbbaohan(m)=2 and vbbaohan(m-1)=1 or vbbaohan(m)=-2 and vbbaohan(m-1)=-1) thenvbbaohan1(m) = baoif (bao>2) thenexistbao=BAOfor i = 1to baovbh(m-bao+i)=vbh(m)vbL(m-bao+i)=vbl(m)if (i = 1 or i=bao ) thenelsevbbaohan1(m-bao+i)=-3end ifnextend if'do while (bao>1)'vbh(m-bao+1)=vbh(m)'vbL(m-bao+1)=vbl(m)'if (existbao=BAO or bao=existbao-1)then'else'vbbaohan1(m-bao+1)=-3'end if'bao=bao-1'loopbao=0end ifend ifelsebao=0end ifnext'分型预处理existbao=vbguanxi(0)for m = 1 to nlast'if (vbh(m-1)>=vbh(m-2) and vbh(m-1)>=vbh(m) and vbl(m-1)>=vbl(m-2) and vbl(m-1)>=vbl(m) or vbh(m-1)<=vbh(m-2)and vbh(m-1)<=vbh(m) and vbl(m-1)<vbl(m-2) and vbl(m-1)<=vbl(m)) then'endifif (vbguanxi(m)<>existbao) thenif (vbguanxi(m-1)=1) thenvbfenxing(m-1) = 1'顶else vbfenxing(m-1) = -1'底end ifexistbao=vbguanxi(m)end ifnext'以上分型预处理for m = 0 to nlastvbfenxing1(m) = vbfenxing(m)vbfenxing1(m) = 0nexti=0do while(vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)<>vbfenxing(lastfenxing)) thenlastfenxing=melseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing))thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifelseif(vbl(m)<vbl(lastfenxing))thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0end ifend ifnext'以下处理分型间距离不小于4的要求同时处理连续的顶和底的问题bao=0i=0n=0existbao=vbfenxing(0)m=0do while (vbbaohan1(i) <2)i=i+1if (i>nlast) thenExit Doend iflooplastbaohan=i'第一个包含位置i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend ifloop'第一个预备分型位置lastfenxing=ilastfenxing1=lastfenxingi=0for m = lastfenxing+1 to nlastif (vbbaohan(m) = 0) thenbao=bao+1elseif (vbbaohan1(m) >=2 ) thenn=n+1end ifend ifvbfenxing1(m) = bao+n'包含关系只视为一个k线'vbfenxing1(m)=vbbaohan1(m)'if (m>735) then'exit for'end ifif (vbfenxing(m)<>0) thenif (bao+n>= 4) then'分型间距离大于等于4 符合要求if (vbfenxing(m)<>vbfenxing(lastfenxing))then'vbfenxing1(m)=vbfenxing(m)n=0bao=0lastfenxing1=lastfenxinglastfenxing=melseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) then'exit forvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing( m)=0end ifelseif (vbl(m)<vbl(lastfenxing))thenvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxi ng(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end if'将上一个分开型位置数据更新为当下位置else'分型间距离小于4 要看情况若与前分型不同且破坏前笔,可保留其它情况要去掉'破坏前笔即相邻分型不同且高于上上个顶或低于上上个底if (vbfenxing(m)<>vbfenxing(lastfenxing))then'vbfenxing1(m)=vbfenxing(m)'i=lastfenxing-1'do while(vbfenxing(i)<>vbfenxing(m))'i=i-1'if (i=0) then'Exit Do'endif'loop'lastfenxing1=lastfenxingi=lastfenxing1if (vbfenxing(m)=1) thenif(vbl(m)>vbl1(m))thent1=vbl1(m)elset1=vbl(m)end ifif(vbh(i)>vbh1(i))thent2=vbh(m)elset2=vbh1(m)end ifif (t1>t2)thenn=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifelseif (vbh(m)>vbh1(m))thent1=vbh(m)elset1=vbh1(m)end ifif(vbl(i)>vbl1(i))thent2=vbl(m)elset2=vbl1(m)end ifif (t1<t2) then'if (vbh(m)<vbl(i))thenn=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing(m)=0end ifend ifelseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) then'exit forvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxing( m)=0end ifelseif (vbl(m)<vbl(lastfenxing))thenvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxinglastfenxing=melsevbfenxi ng(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的end ifend ifendifnext'以上处理分型间距离不小于4的要求'以下去掉连续的顶或底i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)<>vbfenxing(lastfenxing)) thenlastfenxing=melseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing))thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifelseif(vbl(m)<vbl(lastfenxing))thenvbfenxing(lastfenxing)=0lastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的'vbfenxing(m)=0end ifend ifnext'以下处理一个顶要大于相邻的两个底及一个底要小于相邻的两个顶的问题'取第一个分型位置i=0do while (vbfenxing(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=ifor m = lastfenxing+1 to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)>0) thenif(vbh(m)>vbl(lastfenxing)) then'满足条件顶>底lastfenxing=melse'不满足条件顶>底两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifelseif (vbl(m)<vbh(lastfenxing)) then'满足条件底<顶lastfenxing=melse'不满足条件底<顶两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifend ifend ifnexti=0for m = 0 to nlastif (vbfenxing(m)<>0) theni=i+1vbfennumber(m)=iendifnext'vbfennumber(nlast)=0'vbfenxing(nlast)=-vbfenxing(lastfenxing)x1=0x2=0x3=0x4=0x5=0x6=0x7=0bi=0maxbi=0zhsh=0'先取三个分型数据,然后进入循环处理a=0'Do While (vbfenxing(a) = 0 and a <= nlast)Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend ifa = a + 1Loopx1=aa=x1+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend ifa = a + 1Loopx2=aa=x2+1Do While ( a < nlast)if ( vbfenxing(a) <> 0) thenexit doend ifa = a +1Loopx3=aa=x3+1bi=0zhshbegin=x1zzg=0zzd=0zgg=0zdd=0zg=0zd=0gg=0dd=0FOR m=a TO nlast '(1)开始按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志'其它则是不同级别的中枢和线段的思路设计'在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股1分钟内可能无成交if (vbfenxing(m)<>0) then'(2) begin 只在分型不为0时进行处理,即:是分型时处理bi=bi+1x4=mif (zhshbegin=0) thenzhshbegin=x4end ifif (vbfenxing(x1)>0) then'以顶分型开始,x1,x3取高点x2,x4取低点,线段及中枢区间取高点中的低者,低点中的高者zg=min(vbh(x1),vbh(x3))'临时中枢高点zd=max(vbl(x2),vbl(x4))'临时中枢低点gg=max(vbh(x1),vbh(x3))'临时中枢高高点dd=min(vbl(x2),vbl(x4))'临时中枢低低点else'以底分型开始,x2,x4取高点x1,x3取低点zg=min(vbh(x2),vbh(x4))'临时中枢高点zd=max(vbl(x1),vbl(x3))'临时中枢低点gg=max(vbh(x2),vbh(x4))'临时中枢高高点dd=min(vbl(x1),vbl(x3))'临时中枢低低点end ifif (zd>zg ) then'(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来vbweibi(x2)=1vbweibi(x3)=2'msgbox("当前的vbweibi(x3):" & cstr(vbweibi(x3)))maxbi=max(maxbi,bi)vbbicount(x2)=bibi=-1zhshbegin=0else'(3)中枢低点小于等于高点,即形成中枢,不用记录位置end if'(3)结束,将x1,x2,x3的值分别换成x2,x3,x4的值,也即向前推进一个分型,然后再返回进行比较x1=x2x2=x3x3=x4end if'(2) 结束 NEXT'(1)结束找出所有连续三笔无重叠的位置,即不能形成中枢的候选位置,以下要对这些位置进行筛选并逐个分析,看图时要特别注意这些位置'以下为自定义函数部分Function max(a, b)If (a >= b) Thenmax = aElsemax= bEnd IfEnd FunctionFunction min(a, b)If (a <= b) Thenmin = aElsemin = bEnd IfEnd Function("foxweibi")=vbweibi("foxbicount")=vbbicount("foxh") =vbh("foxl")=vbl("foxbaohan") = vbbaohan("foxbaohan1") = vbbaohan1("foxguanxi") = vbguanxi ("foxfenxing") = vbfenxing("foxfenxing1") = vbfenxing1("foxfennumber") = vbfennumber("foxquekou") =vbquekou%>FOXXIAN:=LING;FOXXIANG:=LING;FOXXIAND:=LING;FOXTEG:=LING;FOXTED: =LING;FOXTEGX:=LING;FOXTEG1:=LING;FOXTED1:=LING;FOXTEGX1:=LING;FOXDATATYPE :=DATATYPE;FOXTEBAO:=LING;FOXTEBAO1:=LING;FOXTEGUANXI1:=LING;FOXFENNUMXI AN:=LING;FOXZQDM:=STRLEFT(STKLABEL,2);FOXXIAOSHU:=0;<%vbquekou=("foxquekou ")vbfennumber=("foxfennumber") vbdatanumber = ("foxdatatype")vbfennumxian=("foxfennumxian") vbxiaoshu=("foxxiaoshu") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1") vbzqdm = ("foxzqdm")vbxian=("foxxian")vbxiang=("foxxiang")vbxiand=("foxxiand")vbteg=("foxteg")vbted=("fox ted")vbtegx=("foxtegx")vbtebao=("foxtebao")vbtebao1=("foxtebao1")vbteg1=("foxteg1" )vbted1=("foxted1")vbtegx1=("foxtegx1")vbweibi=("foxweibi")vbbicount=("foxbicount") nlast = UBound( vbh ) 'msgbox("当前的数据类型为:" & cstr(vbzqdm))IF ( vbzqdm ="58" or vbzqdm ="90" or vbzqdm ="03" or vbzqdm ="18" or vbzqdm ="50" or vbzqdm ="51" or vbzqdm ="52" ) THENvbxiaoshu=3elsevbxiaoshu=2end ifIF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THENELSEFOR m=0 TO nlast if (vbfenxing(m)<>0)thenvbxian(m)=vbfenxing(m)vbxiang(m)=vbh(m)vbxiand(m)=vbl(m)end ifNEXTENd IF'笔的数据是按K线数据自动计算的即:vbfenxing'初始计算相关数据置为0 当数据类型为0和1即分笔和1分钟时要按笔-线段的过程组成中枢'其它级别(指5分钟及以上)时用笔组成中枢此时要将笔的数据即:分型位置代入线段数组中IF ((vbdatanumber>=0 OR vbdatanumber=1 ) )THEN'IF ((vbdatanumber=0 OR vbdatanumber=1 ) and ( vbzqdm ="88" or vbzqdm ="1b" or vbzqdm ="1B" or vbzqdm ="1a" or vbzqdm ="1A" or vbzqdm ="39" ) )THEN'(1)分笔和1分钟计算线段数据 vbzqdm =0 为指数'公式还未考虑开始连续三笔无重叠不能形成线段的处理,缠论中对此也未明确不能形成线段的笔应发生属于那个线段'对走势中间连续三笔无重叠不能形成线段的处理也未明确不能形成线段的笔应属于那个线段'缠论中规定线段是连续的且以不同的分型作为两个端点即:不能顶到顶和底到底,此规定要考虑的i = 0ex=0Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx1 = ixianbegin = x1i = x1 + 1Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx2 = ii = x2 + 1Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i +1Loopx3 = ii = x3 + 1Do While ( ex=0 )'()if (x3>nlast or x2>nlast ) then'msgbox("当前的1 x2:" & cstr(x2) & "当前的1 x3:" & cstr(x3) & "当前的nlast:" & cstr(nlast) )exit doend ifif ( vbweibi(x2)=0 or vbweibi(x3)=0 or vbweibi(x3)=1 or vbweibi(x2)=2 )then'msgbox("当前的1 x2:" & cstr(x2) & "当前的1 x3:" & cstr(x3) & "当前的nlast:" & cstr(nlast) )exit doelsex1=x2x2=x3Do While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx3 = ii = x3 + 1end ifloop'()i = x3 + 1xianbegin = x1tewei =x2if (x3<=nlast) thenIf (vbfenxing(x1) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = -1'以底分型开始,线段方向向上vbteg(tewei) = vbl(tewei)vbted(tewei) = vbh(x3)End Ifvbtegx(tewei) = xianfang'定义出第一个特征序列,及关系即:是上升的还是下降的end if'tewei =x4tenumber = 0i = x3 + 1vbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) = vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)'vbxiang(xianbegin) =gg'vbxiand(xianbegin) = ddFor m = i To nlast'(2)Do While ( m <= nlast)If (vbfenxing(m) <> 0 ) thenexit doend ifm = m + 1Loopx4 = mm = x4 + 1Do While ( m <= nlast)If (vbfenxing(m) <> 0 ) thenexit doend ifm = m + 1Loopx5 = mm = x5 + 1newtewei = x4if ( x5 > nlast) thenexit forend ifIf (xianfang = -1) Then'xianfang=-1 以顶分型开始,线段方向向下vbted(newtewei) = vbl(newtewei)vbteg(newtewei) = vbh(x5)Else'xianfang=1 以底分型开始,线段方向向上vbteg(newtewei) = vbh(newtewei)vbted(newtewei) =vbl(x5)End If'判断方向/缺口及包含vbtegx(newtewei) = xianfangtenumber = 1 + tenumber'if (tenumber >= 1) thenIf (vbted(newtewei) > vbted(tewei) Andvbteg(newtewei) > vbteg(tewei) Or vbted(newtewei) < vbted(tewei) Andvbteg(newtewei) < vbteg(tewei)) Then'(3)向上或向下即:不是包含If(vbted(newtewei) > vbted(tewei) And vbteg(newtewei) > vbteg(tewei)) Then'(4) 特征序列的方向向上tefang = 1Elsetefang = -1'(4)特征序列的方向向下EndIfvbtegx(newtewei) = tefangIf (xianfang <> tefang) Then'(5)线段方向与特征序列的方向不同,即:出现了特征序列的分型线段方向与特征序列关系不同,出现分型,'首先判断自tewei(x2)开始的三笔是否构成线段,构成线段则下一步,不构成线段返回原线段继续,再判断第一个(tewei的前一个特征序列)与第二个(tewei)之间是否有缺口if( vbweibi(x4)=0 or vbweibi(x3)=0 or vbweibi(x4)=1 or vbweibi(x3)=2 ) then'if( vbweibi(x6)=0 or vbweibi(x5)=0 ) then'{}构成线段,新线段从newtewei开始,原线段在newtewei处结束还要判断顶是否大于底if (tenumber <= 1) then'(tenumber)此情况发生在三笔构成线段但线段的两端不是其最高点或最低点的情况,当下只有三笔不能开始新线段否则就出现一笔构成一个线段的现象了i=mDo While ( i <= nlast)If (vbfenxing(i) <> 0 ) thenexit doend ifi = i + 1Loopx6 = iif ( x6 > nlast) then'msgbox( " {}当前的x6:" & cstr(x6) & "当前的nlast:" & cstr(nlast) )exit forend if'再判断x5,x6是否构成线段,构成则新线段否则原线段继续if ( vbweibi(x6)=0 or vbweibi(x5)=0or vbweibi(x6)=1 or vbweibi(x5)=2 ) then'开始构成新线段,新线段在newtewei开始xianbegin=newteweivbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) =vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)x2=x5x3=x6tewei=x2m = x6 + 1If (vbfenxing(xianbegin) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = 1'以底分型开始,线段方向向上vbteg(tewei) = vbh(tewei)vbted(tewei) = vbl(x3)End Ifvbtegx(tewei) = xianfangtenumber = 0else'else 原线段继续tewei=newteweivbtegx(newtewei) = xianfangx2=x4x3=x5m =x5 + 1end if'开始结束else'(tenumber)tenumber = 0bao = 0xianbegin =teweivbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) =vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)x2 = X3x3 = x4tewei = x2If (vbfenxing(xianbegin) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei)vbteg(tewei) = vbh(x3)Elsexianfang = 1'以底分型开始,线段方向向上vbteg(tewei) = vbh(tewei)vbted(tewei) = vbl(x3)End Ifvbtegx(tewei) = xianfangm =x3+1end if'(tenumber)else'{}不构成线段,原线段继续tewei=newteweivbtegx(newtewei) = xianfangx2=x4x3=x5m = x5 + 1end if'{}Else'(5)线段方向与特征序列关系相同,未出现分型tewei的值更新为newtewei'tenumber = 1+tenumbervbtegx(newtewei) = xianfangtewei=newteweix2=x4x3=x5End If'(5)Else'(3)包含vbtegx(newtewei) = xianfangIf (vbted(tewei) >= vbted(newtewei) And vbteg(tewei) <= vbteg(newtewei)) Then'后面包含前面 newtewei是后面的 tewei在前面 1为tewei被后一个包含 2为newtewei包含前一个vbtebao(tewei) = 1vbtebao(newtewei) = 2Else'前面包含后面 -1为tewei包含后一个 -2为newtewei被前一个包含vbtebao(tewei) = -1vbtebao(newtewei) = -2End IfIf (xianfang = -1) Then'线段方向向下取向下包含temp = min(vbted(newtewei), vbted(tewei))vbted(newtewei) = tempvbted(tewei) = temptemp = min(vbteg(newtewei), vbteg(tewei))vbteg(newtewei) = tempvbteg(tewei) = tempElse'线段方向向上取向上包含temp = max(vbted(newtewei), vbted(tewei))vbted(newtewei) = tempvbted(tewei) = temptemp = max(vbteg(newtewei), vbteg(tewei))vbteg(newtewei) = tempvbteg(tewei) = tempEnd If'判断与tewei的前面是否有连续的包含关系temp = tewei - 1ex = 0bao = 0Do While (ex = 0)Do While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的10 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) )exit doend ifIf (vbtebao(temp) = 0 Or vbtebao(temp) >= 2 Or vbtebao(temp) = -2 Or vbtegx(temp) <> xianfang) Thenex =1Elsebao = bao + 1End Iftemp = temp - 1Loop'有几个连续包含,指大于三个K线的包含,BAO的值是包含的K线数减2,当只有两个连续K线包含时BAO为0temp = tewei - 1For i = 1 To baoDo While ( temp >=0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的11 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) )exit forend ifvbteg(temp) = vbteg(tewei)vbted(temp) =vbted(tewei)temp = temp - 1Nextvbtebao(newtewei) = bao + 2temp = tewei - 1For i =1 To bao + 2If (i = 1 Or i = bao + 2) ThenElseDo While ( temp >0)If (vbteg(temp) <> 0 ) thenexit doend iftemp = temp - 1Loopif (temp<0) then'msgbox("当前的12 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) )exit forend ifvbtebao(temp) = -3temp = temp - 1End IfNexttewei=newteweix2=x4x3=x5m = x5 + 1End If'(3)Next'(2)For i = 0 To nlastIf (vbtebao(i) = -2) Thenvbtebao(i) = 2End IfIf (vbtebao1(i) = -2) Thenvbtebao1(i) = 2End IfNext'包含关系标准化,即结束标志都为2及以上'处理线段的两个端点满足条件顶>=底i=0do while (vbxian(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=ifor m = lastfenxing+1+ nlast to nlastif (vbxian(m)<>0) thenif (vbxian(m)>0) thenif (vbxiang(m)>=vbxiand(lastfenxing)) then'满足条件顶>=底lastfenxing=melse'不满足条件顶<底两个全置为0,并查下一个vbxian(m)=0vbxian(lastfenxing)=0vbxiang(m)=0vbxiang(lastfenxing)=0vbxiand(m)=0vbxia nd(lastfenxing)=0m=m+1do while (vbxian(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifelseif (vbxiand(m)<=vbxiang(lastfenxing)) then'满足条件底<顶lastfenxing=melse'不满足条件底<顶两个全置为0,并查下一个vbxian(m)=0vbxian(lastfenxing)=0vbxiang(m)=0vbxiang(lastfenxing)=0vbxiand(m)=0vbxia nd(lastfenxing)=0m=m+1do while (vbxian(m)=0)m=m+1if (m>nlast) thenExit Doend iflooplastfenxing=mend ifend ifend ifnext'计算线段的高点和低点i=0do while (vbxian(i)=0)i=i+1if (i>nlast) thenExit Doendiflooplastfenxing=i'vbxiang(i)=vbh(i)'vbxiand(i)=vbl(i)gg=vbxiang(i)dd=vbxiand(i)for m = lastfenxing+1+ nlast to nlastif (vbfenxing(m)<>0)thengg=max(gg,vbh(m))dd=min(dd,vbl(m))if (vbxian(m)<>0)thenvbxiang(i)=ggvbxiand(i)=ddif (vbxian(m)>0) thenelseend ifgg=vbh(m)dd=vbl(m)endifend ifnextend if'(1)i=nlastdo while (vbxian(i)=0)i=i-1if (i>nlast or i<0) thenExit Doend iflooplastfenxing=i'vbxian(nlast) = -vbxian(lastfenxing)'vbxiang(nlast) =vbh(nlast)'vbxiand(nlast) = vbl(nlast)'vbteg(newtewei) = 0'vbted(newtewei) = 0'以下为自定义函数部分Function max(a, b)If (a >= b) Thenmax = aElsemax = bEnd IfEnd FunctionFunction min(a, b)If (a <= b) Thenmin = aElsemin = bEnd IfEndFunction("foxxiaoshu")=vbxiaoshu("foxteg")=vbteg("foxted")=vbted("foxtegx")=vbtegx("foxteg1")=vbteg1("foxt ed1")=vbted1("foxtegx1")=vbtegx1("foxtebao")=vbtebao("foxtebao1")=vbtebao1("foxxia n")=vbxian("foxxiang")=vbxiang("foxxiand")=vbxiand%>FOXWEI:=LING;FOXBUYSELL:=LIN G;<%vbdatanumber3 = ("datanumber3")vbbicount=("foxbicount")vbweibi=("foxweibi")vbquekou=("foxquekou")vbfennumber=(" foxfennumber") vbfennumxian=("foxfennumxian") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1")vbbuysell=("foxbuysell")vbwei=("foxwei")vbxian=("foxxian")vbxiang=("foxxiang")vbxiand=("foxxiand")vbteg=("fo xteg")vbted=("foxted")vbtegx=("foxtegx")vbteg1=("foxteg1")vbted1=("foxted1")vbtegx1 =("foxtegx1")nlast = UBound( vbh ) i=0for m = 0 to nlastif (vbxian(m)<>0)theni=i+1vbfennumxian(m)=iendifnext'vbfennumxian(nlast)=0x1=0x2=0x3=0x4=0x5=0x6=0x7=0bi=0maxbi=0zhsh=0'先取三个分型数据,然后进入循环处理a=0'Do While (vbxian(a) = 0 and a <= nlast)Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend ifa = a + 1Loopx1=aa=x1+1Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend ifa = a + 1Loopx2=aa=x2+1Do While ( a < nlast)if ( vbxian(a) <> 0) thenexit doend ifa = a +1Loopx3=aa=x3+1bi=0zhshbegin=x1zzg=0zzd=0zgg=0zdd=0zg=0zd=0gg=0dd=0'vbbicount =("foxbicount")'vbweibi=("foxweibi")FOR m=a TO nlast '(1)开始按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志'其它则是不同级别的中枢和线段的思路设计'在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股1分钟内可能无成交if (vbxian(m)<>0) then'(2) begin 只在分型不为0时进行处理,即:是分型时处理bi=bi+1x4=mif (zhshbegin=0) thenzhshbegin=x4end ifif (vbxian(x1)>0) then'以顶分型开始,x1,x3取高点x2,x4取低点,线段及中枢区间取高点中的低者,低点中的高者zg=min(vbxiang(x1),vbxiang(x3))'临时中枢高点zd=max(vbxiand(x2),vbxiand(x4))'临时中枢低点gg=max(vbxiang(x1),vbxiang(x3))'临时中枢高高点dd=min(vbxiand(x2),vbxiand(x4))'临时中枢低低点else'以底分型开始,x2,x4取高点x1,x3取低点zg=min(vbxiang(x2),vbxiang(x4))'临时中枢高点zd=max(vbxiand(x1),vbxiand(x3))'临时中枢低点gg=max(vbxiang(x2),vbxiang(x4))'临时中枢高高点dd=min(vbxiand(x1),vbxiand(x3))'临时中枢低低点end ifif (zd>zg ) then'(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来vbwei(x2)=1vbwei(x3)=2'还要计算上一个中枢的级别和中枢区间及波动区间,计算中枢的级别根据bi记数器的值,中枢计算完毕后笔记数器bi清零'bi记数器的值小于等于6时为本级别中枢,值为7或8时可能为本级别两个中枢,大于或等于9时为上一级别的中枢maxbi=max(maxbi,bi)vbbicount(x2)=bibi=-1zhshbegin=0else'(3)中枢低点小于等于高点,即形成中枢,不用记录位置end if'(3)结束,将x1,x2,x3的值分别换成x2,x3,x4的值,也即向前推进一个分型,然后再返回进行比较x1=x2x2=x3x3=x4end if'(2) 结束 NEXT'(1)结束找出所有连续三线段无重叠的位置,即不能形成中枢的候选位置,以下要对这些位置进行筛选并逐个分析,看图时要特别注意这些位置("foxweibi")=vbweibi("foxbicount")=vbbicountFunction max(a, b)If (a >= b) Thenmax = aElsemax = bEnd IfEnd FunctionFunction min(a, b)If (a <= b) Thenmin = aElsemin = bEnd IfEnd Function("foxwei")=vbwei("datanumber3")=maxbi("foxbicount")=vbbicount("foxfennumxian") =vbfennumxian%>FOXZHSH:=LING;FOXZHSHG:=LING;FOXZHSHD:=LING;FOXZHSHGG:=LIN G;FOXZHSHDD:=LING;FOXZHSH5:=LING;FOXZHSHG5:=LING;FOXZHSHD5:=LING;FOXZHSH GG5:=LING;FOXZHSHDD5:=LING;FOXZHSH15:=LING;FOXZHSHG15:=LING;FOXZHSHD15:= LING;FOXZHSHGG15:=LING;FOXZHSHDD15:=LING;FOXZHSH30:=LING;FOXZHSHG30:=LIN G;FOXZHSHD30:=LING;FOXZHSHGG30:=LING;FOXZHSHDD30:=LING;FOXZHSH60:=LING;F OXZHSHG60:=LING;FOXZHSHD60:=LING;FOXZHSHGG60:=LING;FOXZHSHDD60:=LING;FO XZHSHR:=LING;FOXZHSHGR:=LING;FOXZHSHDR:=LING;FOXZHSHGGR:=LING;FOXZHSHDD R:=LING;FOXZHSHZ:=LING;FOXZHSHGZ:=LING;FOXZHSHDZ:=LING;FOXZHSHGGZ:=LING;F OXZHSHDDZ:=LING;FOXZHSHY:=LING;FOXZHSHGY:=LING;FOXZHSHDY:=LING;FOXZHSHG GY:=LING;FOXZHSHDDY:=LING;FOXZHSHN:=LING;FOXZHSHGN:=LING;FOXZHSHDN:=LING ;FOXZHSHGGN:=LING;FOXZHSHDDN:=LING;FOXZHSHMM:=LING;FOXZHSHMM5:=LING;F OXZHSHMM15:=LING;FOXZHSHMM30:=LING;FOXZHSHMM60:=LING;FOXZHSHMMR:=LI NG;FOXZHSHMMZ:=LING;FOXZHSHMMY:=LING;FOXZHSHMMN:=LING;FOXYANWEI:=LIN G;DATANUMBER4:=DATATYPE;FOXYANBICOUNT:=LING;<%vbquekou=("foxquekou")vbfe nnumber=("foxfennumber") vbh = ("foxh") vbL = ("foxl") vbh1 = ("foxh") vbL1 = ("foxl") vbbaohan = ("foxbaohan") vbbaohan1 = ("foxbaohan1") vbguanxi = ("foxguanxi") vbfenxing = ("foxfenxing") vbfenxing1 = ("foxfenxing1") vbbuysell=("foxbuysell")vbwei=("foxwei")vbxian=("foxxian")vbxiang=("foxxiang")vbxiand=("foxxiand")vbzhsh = ("foxzhsh")vbzhshg = ("foxzhshg")vbzhshd = ("foxzhshd")vbzhshgg = ("foxzhshgg")vbzhshdd = ("foxzhshdd")vbzhsh5 = ("foxzhsh5")vbzhshg5 = ("foxzhshg5")vbzhshd5 = ("foxzhshd5")vbzhshgg5 = ("foxzhshgg5")vbzhshdd5 = ("foxzhshdd5")vbzhsh15 = ("foxzhsh15")vbzhshg15 = ("foxzhshg15")vbzhshd15 = ("foxzhshd15")vbzhshgg15 = ("foxzhshgg15")vbzhshdd15 = ("foxzhshdd15")vbzhsh30 = ("foxzhsh30")vbzhshg30 = ("foxzhshg30")vbzhshd30 = ("foxzhshd30")vbzhshgg30 = ("foxzhshgg30")vbzhshdd30 = ("foxzhshdd30")vbzhsh60 = ("foxzhsh60")vbzhshg60 = ("foxzhshg60")vbzhshd60 = ("foxzhshd60")vbzhshgg60 = ("foxzhshgg60")vbzhshdd60 = ("foxzhshdd60")vbzhshr = ("foxzhshr")vbzhshgr = ("foxzhshgr")vbzhshdr = ("foxzhshdr")vbzhshggr = ("foxzhshggr")vbzhshddr = ("foxzhshddr")vbzhshz = ("foxzhshz")vbzhshgz = ("foxzhshgz")vbzhshdz = ("foxzhshdz")vbzhshggz = ("foxzhshggz")vbzhshddz = ("foxzhshddz")vbzhshy = ("foxzhshy")vbzhshgy = ("foxzhshgy")vbzhshdy = ("foxzhshdy")vbzhshggy = ("foxzhshggy")vbzhshddy = ("foxzhshddy")vbzhshn = ("foxzhshn")vbzhshgn = ("foxzhshgn")vbzhshdn = ("foxzhshdn")vbzhshggn = ("foxzhshggn")vbzhshddn =("foxzhshddn")vbzhshmm=("foxzhshmm")vbzhshmm5=("foxzhshmm5")vbzhshmm15=("f oxzhshmm15")vbzhshmm30=("foxzhshmm30")vbzhshmm60=("foxzhshmm60")vbzhshm mr=("foxzhshmmr")vbzhshmmz=("foxzhshmmz")vbzhshmmy=("foxzhshmmy")vbzhshm mn=("foxzhshmmn")vbyanwei=("foxyanwei")maxyanbi=("datanumber4")vbyanbicount=(。

缠论三买的选股公式

缠论三买的选股公式

缠论三买的选股公式(原创实用版)目录1.缠论三买的概念和意义2.缠论三买的选股公式3.缠论三买的选股公式的应用和实战案例4.结论正文一、缠论三买的概念和意义缠论是一种基于中国传统禅宗哲学和西方技术分析相结合的股票投资理论,创立人是中国的股票分析师、心理学家缠中说禅。

缠论中有一个重要的概念是“三买”,指的是在股票价格经过两次回调后,第三次上涨时买入的时机。

三买是缠论中一个重要的交易策略,能够帮助投资者在股票价格上涨的初期及时介入,获取较大的利润空间。

二、缠论三买的选股公式缠论三买的选股公式是基于缠论中的技术分析原理,结合股票市场的实际运行情况,总结出来的一种选股方法。

缠论三买的选股公式主要包括以下几个步骤:1.找到股票价格的第一段上涨区间,记为 A;2.找到股票价格的第一段回调区间,记为 B;3.计算出 B 区间的黄金分割点 G,G 的计算公式为:G = B 的低点+ (B 的高点 - B 的低点) * 0.618;4.观察股票价格在 A 区间结束后的回调,如果回调的低点在 G 点以上,且回调的时间不超过 A 区间的时间,则可以认为三买条件成立,可以买入股票。

三、缠论三买的选股公式的应用和实战案例缠论三买的选股公式在实际应用中,需要结合其他技术分析指标和市场信息,综合判断股票价格的走势。

以下是一个缠论三买的实战案例:假设一只股票的价格走势如下:- A 区间:股票价格从 10 元上涨到 15 元;- B 区间:股票价格从 15 元回调到 12 元;- G 点:12 元 + (15 元 - 12 元) * 0.618 = 13.86 元;- C 区间:股票价格从 12 元上涨到 18 元。

根据缠论三买的选股公式,我们可以在股票价格回调到 13.86 元以上时买入,然后在股票价格上涨到 18 元时卖出,可以获得较大的利润空间。

四、结论缠论三买的选股公式是一种基于缠论技术分析原理的选股方法,可以帮助投资者在股票价格上涨的初期及时介入,获取较大的利润空间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KX:='CHANLUN@KXIAN';KXG:='CHANLUN@KXG';KXD:='CHANLUN@KXD';KXFX:='CHANLUN@KXFX';笔:='CHANLUN@BI';笔周期:='CHANLUN@BILAST',LINETHICK0, COLORFF00FF;BILAST:='CHANLUN@BILAST';{笔周期};段:='CHANLUN@DUAN';段周期:='CHANLUN@DUANLAST', LINETHICK0, COLORFFFFFF;DUANLAST:='CHANLUN@DUANLAST'; {段周期};中枢:='CHANLUN@ZS';ZSZG:='CHANLUN@ZSZG';ZSZD:='CHANLUN@ZSZD';ZSGG:='CHANLUN@ZSGG';ZSDD:='CHANLUN@ZSDD';ZSZZ:='CHANLUN@ZSZZ';ZSKS:='CHANLUN@ZSKSLAST';ZSJS:='CHANLUN@ZSJSLAST';BIFX:=-REF(笔,BILAST);DUANFX:=-REF(段,DUANLAST);KXQJ:='CHANLUN@KXQJ';{画中枢BEGIN} {以背景方式画}STICKLINE(ZSZG>ZSZD AND DUANFX=1, ZSZG, ZSZD, 10, 1),COLOR8E236B;STICKLINE(ZSZG>ZSZD AND DUANFX=-1, ZSZG, ZSZD, 10, 1), COLOR007700;{中枢震荡监视器}DRAWLINE(ZSKS=1, ZSZZ, ZSJS=1, ZSZZ, 0), COLORFFFFFF;{画笔段}DRAWLINE(笔=1,H,笔=-1,L,0),COLORBLUE,LINETHICK2;DRAWLINE(笔=-1,L,笔=1,H,0),COLORFF00FF ,LINETHICK2;DRAWLINE(段=1,H,段=-1,L,0),COLOR007700, LINETHICK2;DRAWLINE(段=-1,L,段=1,H,0),COLORRED, LINETHICK2;{笔高低点周期力度提示}DRAWTEXT(笔= 1, H*1.038, ''+H+''), COLORFFFFFF;DRAWTEXT(笔=-1, L*0.96, ''+L+''), COLORFFFFFF;VAR3:=LLV(H,240);VAR4:=100*(C-VAR3)/VAR3;VAR5:=(C-LLV(L,528))/(HHV(H,528)-LLV(L,528))*100;VAR6:=(C-LLV(C,530))/(HHV(C,530)-LLV(C,530))*100;VAR7:=0;VAR8:=SMA(MAX(CLOSE-REF(CLOSE,1),0),34,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),7,1)*10 0;VAR9:=SMA(MAX(CLOSE-REF(CLOSE,1),0),13,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),13,1)*1 00;VAR10:=IF(TROUGHBARS(3,16,1)=0 AND H>L+0.04,4,0);VAR11:=ZIG(3,6)>REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)<=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)<=REF(ZIG(3,6),3);VAR12:=ZIG(3,6)<REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)>=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)>=REF(ZIG(3,6),3);VAR13:=ZIG(3,22)>REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)<=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)<=REF(ZIG(3,22),3);VAR14:=ZIG(3,22)<REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)>=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)>=REF(ZIG(3,22),3);VAR15:=ZIG(3,51)>REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)<=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)<=REF(ZIG(3,51),3);VAR16:=ZIG(3,51)<REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)>=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)>=REF(ZIG(3,51),3);VAR17:=ZIG(3,72)>REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)<=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)<=REF(ZIG(3,72),3);VAR18:=ZIG(3,72)<REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)>=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)>=REF(ZIG(3,72),3);VAR19:=EMA(C,2)-EMA(C,150);买1:=VAR10;买2:=(VAR11+VAR13+VAR15+VAR17);卖1:=(VAR12+VAR14+VAR16+VAR18);DRAWTEXT(买1>0 OR 买2>0,L*0.985,'买'),COLOR00FFFF;DRAWTEXT(卖1>0,H*1.01,'卖'),COLOR00FFFF;APP:=(VOL)/((H-L)*(2)-ABS(C-O));ZL:=IF((H>O),(APP)*(H-L),IF((L<O),(APP)*(H-O+C-L),(VOL)/(2)));SF:=IF((H>O),0-(APP)*(H-C+O-L),IF((L<O),0-(APP)*(H-L),0-(VOL)/(2)));库存能量:=MA(ZL+SF,2);库存平均:=MA(ZL+SF,5);GET:ZIG(3,5),COLORYELLOW,LINETHICK3;PL5:=ZIG(3,5);EN1:=PL5>REF(PL5,1) AND REF(PL5,1)<=REF(PL5,2) AND REF(PL5,2)<=REF(PL5,3);EX1:=PL5<REF(PL5,1) AND REF(PL5,1)>=REF(PL5,2) AND REF(PL5,2)>=REF(PL5,3);PL10:=ZIG(3,10);EN2:=PL10>REF(PL10,1) AND REF(PL10,1)<=REF(PL10,2) AND REF(PL10,2)<=REF(PL10,3); EX2:=PL10<REF(PL10,1) AND REF(PL10,1)>=REF(PL10,2) AND REF(PL10,2)>=REF(PL10,3); PL20:=ZIG(3,20);EN3:=PL20>REF(PL20,1) AND REF(PL20,1)<=REF(PL20,2) AND REF(PL20,2)<=REF(PL20,3); EX3:=PL20<REF(PL20,1) AND REF(PL20,1)>=REF(PL20,2) AND REF(PL20,2)>=REF(PL20,3); 走强1:=BARSLAST(PL5<REF(PL5,1));走弱1:=BARSLAST(PL5>REF(PL5,1));走强2:=BARSLAST(PL10<REF(PL10,1));走弱2:=BARSLAST(PL10>REF(PL10,1));走强3:=BARSLAST(PL20<REF(PL20,1));走弱3:=BARSLAST(PL20>REF(PL20,1));ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(EN1,走强2),0);ZTJD5:=IF(PL10>REF(PL10,1),COUNT(EX1,走强2),0);DTJZ5:=IF(PL10<REF(PL10,1),COUNT(EN1,走弱2),0);DTJD5:=IF(PL10<REF(PL10,1),COUNT(EX1,走弱2),0);ZTJZ10:=IF(PL20>REF(PL20,1),COUNT(EN2,走强3),0);ZTJD10:=IF(PL20>REF(PL20,1),COUNT(EX2,走强3),0);DTJZ10:=IF(PL20<REF(PL20,1),COUNT(EN2,走弱3),0);DTJD10:=IF(PL20<REF(PL20,1),COUNT(EX2,走弱3),0);DRAWTEXT(EN2 AND DTJZ10=1,L*0.93,'[类二买]'),COLORFFFFFF;DRAWTEXT(EN3 AND ZTJZ10=1,L*0.95,'[一买]'),COLORFF00FF;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.05,'[二卖]'),LINETHICK2,COLORFFFF00;DRAWTEXT(EN2 AND PL20>REF(PL20,1) AND ZTJZ10=2,L*0.95,'[二买]'),LINETHICK2,COLORFFFF00;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) AND EX2,H*1.04,'[一卖]'),LINETHICK3,COLOR00FF00;MA5:MA(CLOSE,5),COLORWHITE,LINETHICK1;MA10:MA(CLOSE,10),COLORLIMAGENTA,LINETHICK1;。

相关文档
最新文档