飞狐选股方法
[飞狐] 缠论一买、三买选股公式(飞狐+悟多公式)+仿悟多三买公式
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;
zd:="chzhshch@zd"(var3);
var1:="="chzhshch@bi";
var4:=barslast(var001<>0);
tj1:=ref(var001,var2)=-1; //上级别是底
var5:=sum(abs(var2),var2);
if datatype=4 then var001:="fbase.var2#day";
var1:="chzhshch@kxian";
var2:="chzhshch@bi";{处理笔关系}
var3:="chzhshch@tongji"(minbi);{同级别分解}
zg:="chzhshch@zg"(var3);//一定要先调用ZG
tj6:=count(var2=1,zswz-1)=0;
zgg:=ref(zg,zswz);
tj7:=o>c&&count(if(o>c,1,0),barslast(var2=-1)-1)=1&&ref(h,1)>zgg&&l>zgg;
tj8:=o>c&&count(if(o>c,1,0),min(barslast(var2=-1)-1,barslast(l>zgg)))=1&&ref(h,1)>zgg&&l>zgg;
飞狐使用指南
飞狐使用指南三、数据接收系统打开接收系统。
点击菜单栏上的[管理]>[启动接收系统]或点击工具栏上的按钮。
接收系统打开后,会在屏幕左下角的系统托盘里会显示图标。
设置/查看服务器信息。
打开接收系统后,点击菜单栏上的[管理]>[接收系统]或双击系统托盘里的图标,则可以弹出网络引擎进行设置或查看服务器信息或下载数据。
修改服务器设置右键点击要修改或查看的服务器,点击[修改]或选中要修改的服务器,点击按钮,弹出修改服务器资料对话框.在[服务器信息]选项卡中,填写或修改对应的项目.然后打开[连接设置]选项卡,设置[启动类型]。
将常用的且比较稳定的一个服务器设为自动,则在每次打开接收系后,系统会自动登录该服务。
如果是使用代理服务器上网的,则要在[使用代理服务器]前打钩,并作好相应代理服务器设置,具体参数请咨询你的网络管理员,修改完相应的设置项目后按[确定]保存.增加服务器点击按钮,或用鼠标右键任意点击任意一服务器,再点击[新增].具体设置过程同修改服务器设置相似删除服务器删除不再使用或已经撤销的服务器。
右键点击要删除的服务器,然后再点击删除.或选中要删除的服务器,再点删除按钮.3.连接服务器右键点击要连接的服务器,点击[启动]或选中要连接的服务器.联接成功后,则会在对应状态栏里显示[已经登录],如长时间显示“正在联接……”则可能服务器地址无效或网络不通。
若服务器登录设置为自动,则在打开接收系统后,会自动登录该服务器。
4.行情接收可以选择需要接收的数据,补分笔成交数据、F10资料等。
登录上服务器后,可以根自己需要接收具体的市场或品种,默认为全部接收。
[更新报价]在盘中打开软件时,点击此按钮更新行情列表中的报价[补分笔成交]盘中或盘后打开软件后,补当天的分笔成交数据[补F10资料]从服务器中下载全部F10资料,下载完后可以在离线时查看F10资料。
5.盘后数据如需要补数据,在登录上服务器后,打开[盘后数据]选项卡,在要下载的数据种类前打钩,再[点击下载]安装.根据选择数种类、数量及网络情况,下载过程需要几分钟到几个小时。
【炒股必备】飞狐公式使用方法
飞狐公式使用方法
源码导入方法
1、把要导入的公式(源码)复制下来:方法是用左键先把源码变蓝,之后点右键,点复制;
2、进入主界面,即K线图模式,用鼠标靠近左侧单击,出现管理面板-->双击技术指标-->用鼠标右键单击任何一个公式组的名称,比如“其它”-->点新建公式-->在出现的公式编辑区的下面的空白处,把刚拷的源码粘贴上,将公式名称复制后粘贴到公式名称栏-->确定-->退出;
3.如有参数的,如:N 1 100 15 之类,则需将这类数据填充到参数表中;
4.公式源码以外的内容,如:名称,说明以及参数等等,凡在{}以外的,均要删除,或者用{}将其括上;
5、找到新建的公式,双击即可使用。
注意:
1、飞狐的公式既可做副图,也可同时做为选股公式;
2、作为条件选股时最常用的设置方法为:指标线“**”=1或者“**”>0或者“**”<0;
3、条件选股时分析周期可选1\5\15\30\60分钟线、日线、周线、月线和年线等;。
飞狐MACD与KDJ综合指标公式
飞狐MACD与KDJ综合指标公式DIFZ:=EMA(C,12)-EMA(C,26);DEAZ:=EMA(DIFZ,9);MACDZ:=8*(DIFZ-DEAZ);RSV:=((CLOSE-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21)))*247.2-123.6;SQX:=(C-MA(CLOSE,13))*10;DIF:=EMA(MA(SQX,7),1);DEA:=EMA(DIF,7);MACD:=(DIF-DEA)*2;STICKLINE(MACD>0 AND MACD>REF(MACD,1),MACD,0,0.1,0),COLORRED;STICKLINE(MACD>0 AND MACD<REF(MACD,1),MACD,0,0.1,0),COLORWHITE;STICKLINE(MACD<0 AND MACD<REF(MACD,1),MACD,0,0.1,0),COLORBLUE;STICKLINE(MACD<0 AND MACD>REF(MACD,1),MACD,0,0.1,0),COLORBROWN;K:SMA(SMA( RSV,3,1),3,1),COLORWHITE;D:MA(EMA(K,3),3),COLORYELLOW;J:3*K-2*D,COLORMAGENTA;A11:=BARSLAST(REF(CROSS(DIF,DEA),1));B1:=REF(C,A11+1)>C AND REF(DIF,A11+1)<DIF AND CROSS(DIF,DEA);A12:=BARSLAST(REF(CROSS("KDJ.K","KDJ.D"),1));B2:=REF(C,A12+1)>C AND REF("KDJ.K",A12+1)<"KDJ.K" AND CROSS("KDJ.K","KDJ.D");A13:=BARSLAST(REF(CROSS("RSI.RSI1","RSI.RSI2"),1));B3:=REF(C,A13+1)>C ANDREF("RSI.RSI1",A13+1)<"RSI.RSI1"ANDCROSS("RSI.RSI1","RSI.RSI2");C1:=BARSLAST(REF(CROSS(DEA,DIF),1));D1:=REF(C,C1+1)<C AND REF(DIF,C1+1)>DIF AND CROSS(DEA,DIF);C2:=BARSLAST(REF(CROSS("KDJ.D","KDJ.K"),1));D2:=REF(C,C2+1)<C AND REF("KDJ.K",C2+1)>"KDJ.K" AND CROSS("KDJ.D","KDJ.K");C3:=BARSLAST(REF(CROSS("RSI.RSI2","RSI.RSI1"),1));D3:=REF(C,C3+1)<C AND REF("RSI.RSI1",C3+1)>"RSI.RSI1" AND CROSS("RSI.RSI2","RSI.RSI1");MACD底背:IF(B1>0,50,0),LINETHICK2,COLORRED;DRAWTEXT(B1>0,50,'M底背'),COLORRED;KDJ底背:IF(B2>0,65,0),LINETHICK2,COLORFF00FF;DRAWTEXT(B2>0,65,'K底背'),COLORFF00FF;RSI底背:IF(B3>0,80,0),LINETHICK2,COLORYELLOW;DRAWTEXT(B3>0,80,'R底背'),COLORYELLOW;MACD顶背:IF(D1>0,-50,0),LINETHICK2,COLOR00FF00;DRAWTEXT(D1>0,-50,'M顶背'),COLOR00FF00;KDJ顶背:IF(D2>0,-65,0),LINETHICK2,COLORFFCC66;DRAWTEXT(D2>0,-65,'K顶背'),COLORFFCC66;RSI顶背:IF(D3>0,-80,0),LINETHICK2,COLORWHITE;DRAWTEXT(D3>0,-80,'R顶背'),COLORWHITE;DRAWICON((CROSS(K,D)AND K<0 ),REF(K,1),11);DRAWICON((CROSS(D,K) AND K>0),D*1.05,12);DRAWICON(J<(REF(J,1))AND K>(REF(K,1)) AND D>(REF(D,1) AND J>0),REF(J,1),2);DRAWICON(J>REF(J,1) AND K<REF(K,1) ANDD<REF(D,1) AND J<0,REF(J,1),1);DRAWICON(MACD<REF(MACD,1) ANDREF(MACD,1)>REF(MACD,2) ANDMACD>0,MACD,2);DRAWICON(MACD>REF(MACD,1) ANDREF(MACD,1)<REF(MACD,2) AND MACD<=0,MACD,1);多方趋势:((7)*(SMA(((CLOSE-LLV (LOW,27))/(HHV(HIGH,27)-LLV(LOW,27)))*(30),4,1))-(3)*(SMA(SMA(((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27)))*(30),4,1),3,1))-SMA(SMA(SMA(((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27)))*(30),4,1),3,1),2,1)),COLOR0000FF;空方趋势:(EMA(MA(多方趋势,5),7)),COLORF0F000;STICKLINE((多方趋势>78) AND (多方趋势>=空方趋势),78,多方趋势,5,1),COLOR00FF00;STICKLINE((空方趋势<=多方趋势),空方趋势,多方趋势,3,0),COLOR0000FF;STICKLINE((空方趋势>多方趋势),多方趋势,空方趋势,3,0),COLORF0F000;STICKLINE((空方趋势<14) AND (空方趋势>多方趋势),多方趋势,20,3,0),COLOR00FFFF;TJ:=FILTER((空方趋势<14) AND (空方趋势>多方趋势),6);DRAWTEXT(TJ,40,'低吸'),COLORFFFFFF;斋主:(空方趋势<12) AND (空方趋势<=多方趋势),COLOR00FFFF;选金股:CROSS(多方趋势,空方趋势) AND (空方趋势<22);{E:=CROSS(83,RSI);STICKLINE( E,75,85,4,0),COLOR00FF00;DRAWTEXT(E,72,' 逃顶');}LC:=REF(CLOSE,1);RSI5:=((SMA(MAX((CLOSE - LC),0),5,1) / SMA(ABS((CLOSE - LC)),5,1)) * 100);TR1:=SUM(MAX(MAX((HIGH - LOW),ABS((HIGH - REF(CLOSE,1)))),ABS((LOW - REF(CLOSE,1)))),10);HD:=(HIGH - REF(HIGH,1));LD:=(REF(LOW,1) - LOW);DMP:=SUM(IF(((HD > 0) AND (HD > LD)),HD,0),10);DMM:=SUM(IF(((LD > 0) AND (LD > HD)),LD,0),10);PDI:=((DMP * 100) / TR1);MDI:=((DMM * 100) / TR1);ADX:=MA(((ABS((MDI - PDI)) / (MDI + PDI)) * 100),5);AV:=(RSI5 + ADX);DXR:=(((ADX + REF(ADX,5)) / 2) + RSI5);WR10:=((100 * (HHV(HIGH,10) - CLOSE)) / (HHV(HIGH,10) - LLV(LOW,10)));NEWVOL:=(RSI5 - WR10);最佳买入:=(AV + NEWVOL);最佳买入选股:IF(CROSS(最佳买入,0),61,0),STICK,COLORRED,LINETHICK4;DRAWTEXT(CROSS(最佳买入,0),62,'最佳买入'),COLOR00FFFF;AA:=(MA(C,1)+MA(C,3)+MA(C,5)+MA(C,7)+MA(C,9))/5;BB:=(MA(C,2)+MA(C,4)+MA(C,6)+MA(C,8)+MA(C,10))/5;CC:=EMA(AA,2);DD:=EMA(BB,5);TJ0:=CROSS(CC,DD);上:=EMA(C,3);中:=EMA(C,5);下:=EMA(中,5);TJ1:=CROSS(上,中);TJ2:=上>REF(上,1);X1:=(C+L+H)/3;BB5:=ATAN(EMA(X1,5)-REF(EMA(X1,5),1))*3.1416*10;EMA3:=EMA(C,3);TJ3:=BB5>1 AND EMA(X1,5)>REF(EMA(X1,3),1);STICKLINE(TJ1 AND TJ2 AND TJ0 AND TJ3,0,20,4,0)COLOR009999;STICKLINE(TJ1 AND TJ2 AND TJ0 AND TJ3,0,35,3,0)COLOR00BBBB;STICKLINE(TJ1 AND TJ2 AND TJ0 AND TJ3,0,45,1.5,0)COLOR00DDDD;STICKLINE(TJ1 AND TJ2 AND TJ0 AND TJ3,0,50,0.6,0)COLOR00FFFF;DRAWTEXT(TJ1 AND TJ2 AND TJ0 AND TJ3,48,'斋主全仓'),COLORRED;{斋主全仓:IF(CROSS('斋主全仓',0),0.9,0),STICK,COLORRED;}DRAWTEXT(CROSS(多方趋势,空方趋势) AND (空方趋势<22),30,'金股'),COLOR00FFFF;中间线:50,COLORFFFFFF,POINTDOT;VAR11:=(CLOSE+HIGH+LOW)/3;VAR2A1:=EMA(VAR11,10);VAR3A:=REF(VAR2A1,1);绿珠逃:IF(VAR2A1,0.1,0),COLORGREEN,LINETHICK9;红珠买: IF(VAR2A1>VAR3A,0.1,0),COLORRED,LINETHICK9;黄珠卖: IF(VAR2A1<VAR3A,0.1,0),COLOR00FFFF,LINETHICK9;。
【图】精品公式(飞狐指标)
【图】精品公式(飞狐指标)1.南客{南客大师}{新三价线--很不错的趋势指标(钱龙的TBL指标)}一、基本概念TBL指标(Three Break Line),中文名为新三价线指标,属于图表型指标,其原理是若三根K线持续上涨(或下跌)创短期新高(或新低),则发出红色(或黑色)的柱状买入(或卖出)信号。
与平时常用指标不同的是,该指标在平时盘整时并不轻易出现信号,是一类在大盘出现明显单边趋势时提议追涨杀跌的指标。
它能有效地去除行情中无关紧要的盘整和波段上升中的震荡回调干扰,更适合于做较大波段、做大趋势的中长期投资中比较重势的那种投资者。
二、应用法则1、新三价线由黑色变为红色时,视为买入信号。
2、新三价线由红色变为黑色时,视为卖出信号。
注意:新三价线如果持续上涨,则会由原新三价线向上延伸,下跌亦然。
因此,新三价线不会与K线在时间横轴上相对称。
三、实例说明如次新股(600379)宝光股份的新三价线指标。
其上市第三天股价小创新低,指标在9.87元处有一支小绿柱,投资者暂不买入,而第五个交易日股价在三天内见新高10.28元,三价线即翻红,中线投资者可介入,此后该股震荡上行,虽走势反复较多,但始终没有出现三天内见新低的K线组合。
故新三价线或红柱延长、或再出现红柱,提示投资者可一直持股至最高点。
3月29日该股大幅回跌至14.33元,出现头部信号,指标提示投资者卖出。
此后,该股反弹不断,但新三价线始终保持绿盘,提示下降通道,直至该股回跌到10.42元低点,一直提示投资者不要买入。
6月6日该股重新出现中阳,新三价线终于再次于11.02元处提示买入。
总体看,该股上市半年多,股价上下变化复杂,现在股价较上市时也没有明显上升,按别的操作方法可能不会有明显的收益。
但按新三价线做波段者买2次卖1次,就有50%的获利,可谓操作简单但收益不低。
由于新三价线是一个重势不重价、提示追涨杀跌做波段的指标,不可避免地具有明显的滞后性,对一段行情势必是弃两头、取中间。
缠论一买、三买选股公式(飞狐+悟多公式)
缠论一买、三买选股公式(飞狐+悟多公式)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 = ("datanumber")vbdatanumber1 = ("datanumber1")vbdatanumber2 = ("datanumber2")vbdata=1vbdata1=vbdata2=1Select Case vbdatanumberCase 0vbdata=vbdata1=vbdata2=Case 1vbdata=vbdata1=vbdata2=Case 2vbdata=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=2vbdata2=2End Select ("datanumber") =vbdata ("datanumber1") =vbdata1 ("datanumber2") =vbdata2 vbling = ("ling")vbma = ("ma1")vbma2 = ("ma2")vbma3 = ("ma3")nlast = UBound( vbma ) nvalue =nvaluefu =bianhua = 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) then bianhua = 1nvalue = nvalue + vbma(i) elsebianhua = 2nvaluefu = nvaluefu + vbma(i) end ifif (oldbianhua = bianhua) then elsevbma3(i) = mm=0if (bianhua = 1) thenvbma2(i) = nvaluefu nvaluefu = 0'nvaluefu = 0elsevbma2(i) = nvaluenvalue = 0'nvalue = 0end ifend ifoldbianhua = bianhuanext("ma2") = vbma2("ma3") = vbma3("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=("weihe")vbping=("weiping")vbma = ("ma1")nlast = UBound( vbma )nvalue =nvaluefu =bianhua = 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) = nvaluefu("weihe") =vbhe("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=("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) = 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)) thenvbbaohan(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)) 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=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)t2=vbh1(m)end ifif (t1>t2) thenn=0bao=0lastfenxing1=lastfenxing lastfenxing=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=lastfenxing lastfenxing=melsevbfenxing(m)=0end ifend ifelseif (vbfenxing(m)=1) thenif (vbh(m)>vbh(lastfenxing)) then 'exit forvbfenxing(lastfenxing)=0n=0bao=0lastfenxing1=lastfenxing lastfenxing=melsevbfenxing(m)=0end ifif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(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)) 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'以下处理一个顶要大于相邻的两个底及一个底要小于相邻的两个顶的问题'取第一个分型位置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=m'不满足条件底<顶两个全置为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 + 1Loopa=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; 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=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 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) 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 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) = 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) Then xianfang = -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)=0vbxiand(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)=0vbxiand(lastfenxing)=0m=m+1do while (vbxian(m)=0)if (m>nlast) thenExit Doend iflooplastfenxing=mend ifend ifend ifnext'计算线段的高点和低点i=0do while (vbxian(i)=0)i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=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) 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)end ifend ifnextend if'(1)i=nlastdo while (vbxian(i)=0)if (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 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=0for m = 0 to nlastif (vbxian(m)<>0) theni=i+1vbfennumxian(m)=iend ifnext'vbfennumxian(nlast)=0x1=0x2=0x3=0x4=0x5=0x6=0x7=0bi=0maxbi=0。
用飞狐打造形态模板选股新方法(转摘)
用飞狐打造形态模板选股新方法(转摘)用飞狐打造形态模板选股新方法(转摘)转载自 /aiq威歌/aiq 转载于2010年05月31日 19:45 阅读(2) 评论(0) 分类:股苑杂坛举报用〈飞狐交易师〉条件选股功能,实现形态模选股板。
〈飞狐交易师〉不是有形态模选股板吗,你这不是在画蛇添足?NO!我在这里要说的是在条件选股功能内,实现形态模选股板。
没听说!那你用这种方法那有什么优点。
有!能做到技术指标和K线型态的完美结合。
为专业技术分析上打开了方便之门。
其实〈飞狐交易师〉的功能在不断完善,有时候我们都来不急掌握。
飞狐已经为用户提供了〈形态模版〉相似系数的函数。
大家仔细研究一下CORRTPL(TPLNAME,X,D,N)这个函数吧。
有这个基础,其他指标形态分析指日可待。
分析家做的确实要傻瓜一点,不用写公式,对于专业技术分析人士,他们需要更强大、更灵活,需要把形态分析写入自己的公式。
所以,从专业角度上讲飞狐的形态分析在专业技术分析上已经超过分析家。
用〈飞狐交易师〉条件选股功能,实现形态模选股板,首先要了解CORRTPL(TPLNAME,X,D,N)这个函数:函数:CORRTPL(TPLNAME,X,D,N) 与模板相似系数。
可以是每只股票(或者是版块)与模板(如形态模板)相似程度。
用法:CORRTPL(TPLNAME,X,D,N)D为常数,表示0:开盘价,1:最高价,2:最低价,3:收盘价,4:成交量,5:成交额N表示仅计算最后多少个有效数据,为0表示计算所有。
用于当前选股时N设为1可大大减小计算量,用于历史测试和训练模式应设为0避免有效数据过少而失真例如:CORRTPL('一马平川',CLOSE,3,1)表示求收盘价线与一马平川收盘价线的最后一组的相关系数。
我们可以通过CORRTPL(TPLNAME,X,D,N)这个函数,把你建立的形态模板放在条件选股内,选出相似度CORRTPL(TPLNAME,X,D,N)>0.9股票。
缠论一买、三买选股公式(飞狐+悟多公式)
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 记数器。
飞狐均线角度选股公式源码编程思路破译
飞狐均线角度选股公式源码编程思路破译编程思路破译:MA3赋值:收盘价的3日简单移动平均MA5赋值:收盘价的5日简单移动平均MA10赋值:收盘价的10日简单移动平均MA20赋值:收盘价的20日简单移动平均V0赋值:收盘价的3日简单移动平均>1日前的收盘价的3日简单移动平均 AND 收盘价的5日简单移动平均>1日前的收盘价的5日简单移动平均 AND 收盘价>收盘价的3日简单移动平均AND 收盘价的3日简单移动平均>收盘价的5日简单移动平均角度MA3赋值:(MA3/1日前的MA3-1)*100的反正切*180/3.1416角度MA5赋值:(MA5/1日前的MA5-1)*100的反正切*180/3.1416角度MA10赋值:(MA10/1日前的MA10-1)*100的反正切*180/3.1416角度MA20赋值:(MA20/1日前的MA20-1)*100的反正切*180/3.1416输出选股MA20:如果角度MA3>45AND角度MA5>45AND角度MA10>60AND角度MA20>45ANDMA(收盘价,250)>1日前的收盘价的250日简单移动平均,返回1,否则返回0程序源码:MA3:=MA(C,3);MA5:=MA(C,5);MA10:=MA(C,10);MA20:=MA(C,20);V0:=MA(C,3)>REF(MA(C,3),1) AND MA(C,5)>REF(MA(C,5),1) AND C>MA(C,3)AND MA(C,3)>MA(C,5) ; {均线C,MA3,MA5多头排列并向上;}角度MA3:=ATAN((MA3/REF(MA3,1)-1)*100)*180/3.1416;角度MA5:=ATAN((MA5/REF(MA5,1)-1)*100)*180/3.1416;角度MA10:=ATAN((MA10/REF(MA10,1)-1)*100)*180/3.1416;角度MA20:=ATAN((MA20/REF(MA20,1)-1)*100)*180/3.1416;选股MA20:IF(角度MA3>45 AND 角度MA5>45 AND 角度MA10>60 AND 角度MA20>45 AND MA(C,250)>REF(MA(C,250),1),1,0);。
缠论一买、三买选股公式(飞狐+悟多公式)
缠论一买、三买选股公式(飞狐+悟多公式)公式指标 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)if (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= 0if (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;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)) thenvbbaohan(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'Exit Do'end if'loop'lastfenxing1=lastfenxing i=lastfenxing1if (vbfenxing(m)=1) then if (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=lastfenxing lastfenxing=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)) then n=0bao=0lastfenxing1=lastfenxing lastfenxing=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=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)) 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'以下处理一个顶要大于相邻的两个底及一个底要小于相邻的两个顶的问题'取第一个分型位置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" ) )THEN ELSEFOR 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 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) 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 ifi = i + 1Loopx6 = iif ( x6 > nlast) then'msgbox( " {}当前的x6:" & cstr(x6) & "当前的nlast:" & cstr(nlast) )end 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)x3 = 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。
涨停后10天内不破收盘价的飞狐公式
涨停后10天内不破收盘价的飞狐公式
(实用版)
目录
一、涨停后的股票走势
二、飞狐公式的定义和作用
三、涨停后 10 天内不破收盘价的飞狐公式原理
四、飞狐公式的实际应用
正文
一、涨停后的股票走势
在股市中,涨停板是指股票价格在一天内涨幅达到上限,无法继续上涨的现象。
当一只股票涨停后,其走势通常会受到市场关注。
涨停后的股票在接下来的几个交易日内,往往还会出现一定的涨幅。
然而,这种涨幅并非绝对,也有可能出现股价下跌的情况。
二、飞狐公式的定义和作用
飞狐公式是指一种用于股票分析的技术指标,其主要作用是根据历史价格数据预测未来股票走势。
飞狐公式通过计算股票价格和成交量等数据,分析市场趋势,为投资者提供参考依据。
三、涨停后 10 天内不破收盘价的飞狐公式原理
涨停后 10 天内不破收盘价的飞狐公式,主要是通过分析股票涨停后的走势,预测未来股票价格是否会在 10 天内跌破涨停时的收盘价。
该公式的原理是基于股票涨停后的惯性原理,即股票在涨停后,由于市场情绪和资金因素,往往会保持一定的上涨惯性。
四、飞狐公式的实际应用
在实际应用中,投资者可以通过飞狐公式来判断股票涨停后的走势,
从而制定相应的投资策略。
例如,如果飞狐公式预测股票涨停后 10 天内不会跌破收盘价,投资者可以考虑在涨停后买入股票,并在 10 天后卖出,以获取短期收益。
反之,如果飞狐公式预测股票涨停后 10 天内会跌破收盘价,投资者可以避免在涨停后买入股票,以避免损失。
飞狐交易师精彩图文教程
飞狐交易师精彩图文教程飞狐交易师是互联网时代的专业级证券投资决策系统。
它运行于Win98/ME/NT/2000/XP/2003,支持多品种多市场(期货、外汇、三版)。
自从它面世以来,因为功能强大,操作简便;态度诚恳,进步迅速而受到众多投资人士的支持和喜爱。
∙通过互联网接收实时行情,支持多种代理网关;∙通过互联网补充分笔成交数据、各种不同券商的F10资料、公告信息等;∙自动批量下载安装行情、财务、除权等各类数据;∙系统智能在线升级;∙支持多市场国际化版本;∙支持多种通视兼容接口的图文卡;∙自动收盘、关闭接收系统、自动关机;∙整理、导入、导出日线、5分钟、1分钟数据、财务、除权数据、代码表;∙导入、导出的行情数据支持国际文本格式,导出的文本格式可供Advanced Get等软件调用;∙多数据源支持,可直接读取分析家、钱龙等十多种分析系统的日线数据;∙灵活设置F10资料路径,同系统支持多种格式F10资料;∙根据自定义模班版自动提取多种格式F10资料中的财务数据;∙历史回忆长周期中的短周期走势,月、周、多日K线中的日线走势;∙历史回忆/同步历史回忆、历史多日分时图;∙分笔成交、盘口回忆、分析;∙历史买卖盘口推算,提供多达八个的买卖盘口数据;∙分时图上的个股量比指标、大盘涨跌率、买卖力道副图;∙开放式分析公式创作平台,技术指标、条件选股、交易系统、五彩K线、组合条件;∙十九大类二百多种基本函数可供调用;∙公式中嵌入VBS、JS脚本的功能,实现循环语句、条件语句、数组操作、函数、过程等高级语言的语法和语句,使其具有强大的计算能力、扩展能力、生命力;∙分析公式支持外挂DLL的用户扩展指标函数;∙引用任意股票数据、引用任意时间数据、跨周期公式引用;∙输出指标无数量限制,DLL接口参数可为无限数量的多序列、常数;∙设定指标线颜色、线型、未来偏移量、对齐方式、是否显示等;∙开放式易学分析,提供涉及干支、五行、五行关系、卦象的多种易学函数;∙内置数百种各类指标公式,包括所有经典技术指标;∙分析公式导入、导出,公式资源丰富;∙公式文件浏览器,方便查看文件中的公式及进行转换、导入等操作;∙指标系统选股、组合条件选股、F10资料选股;∙叠加有大盘走势图的选股测试成功率分布图;∙自动板块可根据设定的选股条件自动更新板块中所含证券;∙交易系统、条件选股测试、优化、检验、评价平台;∙根据历史交易情况及多种评价方式进行指标参数优化;∙公式未来数据检测;∙指标、实时行情查看、万能排序;∙任意历史阶段行情统计查看,万能排序;∙可定制指标、涨跌序、任意板块的九图同列多指标综合排行榜(81-86综合排名);∙灵活的二级板块管理,已内置八大类近200种证券板块;∙自定义板块指数,可按总股本、流通股本、相等权重、自定义权重、流通市值、平均价格计算,可定义初始指数基数;∙板块指数财务数据;∙灵活进行并集、交集、差集的板块运算,生成新的板块;∙所属板块、板块联动,可及时发现强势板块等值得关注的板块;∙同表指标排序可多达8列,方便进行多重排序;∙K线图上的信息地雷、用户备忘录,可任意增加、删除、修改;∙阳历半年线、季度线,阴历年线、半年线、季节线、月线、节气线、节气月线等多日线周期;∙分笔成交到年线十种系统分析周期,并可自定义2-1000天分析周期;∙股价、成交量自动复权处理,可向前向后复权,避免指标失真;∙对数、百分比、黄金分割、10%等比、等分等多种形式的数值坐标;∙时空隧道回观历史,训练分析能力或检验指标公式是否引用未来数据;∙模拟K线远望未来,可任意增添、修改;∙交易日、自然日、阳历、阴历时间坐标;∙实时图10%坐标/自适应坐标切换;∙实时图上的量比指标、买卖力道、大盘涨跌率、叠加比较等;∙K线、鬼变脸、等量图等多种主图,逆时钟量价图等特殊主图;∙成交堆积(CNP)、线性成交堆积(LCNP)等特殊量指标分析;∙可进行多主图、多指标信号叠加的图形分析;∙快速调整指标参数,调整同时指标线动态变化;∙传统、远期、近期等多种形式移动成本分布图分析,具备成本分析基本函数;∙阶段涨跌幅、换手率、红盘、绿盘等多种指标的区间统计;∙阴历、节气、月相相关周期分析;∙趋势线、周期线、江恩箱、回归线、费氏圆、音叉线等三十余种画线工具;∙精确定位画线定位点不偏移,画线定位点可为K线未来位置;∙多股票、多周期、可定制指标线的多图同列;∙多窗口同步显示某只证券的多周期图形、行情排名、F10资料等;∙开放式电脑解盘(股评)系统,可对历史上任何一天进行解盘;∙可灵活定制的盘中实时预警系统,远程手机短信报警;∙预警过滤、有效性分析;∙完善的投资帐户、资金、交易管理、分析;∙投资指数、净值指数;∙功能强大的投资计算器,可直接输入算式;∙基于飞狐浏览器FoxIE的资讯系统;∙用户个股备忘录、投资计划书;∙数据、图形拷贝、输出到其它Excel等应用软件进一步分析、处理;∙图形可直接输出成GIF格式,方便操作,节约时间;∙智能化自动识别增加股票、板块、指标、操作的键盘精灵;∙多任务操作、多线程计算,在耗时的计算同时可进行其它操作;∙画面无级缩放/平移;∙公式、画线、预警文件自动备份;∙彩色打印图形、报价表、财务报表;∙可定制的系统框架、行情报价表、分析图形、窗口布局,可保存、恢复;∙所有公式、板块管理可在管理面板公式树、板块树上进行,非常方便;∙操控方便精巧,如几十种右键快捷菜单、支持多种功能鼠标点取、拖放、滚轮等;∙可对任意股票的指定时段进行形态的对比分析;∙可通过系统内置函数进行横向统计及使用扩展数据;∙江恩插件包括四方形、轮中轮、六角形、数字表、四分图;用飞狐软件的【点石成金】找到所有股票的内在成本分布(基于飞狐5.0版本)用飞狐软件的【点石成金】找到所有股票的内在成本分布(基于飞狐5.0版本)在股票实际的操作过程中,我们时常因为错过主力拉升的利润而追悔。
飞狐交易师软件股票公式编辑详解(优.选)
特别提示:编辑指标必须在英文状态下输入。其中运用的数学符号,包括加减乘除、分号,引号等(+ - * / ; "" ''>
第三讲:认识颜色符号或绘图函数
我们所看到的指标是以线为基础的。不论是均线,K 线,或在线与点之间的填充,又都离不开颜色。正是有了五
例如:FILLRGN(MA1>MA2, MA1,MA2),colorred 表示 MA1>MA2 时以红色填充 MA1 和 MA2 之间的区域。
大智慧 2 用法:FILLRGN(线 1,线 2,条件 1,颜色 1,条件 2,颜色 2...),填充条件 1 到条件 2 之间1,当条件 2 满足时,用颜色 2,否则不填充,最多可以有 10 组条件。
整。
2、DRAWTEXT 在图形上显示文字。这也是最常用的绘图函数之一。
用法 smi52liesRAWTEXT(条件,位置,文字),注意,文字必须用单引号''引上才能输出。
飞狐可用'\n'换行, 飞狐和大智慧 2 可用 ALIGN 0-3 定义对齐方式。
3、STICKLINE 在图形上绘制柱线。
用法:STICKLINE(条件,上位置,下位置,宽度,实体或空心)。
COLORCYAN
淡蓝色,大智慧不识别,需改成:COLORFF0000
COLORMAGENTA 晶红色,大智慧不识别,需改成:COLORF00FF0
特别提示:找不到相对应的颜色函数怎么办?一是删除,让系统自动填加。二是更换数字或字母。
实际上只要在 COLOR 后面加上 0-9、A-F 中的任意 6 个数字字母,就可组成不同的颜色。有兴趣的可试试。
飞狐主图、副图和选股公式
飞狐主图、副图和选股公式主图均线:KEY:=DATE<=1900731;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);ZHE:=EMA(EMA(EMA(EMA(ZHC,2),2),5),5);C1:=SMA(EMA(ZHE,1),2,1);C3:=SMA(EMA(ZHE,3),2,1);C6:=SMA(EMA(ZHE,6),2,1);C7:=SMA(EMA(ZHE,7),2,1);IF NOT(STKTYPE=6 OR STKTYPE=7 AND STKTYPE=8) THEN BEGINSTICKLINE(C1>=C6,C1,C6,8,1),colorFF00FF;STICKLINE(C1>=C6,C7,C3,8,0),colorFF00FF;STICKLINE(C1<=C6,C1,C6,8,1),colorFF00;STICKLINE(C1<=C6,C7,C3,8,0),colorFF00;中线:=MA(ZHE,N),LINEDOT,colorBROWN;阻力:=中线+P*STD(ZHE,N),LINEDOT,color808080;支撑:=中线-P*STD(ZHE,N),LINEDOT,color808080;成本价:"AMOUNT#day"/"VOL#day"/100*KEY,LINETHICK0,PRECISION 2,COLORGREEN;分水岭:EMA(EMA(EMA(EMA((MA(ZHC,3)+MA(ZHC,6)+MA(ZHC,12)+ MA(ZHC,24))/4,2),2),5),5),colorFFFF00;//趋势线:ZHE,LINETHICK2,PRECISION2,colorFFFF00;趋势线:ZHE,LINETHICK2,PRECISION2,colorFFFF00;生命线:EMA(EMA(EMA(EMA(MA(ZHC,60),2),2),5),5),colorFF;主力:EMA(EMA(EMA(EMA(MA(ZHC,103),2),2),5),5),colorFF00FF;年线:EMA(EMA(EMA(EMA(MA(ZHC,453),2),2),5),5),colorFFFF;获利盘:=WINNER(成本价)*100;集中度:=(COST(95)-COST(5))/(COST(95)+COST(5))*100*KEY;DRAWTEXTEX(KEY,1,18,0,'当前获利盘比例:'+NUMTOSTR(获利盘,1)+'%筹码集中度:'+NUMTOSTR(集中度,1)+'%'),colorFF00FF;IF DATATYPE=1 OR DATATYPE=2 OR DATATYPE=3 OR DATATYPE=4 OR DATATYPE=5 THENVERTLINE(TIME=150000),POINTDOT,color80;ELSEIF DATATYPE=11 THENVERTLINE(TIME=140000),POINTDOT,color80;PARTLINE(KEY,分水岭),LINETHICK2,colorFFFF00;PARTLINE(KEY,生命线),LINETHICK2,colorFF;PARTLINE(KEY,主力),LINETHICK2,colorFF00FF;PARTLINE(KEY,年线),LINETHICK3,colorFFFF;BC:=ZHC>分水岭 AND ZHC>中线;SC:=ZHC<分水岭 AND ZHC<中线;STICKLINE(BC,LOW,HIGH,0.1,1),colorFFFF;STICKLINE(BC AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFFFF;STICKLINE(BC AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF;STICKLINE(SC,LOW,HIGH,0.1,1),colorFF00;STICKLINE(SC AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFF00;STICKLINE(SC AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorFF00;END;ELSE BEGINEND;主图均线:KEY:=DATE<=1900731;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);ZHE:=EMA(EMA(EMA(EMA(ZHC,2),2),5),5);FSL:=EMA(EMA(EMA(EMA((MA(ZHC,3)+MA(ZHC,6)+MA(ZH C,12)+MA(ZHC,24))/4,2),2),5),5);MAINX:=EMA(EMA(EMA(EMA(MA(ZHC,60),2),2),5),5);FSLMAINX:=EMA(FSL-MAINX,3);涨停板:=IF(KEY,CLOSE/REF(CLOSE,1)>1.097,0);跌停板:=IF(KEY,REF(CLOSE,1)/CLOSE>1.097,0);涨停板ST:=IF(KEY,CLOSE/REF(CLOSE,1)>1.049,0);跌停板ST:=IF(KEY,REF(CLOSE,1)/CLOSE>1.049,0);ST0:=STRNCMP(STKNAME,'S',1)=0;ST1:=STRNCMP(STKNAME,'ST',2)=0;ST2:=STRNCMP(STKNAME,'*ST',3)=0;ST3:=STRNCMP(STKNAME,'SST',3)=0;ST4:=STRNCMP(STKNAME,'S*ST',4)=0;C1:=SMA(EMA(ZHE,1),2,1);C3:=SMA(EMA(ZHE,3),2,1);C6:=SMA(EMA(ZHE,6),2,1);C7:=SMA(EMA(ZHE,7),2,1);IF NOT(STKTYPE=6 OR STKTYPE=7 AND STKTYPE=8) THEN BEGINSTICKLINE(C1>=C6,C1,C6,8,1),colorFF00FF;STICKLINE(C1>=C6,C7,C3,8,0),colorFF00FF;STICKLINE(C1<=C6,C1,C6,8,1),colorFF00;STICKLINE(C1<=C6,C7,C3,8,0),colorFF00;中线:MA(ZHE,N),colorBROWN;阻力:中线+P*STD(ZHE,N),color808080;支撑:中线-P*STD(ZHE,N),color808080;成本价:"AMOUNT#day"/"VOL#day"/100*KEY,LINETHICK0,PRECISION 2,COLORGREEN;获利盘:=WINNER(成本价)*100;集中度:=(COST(95)-COST(5))/(COST(95)+COST(5))*100*KEY;DRAWTEXTEX(KEY,1,18,0,'当前获利盘比例:'+NUMTOSTR(获利盘,1)+'%筹码集中度:'+NUMTOSTR(集中度,1)+'%'),colorFF00FF;趋势线:ZHE,LINETHICK2,PRECISION2,colorFFFF00;生命线:MAINX,LINETHICK2,PRECISION2,colorFF;分水岭:FSL,LINETHICK2,PRECISION2,colorFFFF;TA:=REF(趋势线,1)<趋势线;TB:=REF(趋势线,1)>趋势线;TD:=趋势线>生命线 AND FSLMAINX>0;TK:=趋势线<生命线 AND FSLMAINX<0;PARTLINE(TD AND TA,趋势线),LINETHICK2,colorFFFF;PARTLINE(TK AND TB,趋势线),LINETHICK2,colorFFFF00;IF DATATYPE=1 OR DATATYPE=2 OR DATATYPE=3 OR DATATYPE=4 OR DATATYPE=5 THENVERTLINE(TIME=150000),POINTDOT,color80;ELSEIF DATATYPE=11 THENVERTLINE(TIME=140000),POINTDOT,color80;PARTLINE(KEY,分水岭),LINETHICK2,colorFFFF;PARTLINE(KEY,生命线),LINETHICK2,colorFF;BC:=ZHC>分水岭 AND ZHC>中线;SC:=ZHC<分水岭 AND ZHC<中线;STICKLINE(BC,LOW,HIGH,0.1,1),colorFFFF;STICKLINE(BC AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFFFF;STICKLINE(BC ANDCLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF;STICKLINE(SC,LOW,HIGH,0.1,1),colorFF00;STICKLINE(SC AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFF00;STICKLINE(SC AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorFF00;END;ELSEEXIT;IF DATATYPE=6 THENIF ST0 OR ST1 OR ST2 OR ST3 OR ST4 THEN BEGINDRAWICON(涨停板ST,生命线,10);DRAWICON(跌停板ST,生命线,11);END;ELSE BEGINDRAWICON(涨停板,生命线,10);DRAWICON(跌停板,生命线,11);EXIT;END;副图Boll:(N:26 P:2)KEY:=DATE<=1900731;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);ZHE:=EMA(EMA(EMA(EMA(ZHC,2),2),5),5);C1:=SMA(EMA(ZHE,1),2,1);C3:=SMA(EMA(ZHE,3),2,1);C6:=SMA(EMA(ZHE,6),2,1);C7:=SMA(EMA(ZHE,7),2,1);IF NOT(STKTYPE=6 OR STKTYPE=7 AND STKTYPE=8) THEN BEGINSTICKLINE(C1>=C6,C1,C6,8,0),colorFF;STICKLINE(C1>=C6,C7,C3,0,0),colorFF;STICKLINE(C1<=C6,C1,C6,8,0),colorFF00;STICKLINE(C1<=C6,C7,C3,0,0),colorFF00;KMA:=MA(ZHC,5);PARTLINE(KEY,KMA),colorFFFF;MID:=MA(ZHE,N);PARTLINE(KEY,MID),colorFFFFFF;PARTLINE(KEY,MA(MID,55)),LINEDASH,colorFF00FF;UPPER:=MID+P*STD(ZHE,N);PARTLINE(KEY,UPPER),POINTDOT,color808080;LOWER:=MID-P*STD(ZHE,N);PARTLINE(KEY,LOWER),POINTDOT,color808080;IF DATATYPE=4 OR DATATYPE=5 THENVERTLINE(TIME=150000),POINTDOT,color3333;ELSE BEGIN END;END;ELSE副图筹码集中度:KEY:=DATE<=1900731;ZHM:="AMOUNT#day"/"VOL#day"/100*KEY;CM1:=SMA(EMA(ZHM,1),2,1);CM3:=SMA(EMA(ZHM,3),2,1);CM6:=SMA(EMA(ZHM,6),2,1);CM7:=SMA(EMA(ZHM,7),2,1);CMM:=(CM1+CM3+CM6+CM7)/4;IF NOT(STKTYPE=6 OR STKTYPE=7 AND STKTYPE=8) THEN BEGIN获利盘:WINNER(ZHM)*100,LINETHICK0,PRECISION1,colorFF;筹码集中度:(COST(95)-COST(5))/(COST(95)+COST(5))*100*KEY,LINETHICK0,PRECISION1,colorFFFF;STICKLINE(CM1>=CM6,CM1,CM6,8,0),colorFF;STICKLINE(CM1>=CM6,CM7,CM3,0,0),colorFF;STICKLINE(CM1<=CM6,CM1,CM6,8,0),colorFF00;STICKLINE(CM1<=CM6,CM7,CM3,0,0),colorFF00;CMX1:=SMA(EMA(COST(1),21),2,1);CMX2:=SMA(EMA(COST(10),21),2,1);CMX3:=SMA(EMA(COST(30),21),2,1);CMX4:=SMA(EMA(COST(50),21),2,1);CMX5:=SMA(EMA(COST(70),21),2,1);CMX6:=SMA(EMA(COST(90),21),2,1);CMX7:=SMA(EMA(COST(99),21),2,1);PARTLINE(KEY,CMX1),colorCC;PARTLINE(KEY,CMX2),color33CC;PARTLINE(KEY,CMX3),color66CC;PARTLINE(KEY,CMX4),color99CC;PARTLINE(KEY,CMX5),colorCCCC;PARTLINE(KEY,CMX6),colorFFCC;PARTLINE(KEY,CMX7),colorFF;END;ELSE BEGINEND;副图多空线:KEY:=DATE<=1900731;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);DMZ:=IF(HIGH+LOW<=REF(HIGH,1)+REF(LOW,1),0,MAX(AB S(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));DMF:=IF(HIGH+LOW>=REF(HIGH,1)+REF(LOW,1),0,MAX(AB S(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));ADMZ:=IF(KEY,MA(DMZ,10),0);ADMF:=IF(KEY,MA(DMF,10),0);STZ0:=IF(ADMZ>ADMF,(ADMZ-ADMF)/ADMZ,IF(ADMZ=ADMF,0,(ADMZ-ADMF)/ADMF));STZ:=(IF(ADMZ>ADMF,(ADMZ-ADMF)/ADMZ,IF(ADMZ=ADMF,0,(ADMZ-ADMF)/ADMF)))*(60);ASTZ:=SMA(STZ0,30,1)*60;IF NOT(STKTYPE=6 OR STKTYPE=7 AND STKTYPE=8) THEN BEGIN波动线:STZ,PRECISION0,colorFFFFFF;多空线:ASTZ,PRECISION0,colorFFFF;主力线:EMA(EMA(EMA(EMA(MA(ASTZ,60),2),2),5),5),PRECISION0,colo rFF00FF;PARTLINE(KEY,-30),LINETHICK2,colorFF00;PARTLINE(KEY,0),LINETHICK2,color80;PARTLINE(KEY,30),LINETHICK2,colorFF;END;ELSE BEGINEND;副图FT:KEY:=DATE<=1900731;STICKLINE(CLOSE>=OPEN,LOW,HIGH,0.1,1),colorFF;STICKLINE(CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFF;STICKLINE(CLOSE>=REF(CLOSE,1) AND CLOSE=OPEN,LOW,HIGH,0.1,1),colorFF;STICKLINE(CLOSE>=REF(CLOSE,1) AND CLOSE=OPEN,OPEN,CLOSE,8,1),colorFF;STICKLINE(CLOSE<OPEN,LOW,HIGH,0.1,0),colorFFFF00;STICKLINE(CLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF00;STICKLINE(CLOSE<REF(CLOSE,1) AND CLOSE=OPEN,LOW,HIGH,0.1,0),colorFFFF00;STICKLINE(CLOSE<REF(CLOSE,1) AND CLOSE=OPEN,OPEN,CLOSE,8,0),colorFFFF00;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);ZHQS:=EMA(EMA(EMA(EMA(ZHC,2),2),5),5);MAINX:=EMA(EMA(EMA(EMA(MA(ZHC,60),2),2),5),5);FSL:=EMA(EMA(EMA(EMA((MA(ZHC,3)+MA(ZHC,6)+MA(ZH C,12)+MA(ZHC,24))/4,2),2),5),5);IF NOT(STKTYPE=6 OR STKTYPE=7 AND STKTYPE=8) THEN BEGIN趋势线:ZHQS,LINETHICK2,PRECISION0,colorFFFF00;生命线:MAINX,LINETHICK2,PRECISION0,colorFF;分水岭:FSL,LINETHICK2,PRECISION0,colorFFFF;END;ELSE BEGINEND;主图均线:KEY:=DATE<=1900601;STICKLINE(CLOSE>=OPEN,LOW,HIGH,0.1,1),colorFF;STICKLINE(CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFF;STICKLINE(CLOSE>=REF(CLOSE,1) AND CLOSE=OPEN,LOW,HIGH,0.1,1),colorFF;STICKLINE(CLOSE>=REF(CLOSE,1) AND CLOSE=OPEN,OPEN,CLOSE,8,1),colorFF;STICKLINE(CLOSE<OPEN,LOW,HIGH,0.1,0),colorFFFF00;STICKLINE(CLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF00;STICKLINE(CLOSE<REF(CLOSE,1) AND CLOSE=OPEN,LOW,HIGH,0.1,0),colorFFFF00;STICKLINE(CLOSE<REF(CLOSE,1) ANDCLOSE=OPEN,OPEN,CLOSE,8,0),colorFFFF00;ST0:=STRNCMP(STKNAME,'S',1)=0;ST1:=STRNCMP(STKNAME,'ST',2)=0;ST2:=STRNCMP(STKNAME,'*ST',3)=0;ST3:=STRNCMP(STKNAME,'SST',3)=0;ST4:=STRNCMP(STKNAME,'S*ST',4)=0;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);涨停板:=IF(KEY,(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100>9.95,0);跌停板:=IF(KEY,(REF(CLOSE,1)-CLOSE)/REF(CLOSE,1)*100>9.95,0);涨停板ST:=IF(KEY,(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100>4.95,0);跌停板ST:=IF(KEY,(REF(CLOSE,1)-CLOSE)/REF(CLOSE,1)*100>4.95,0);ZHQS:=EMA(EMA(EMA(EMA(ZHC,2),2),5),5);FSL:=EMA(EMA(EMA(EMA((MA(ZHC,3)+MA(ZHC,6)+MA(ZH C,12)+MA(ZHC,24))/4,2),2),5),5);MAINX:=EMA(EMA(EMA(EMA(MA(ZHC,60),2),2),5),5);FSLMAINX:=EMA(FSL-MAINX,3);IF NOT(STKTYPE=6 OR STKTYPE=7 AND STKTYPE=8) THEN BEGIN成本价:"AMOUNT#day"/"VOL#day"/100*KEY,LINETHICK0,PRECISION 2,colorFFFF;获利盘:=WINNER(成本价)*100;集中度:=(COST(95)-COST(5))/(COST(95)+COST(5))*100*KEY;DRAWTEXTEX(KEY,1,18,0,'当前获利盘比例:'+NUMTOSTR(获利盘,1)+'%筹码集中度:'+NUMTOSTR(集中度,1)+'%'),colorFF00FF;LA1:=LLVBARS(LOW,17);LA2:=BACKSET(ISLASTBAR,LA1+1);LA:=FILTER(LA2,17);DRAWICON(LA,LOW*0.998,4);DRAWNUMBER(LA,LOW*0.994,LOW,2),colorFFFFFF;LB1:=LLVBARS(LOW,144);LB2:=BACKSET(ISLASTBAR,LB1+1);LB:=FILTER(LB2,144);DRAWICON(LB,LOW*0.996,4);DRAWNUMBER(LB,LOW*0.99,LOW,2),colorFFFFFF;LC1:=LLVBARS(LOW,453);LC2:=BACKSET(ISLASTBAR,LC1+1);LC:=FILTER(LC2,453);DRAWICON(LC,LOW*0.992,4);DRAWNUMBER(LC,LOW*0.986,LOW,2),colorFFFFFF;HA1:=HHVBARS(HIGH,17);HA2:=BACKSET(ISLASTBAR,HA1+1);HA:=FILTER(HA2,17);DRAWICON(HA,HIGH*1.002,5);DRAWNUMBER(HA,HIGH*1.006,HIGH,2),colorFFFFFF;HB1:=HHVBARS(HIGH,144);HB2:=BACKSET(ISLASTBAR,HB1+1);HB:=FILTER(HB2,144);DRAWICON(HB,HIGH*1.004,5);DRAWNUMBER(HB,HIGH*1.008,HIGH,2),colorFFFFFF; LINEVALUE(LB,LOW,LA,LOW,0,0),LINETHICK2,colorFF; LINEVALUE(LC,LOW,LB,LOW,0,0),LINETHICK2,color66FF; LINEVALUE(HB,HIGH,HA,HIGH,0,0),LINETHICK2,color33CC00; TA:=REF(ZHQS,1)<ZHQS;TB:=REF(ZHQS,1)>ZHQS;TD:=ZHQS>MAINX AND FSLMAINX>0;TK:=ZHQS<MAINX AND FSLMAINX<0;STICKLINE(CLOSE>ZHQS AND OPEN>ZHQS AND TA,HIGH,LOW,0.5,0),colorFFFF;STICKLINE(CLOSE>ZHQS AND OPEN>ZHQS AND TA AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF;STICKLINE(CLOSE>ZHQS AND OPEN>ZHQS AND TA AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFFFF;STICKLINE((OPEN<ZHQS OR OPEN<MAINX) AND TB,HIGH,LOW,0.5,0),colorCCCCCC;STICKLINE((OPEN<ZHQS OR OPEN<MAINX) AND TB AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorCCCCCC;STICKLINE((OPEN<ZHQS OR OPEN<MAINX) AND TB AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorCCCCCC;STICKLINE(CLOSE>ZHQS AND OPEN>ZHQS AND TA AND TD,HIGH,LOW,0.5,0),colorFFFF;STICKLINE(CLOSE>ZHQS AND OPEN>ZHQS AND TA AND TD AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF;STICKLINE(CLOSE>ZHQS AND OPEN>ZHQS AND TA AND TD AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFFFF;STICKLINE((OPEN<ZHQS OR OPEN<MAINX) AND TB AND TK,HIGH,LOW,0.5,0),colorCCCCCC;STICKLINE((OPEN<ZHQS OR OPEN<MAINX) AND TB AND TK AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorCCCCCC;STICKLINE((OPEN<ZHQS OR OPEN<MAINX) AND TB AND TK AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorCCCCCC;STICKLINE((NOT(CLOSE>ZHQS AND OPEN>ZHQS AND TA OR CLOSE>ZHQS AND OPEN>ZHQS AND TA AND TD OR (OPEN<ZHQS OR OPEN<MAINX) AND TB)) AND CLOSE<OPEN,HIGH,LOW,0.5,0),colorFFFF00;STICKLINE((NOT(CLOSE>ZHQS AND OPEN>ZHQS AND TA OR CLOSE>ZHQS AND OPEN>ZHQS AND TA AND TD OR (OPEN<ZHQS OR OPEN<MAINX) AND TB)) AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF00;STICKLINE((NOT(CLOSE>ZHQS AND OPEN>ZHQS AND TA OR CLOSE>ZHQS AND OPEN>ZHQS AND TA AND TD OR (OPEN<ZHQS OR OPEN<MAINX) AND TB)) AND CLOSE>=OPEN,HIGH,LOW,0.5,0),colorFF;STICKLINE((NOT(CLOSE>ZHQS AND OPEN>ZHQS AND TA OR CLOSE>ZHQS AND OPEN>ZHQS AND TA AND TD OR (OPEN<ZHQS OR OPEN<MAINX) AND TB)) AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFF;STICKLINE(BARSCOUNT(CLOSE)<=5 AND CLOSE<OPEN,HIGH,LOW,0.5,0),colorFFFF00;STICKLINE(BARSCOUNT(CLOSE)<=5 AND CLOSE<OPEN,OPEN,CLOSE,8,0),colorFFFF00;STICKLINE(BARSCOUNT(CLOSE)<=5 AND CLOSE>=OPEN,HIGH,LOW,0.5,0),colorFF;STICKLINE(BARSCOUNT(CLOSE)<=5 AND CLOSE>=OPEN,OPEN,CLOSE,8,1),colorFF;IF DATATYPE=4 OR DATATYPE=5 THEN BEGINTC1:=MA(ZHC,55);TC2:=MA(ZHC,103);TC3:=MA(ZHC,453);PARTLINE(KEY,EMA(EMA(EMA(EMA(TC1,2),2),5),5)),colorFFFF FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC2,2),2),5),5)),colorFFFF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC3,2),2),5),5)),colorFF0 0FF;VERTLINE(TIME=150000),POINTDOT,color3333;END;ELSE BEGINIF DATATYPE=11 THEN BEGINTC1:=MA(ZHC,55);TC2:=MA(ZHC,103);TC3:=MA(ZHC,453);PARTLINE(KEY,EMA(EMA(EMA(EMA(TC1,2),2),5),5)),colorFFFF FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC2,2),2),5),5)),colorFFFF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC3,2),2),5),5)),colorFF0 0FF;VERTLINE(TIME=140000),POINTDOT,color3333;END;ELSE BEGINIF DATATYPE=6 THEN BEGINIF ST0 OR ST1 OR ST2 OR ST3 OR ST4 THEN BEGINDRAWICON(涨停板ST,HIGH*1.02,10);DRAWICON(跌停板ST,LOW*0.98,11);END;ELSE BEGINDRAWICON(涨停板,HIGH*1.05,10);DRAWICON(跌停板,LOW*0.95,11);END;TC1:=MA(ZHC,14);TC2:=MA(ZHC,25);TC3:=MA(ZHC,99);PARTLINE(KEY,EMA(EMA(EMA(EMA(TC1,2),2),5),5)),colorFFFF FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC2,2),2),5),5)),colorFFFF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC3,2),2),5),5)),colorFF0 0FF;END;ELSE BEGINIF DATATYPE=7 THEN BEGINTC2:=MA(ZHC,99);TC3:=MA(ZHC,181);TC4:=MA(ZHC,272);发财线:EMA(EMA(EMA(EMA(TC1,2),2),5),5),LINETHICK2,PRECISION2,c olorFF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC2,2),2),5),5)),colorFFFF FF;牛熊界:EMA(EMA(EMA(EMA(TC3,2),2),5),5),LINETHICK2,PRECISION2,c olorFFFF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC4,2),2),5),5)),colorFF0 0FF;END;ELSE BEGINIF DATATYPE=2 OR DATATYPE=3 THEN BEGINTC1:=MA(ZHC,55);TC2:=MA(ZHC,103);TC3:=MA(ZHC,453);PARTLINE(KEY,EMA(EMA(EMA(EMA(TC1,2),2),5),5)),colorFFFF FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC2,2),2),5),5)),colorFFFF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC3,2),2),5),5)),colorFF0 0FF;VERTLINE(TIME=150000),POINTDOT,color3333;END;ELSE BEGINIF DATATYPE=1 THEN BEGINVERTLINE(TIME=150000),POINTDOT,color33CC;END;ELSE BEGINIF DATATYPE=8 THEN BEGINTC2:=MA(ZHC,40);TC3:=MA(ZHC,60);TC4:=MA(ZHC,80);TC5:=MA(ZHC,100);TC6:=MA(ZHC,120);TC7:=MA(ZHC,140);PARTLINE(KEY,EMA(EMA(EMA(EMA(TC1,2),2),5),5)),colorFFFF FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC2,2),2),5),5)),colorFFFF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC3,2),2),5),5)),colorFF0 0FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC4,2),2),5),5)),colorCC0 0FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC5,2),2),5),5)),color990 0FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC6,2),2),5),5)),color660 0FF;PARTLINE(KEY,EMA(EMA(EMA(EMA(TC7,2),2),5),5)),color330 0FF;END;ELSE BEGINEND;END;END;END;END;END;END;END;ELSEWX:=MA(CLOSE,0);M2:MA(CLOSE,P2)*(IF(N<2,WX,1));M3:MA(CLOSE,P3)*(IF(N<3,WX,1));M4:MA(CLOSE,P4)*(IF(N<4,WX,1));M5:MA(CLOSE,P5)*(IF(N<5,WX,1));M6:MA(CLOSE,P6)*(IF(N<6,WX,1));M7:MA(CLOSE,P7)*(IF(N<7,WX,1));M8:MA(CLOSE,P8)*(IF(N<8,WX,1));副图MACD:KEY:=DATE<=1900731;PARTLINE(KEY,0),LINETHICK2,color99;VAR1:=IF(KEY,EMA(EMA(EMA((OPEN+HIGH+LOW+CLOSE)/ 4,13),13),13),0);VAR2:=(VAR1-REF(VAR1,1))/REF(VAR1,1)*1;智能DIFF:VAR2*100,PRECISION2;智能DEA:EMA(VAR2,21)*100,PRECISION2;智能MACD:VAR2*100,COLORSTICK,PRECISION2;副图能量线:KEY:=DATE<=1900701;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);VAR1:=REF(ZHC,1);VAR2:=SUM(VOL,2)/((HHV(HIGH,2)-LLV(LOW,2))*100);VAR3:=(CLOSE-VAR1)*VAR2;VAR4:=SUM(VAR3,0);VAR5:=SMA(VAR4,5,1);VAR6:=SMA(VAR4,8,1);ZHSC0:=IF(KEY,VAR5-VAR6,0);ZHSC:=ZHSC0/10;ZHD:=(SUM(IF(ZHSC>0,ZHSC*1.003,ZHSC*1.003>0),34))/(34 );ZHE:=(SUM(IF(ZHSC<=0,ZHSC*0.97,ZHSC*0.97<0),34))/(34);能量:ZHSC,COLORSTICK,PRECISION1,colorFF;PARTLINE(KEY,ZHD),LINETHICK2,colorFFFF;PARTLINE(KEY,ZHE),LINETHICK2,colorFF00;PARTLINE(KEY,0),LINETHICK2,colorFFFFFF;副图成交量:KEY:=DATE<=1900731;总股本:=FINANCE(1);净利润:=FINANCE(30);每股收益:=净利润*1000/(总股本*10000);流通盘:=CAPITAL;每股净资:=FINANCE(34);市盈率:=CLOSE/每股收益;换手率:=VOL/CAPITAL*100;流通市值:=CAPITAL*VOLUNIT*CLOSE;均量10:=MA(VOL,10);均量20:=MA(VOL,20);均量40:=MA(VOL,40);涨跌幅:(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100;成交手数:VOL,VOLSTICK;DRAWTEXTEX(KEY,0,0,0,STKNAME+'('+STKLABEL+') 流通盘:'+NUMTOSTR(流通盘/100,0)+'万股市盈率:'+NUMTOSTR(市盈率,0)+'倍每股净资:'+NUMTOSTR(每股净资,2)+'元流通市值:'+NUMTOSTR(流通市值/10000,2)+'万元成交额:'+NUMTOSTR(AMOUNT/10000,2)+'万元换手率:'+NUMTOSTR(换手率,2)+'%'),color66FF;PARTLINE(KEY,均量10),colorFF00;PARTLINE(KEY,均量20),colorFFFF;PARTLINE(KEY,均量40),colorFFFFFF;⑤%:CAPITAL*5/100,linedot;交易分钟数:=if(CURRENTTIME>93000 and CURRENTTIME<150000,if(CURRENTTIME<113000,(TIMETOT0(CURRENTTIME)-34200)/60,if(CURRENTTIME>130000,(TIMETOT0(CURRENTTIME)-39600)/60,120)),240);预测量:IF(BARSTATUS=2,VOL/交易分钟数*240,VOL),COLOR00FFFF,LINETHICK0;{预测量2:IF(BARSTATUS=2,VOL*240/OPENMINUTES(CURRENTTIME),VO L),COLOR00FF00,LINETHICK0;}STICKLINE(BARSTATUS=2,0,预测量,8,1),COLOR00FFFF,LINEDOT副图位置:KEY:=DATE<=1900731;VAR3:=LLV(LOW,33);VAR4:=HHV(HIGH,21);VAR5:=IF(KEY,EMA((CLOSE-VAR3)/(VAR4-VAR3)*100,20)*0.998,0);PARTLINE(KEY,20),LINETHICK2,color808080;PARTLINE(KEY,50),LINETHICK2,colorFFFFFF;PARTLINE(KEY,80),LINETHICK2,colorFF00FF;技术位:EMA(0.667*REF(VAR5,1)+0.333*VAR5,1),CIRCLEDOT,PRECISIO N1,colorFF00;MACD选股:智能DIFF:="ZNMACD.智能DIFF";智能DEA:="ZNMACD.智能DEA";BUY:=LONGCROSS(智能DIFF,智能DEA,N) AND BETWEEN(智能DEA,-0.05,0.35);BARSLAST(BUY)<=X;筹码选股:KEY:=DATE<=1900731;ZHM:="AMOUNT#DAY"/"VOL#DAY"/100*KEY;CM1:=SMA(EMA(ZHM,1),2,1);CM3:=SMA(EMA(ZHM,3),2,1);CM6:=SMA(EMA(ZHM,6),2,1);CM7:=SMA(EMA(ZHM,7),2,1);CMM:=(CM1+CM3+CM6+CM7)/4;CMX:=SMA(EMA(COST(59),21),2,1);LONGCROSS(CMM,CMX,25);多空选股:KEY:=DATE<=1900731;ZHC:=IF(KEY,(OPEN+HIGH+LOW+CLOSE)/4,0);DMZ:=IF(HIGH+LOW<=REF(HIGH,1)+REF(LOW,1),0,MAX(AB S(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));DMF:=IF(HIGH+LOW>=REF(HIGH,1)+REF(LOW,1),0,MAX(AB S(HIGH-REF(HIGH,1)),ABS(LOW-REF(LOW,1))));ADMZ:=IF(KEY,MA(DMZ,10),0);ADMF:=IF(KEY,MA(DMF,10),0);STZ0:=IF(ADMZ>ADMF,(ADMZ-ADMF)/ADMZ,IF(ADMZ=ADMF,0,(ADMZ-ADMF)/ADMF));STZ:=(IF(ADMZ>ADMF,(ADMZ-ADMF)/ADMZ,IF(ADMZ=ADMF,0,(ADMZ-ADMF)/ADMF)))*(60);ASTZ:=SMA(STZ0,30,1)*60;BUY:=ALL(ASTZ<26,120) AND ASTZ>-5 AND ASTZ<15 AND CROSS(STZ,ASTZ);BARSLAST(BUY)<=X;。
飞狐软件功能
飞狐软件功能飞狐应用中快捷键一览表快捷键F1 帮助系统F2 切换到行情报价表(如果当前为行情报价表,则不起作用)F3 选择指标(只在图形窗口中起作用)F4 大盘指数切换(只在图形窗口中起作用)F5 分时线、日线切换(只在图形窗口中起作用)点数图中切换周期F6 指标排序(在列表窗口中起作用)F7 条件选股F8 周期切换(在图形窗口中起作用)板块切换(在列表窗口中起作用,用于切换市场报块和常用报块) 市场轮廓中切换周期F9 查看接收到的交易所公告及财经报道F10 基本资料F11 复权处理/取消复权(只在图形窗口中起作用)F12 第一套外挂自助委托ALT+F12 第二套外挂自助委托Tab 切换窗口Alt+F4 退出『飞狐交易师』系统Ctrl+F1 在线帮助Ctrl+F4 关闭当前子窗口Ctrl+F6 系统指示(只在图形窗口中起作用)Ctrl+F8 交易系统探索最佳参数Ctrl+F9 交易系统全局优选(只在图形窗口中起作用)Ctrl+F10 个股备忘录Ctrl+A 预警系统Ctrl+B 调用[板块分析]Ctrl+D 数据管理Ctrl+H 黄金分割主图坐标(只在图形窗口中起作用)Ctrl+I 显示/不显示股票信息栏(只在图形窗口中起作用)Ctrl+J 投资计算器Ctrl+K 调用[添加模拟K线]Ctrl+L 对数主图坐标(只在图形窗口中起作用)Ctrl+M 启动/停止多图同列(只在图形窗口中起作用)Ctrl+N 标准主图坐标(只在图形窗口中起作用)Ctrl+O 弹出选项对话框Ctrl+P 百分比主图坐标(只在图形窗口中起作用)Ctrl+Q 缺省主图坐标(只在图形窗口中起作用)Ctrl+S 输出图形(类似屏幕截图,可直接存成bmp/gif文件)Ctrl+T 投资管理Ctrl+W 列表窗口行情/财务数据切换(只在列表窗口起作用)Ctrl+Y 10%坐标的分时线(只在分时走势窗口起作用)Ctrl+Delete 删除所有交易指示(只在图形窗口中起作用)Ctrl+PgDn 自动换页/停止换页Insert 加入到自选股Delete 从板块中删除Shift+I 显示/不显示移动成本分布(只在图形窗口起作用)Shift+P 切换/取消鼠标在主图上平移画面功能(只在图形窗口起作用)Shift+R 手工刷新(行情报价)Shift+Q 切换窗口Shift+S 选择证券Shift+T 显示/不显示标准工具栏Shift+U 全屏/窗口模式切换Shift+W 显示/不显示公式/板块管理面板Shift+X 显示/不显示画线工具栏Alt+1 只显示主图(只在图形窗口中起作用)Alt+2 显示主图和一个副图(只在图形窗口中起作用)Alt+3 显示主图和两个副图(只在图形窗口中起作用)Alt+4 显示主图和三个副图(只在图形窗口中起作用)Alt+5 显示主图和四个副图(只在图形窗口中起作用)Alt+6 显示主图和五个副图(只在图形窗口中起作用)Alt+7 显示主图和六个副图(只在图形窗口中起作用)Alt+8 显示主图和七个副图(只在图形窗口中起作用)Alt+9 显示主图和八个副图(只在图形窗口中起作用)在图形分析窗口可用以下快捷键切换分析周期:0 分笔成交1 1 分钟线2 5 分钟线3 15分钟线4 30分钟线5 60分钟线6 日线7 周线8 月线9 年线D 多日线(用户自定周期)[nHOUR] 为多小时线,n为小时数[nMIN] 多分钟线(键盘精灵[nMIN]可切换到n分钟线)[S]、[Sn]、[nSEC]为切换到多秒周期,n为秒数选择主图K线模式可有以下几种快捷方式:K 蜡烛线BAR 美国线PRICE 价位线TWR 宝塔线GBL 鬼变脸CNDEQV 压缩线CNP 成交堆积LCNP 线性成交堆积WCNP 加权成交堆积OX 点线图[GANN] [江恩分析]TPO 市场轮廓图↑K线柱体放宽↓K线柱体缩窄←十字光标线向左移动→十字光标线向右移动图形窗口中无右信息栏时[+]、[-]分别为缩小、放大走势图;Home 十字光标线向左移动到当前画面的最左边一条K线End 十字光标线向右移动到当前画面的最右边一条K线Ctrl+←K线向左移动Ctrl+→K线向右移动Ctrl+Home K线向左移动到最头Ctrl+End K线向右移动到最尾Ctrl+↑当前活动副图切换到上一个副图Ctrl+↓当前活动副图切换到下一个副图PageUp 上一券种PageDown 下一券种直接键入代码如:600839回车,即切换到四川长虹直接键入技术指标名称如:MACD 即切换到MACD指标图形分析中[回车]键切换实时/历史走势(切换到上次显示的周期,不一定是日线)图形分析按[Backspace]可向前回溯曾经看过的股票,按[Shift+Backspace]则向后;支持“81-87”的快捷功能:81 沪A综合排名82 沪B综合排名83 深A综合排名84 深B综合排名85 A股综合排名86 B股综合排名87 基金综合排名支持“61-67”的快捷功能:61 沪A涨幅排名62 沪B涨幅排名63 深A涨幅排名64 深B涨幅排名65 A股涨幅排名66 B股涨幅排名67 基金涨幅排名支持“31-34”的快捷功能:31 涨速排名32 量比排名33 成交额排名34 换手率排名支持“01-06”及其他快捷功能:01 成交明细02 分价分量03 上证走势04 深证走势05 分时/日线切换06 自选股10 基本资料51~59 前九个常用板块的快速切换(在键盘精灵中可以查看到你所设定为常用的那些板块的按键对应)/对K线图窗口,可在常用指标间切换活动副图的指标。
飞狐股票分析软件[使用技巧]
飞狐股票分析软件【使用技巧】一、用“形态分析”找到上涨前的股票我们在分析股票的时候,都会听到周围的人不断说<三角型整理><V型反转><M头><W底>等一系列形态,但是仔细想想就会知道,我们所说的所谓形态其实是一个抽象的概念,同样叫W底,会有N种不同的样子,哪一种更具有上涨的潜力呢?我们知道技术分析有三大假设,其中之一是历史会重演。
形态也不例外。
一支股票经过了一段时间的下跌后,开始反弹,遇阻后回落,然后被主力再次拉起,那么这个过程就走出了一个W的形态,随后该股一路上扬,成为了大家瞩目的明星。
我们看一下K线图就会发现,在它上涨前的形态是很值得研究的,好象一个人成功了以后会有很多人去研究他的生平一样,我们研究明星股拉升前的形态也是有必要的,因为历史会重演。
中国股市不能作空,所以有一个共同的特色,就是量很关键,光研究K线形态还不够,还要研究量能的情况,这就给形态赋予了新的含义,那就是量的形态。
飞狐的形态分析功能不仅可以分析一段时间K线形态的吻合度,还能分析在此区间内量能的符合度,这样我们用形态分析功能,把明星股上涨前期形态进行储存,再用这个形态去找现在与谁的形态更接近。
这就有点象我们通常所说的<克隆>,扫描出的股票会按吻合度进行排序,看看最符合目标形态的股票,也许他就会成为日后第二个明星。
二、应用“反转坐标功能”判断股票的顶和底做股票有两个难题,一个是选股,另一个是判断顶和底。
而且后一个问题可以说是尤其难。
要知道,任何股票都有它的个性,有时侯,你看象是底,但往往买进以后却还是一路狂跌下来,看着象是顶,但卖了后,股票就一路上扬,长此以往,弄得股民看到K线就头疼,顶和底到底该如何判断?在分析这个问题之前,我们先探讨一个现象,有两个外观一样的盘子,一个是瓷的很沉,另一个是塑料的比较轻,您在不知道的前提下,先拿了那个瓷的盘子,然后再拿塑料盘子,您就会用力过猛,为什么呢?因为人有一个惯性思维,会认为那个塑料的盘子也沉。