软件名称: |
神偷套利分析系统之缠理公式 |
整理时间: |
2015-07-11 |
 |
界面语言: |
简体中文 |
软件类型: |
飞狐股票公式 |
运行环境: |
Win9X/Win2000/WinXP/Win2003/Win7/Win8/Win10 |
授权方式: |
免费版 |
软件大小: |
39.0 KB |
软件等级: |
 |
软件登陆: |
admin |
作 者 : |
58gu.com小编 |
官方网址: |
官方站 |
程序演示: |
演示 |
软件简介: |
|
缠理公式: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=1 vbdata1=0.001 vbdata2=1 Select Case vbdatanumber Case 0 vbdata=0.015 vbdata1=0.001 vbdata2=0.015 Case 1 vbdata=0.018 vbdata1=0.001 vbdata2=0.018 Case 2 vbdata=0.037 vbdata1=0.001 vbdata2=0.037 Case 3 vbdata=0.052 vbdata1=0.001 vbdata2=0.052 Case 4 vbdata=0.067 vbdata1=0.001 vbdata2=0.067Case 5 vbdata=0.13 vbdata1=0.001 vbdata2=0.13 Case 6 vbdata=0.28 vbdata1=0.001 vbdata2=0.28 Case 7 vbdata=0.45 vbdata1=0.001 vbdata2=0.45 Case 8 vbdata=0.73 vbdata1=0.001 vbdata2=0.73 Case 9 vbdata=1.2 vbdata1=0.001 vbdata2=1.2 Case 10 vbdata=0.6 vbdata1=0.001 vbdata2=0.6 Case 11 vbdata=0.1 vbdata1=0.001 vbdata2=0.1 Case 12 vbdata=0.02 vbdata1=0.001 vbdata2=0.02 Case else vbdata=2 vbdata1=0.001 vbdata2=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.0000 nvaluefu = 0.0000 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 nlast m=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 if if (oldbianhua = bianhua) then else vbma3(i) = m m=0 if (bianhua = 1) then vbma2(i) = nvaluefu nvaluefu = 0 'nvaluefu = 0else vbma2(i) = nvalue nvalue = 0 'nvalue = 0end if end if oldbianhua = bianhua next FFL.VarData("ma2") = vbma2 FFL.VarData("ma3") = vbma3 FFL.VarData("ling") =vbling %> DRAWNUMBER(((REF(MA2,0)<0) AND (SHOWSUM=1)),LLV(LOW,5),(REF(MA2,0)*1000),0),colorFF00; DRAWNUMBER(((REF(MA2,0)<0) AND (SHOWCOUNT=1)),(LLV(LOW,5)-DATANUMBER),REF(MA3,0),0),colorFFFF; DRAWNUMBER(((REF(MA2,0)<0) AND (SHOWAVERAGE=1)),(LLV(LOW,5)-(DATANUMBER*2)),((REF(MA2,0)*1000)/REF(MA3,0)),0),colorFF00; DRAWNUMBER(((REF(MA2,0)>0) AND (SHOWSUM=1)),HHV(HIGH,5),(REF(MA2,0)*1000),0),colorFF; DRAWNUMBER(((REF(MA2,0)>0) AND (SHOWCOUNT=1)),(HHV(HIGH,5)+DATANUMBER),REF(MA3,0),0),colorFFFF; DRAWNUMBER(((REF(MA2,0)>0) AND (SHOWAVERAGE=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.0000 nvaluefu = 0.0000 bianhua = 2 oldbianhua = 0 i= 0m= 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 else Do 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/ivbhe(nlast) = nvalue vbping(nlast) = nvaluefu FFL.VarData("weihe") =vbhe FFL.VarData("weiping")= vbping%> DRAWNUMBER(((WEIHE<>0) AND (SHOWSUM=1)),IF((WEIHE>0),HIGH,LOW),(WEIHE*1000),0),colorFF; DRAWNUMBER(((WEIHE<>0) AND (SHOWAVERAGE=1)),(IF((WEIHE>0),HIGH,LOW)-(DATANUMBER*2)),(WEIPING*1000),0),colorFF00; DRAWNUMBER(((WEIPING<>0) AND (SHOWCOUNT=1)),(IF((WEIHE>0),HIGH,LOW)-DATANUMBER),(WEIHE/WEIPING),0),colorFFFF; DIFF:=(EMA(CLOSE,S)-EMA(CLOSE,P)); DEA:=EMA(DIFF,M); MACD:=(2*(DIFF-DEA)); MA1:=MACD; MA2:=MACD; MA3:=MACD; MA1WE:=MACD; HE:=MA2; WEIHEMACD:=0; WEIPINGMACD:=0; H1:=HIGH; L1:=LOW; FOXH:=HIGH; FOXL:=LOW; FOXBAOHAN:=LING; FOXBAOHAN1:=LING; FOXGUANXI:=LING; FOXFENXING:=LING; FOXFENXING1:=LING; FOXFENNUMBER:=LING; FOXQUEKOU:=LING; FOXBICOUNT:=LING; FOXWEIBI:=LING; <% vbquekou=FFL.VarData("foxquekou") vbfennumber=FFL.VarData("foxfennumber") vbdatanumber = FFL.VarData("datanumber") vbh = FFL.VarData("foxh") vbL = FFL.VarData("foxl") vbh1 = FFL.VarData("foxh") vbL1 = FFL.VarData("foxl") vbbaohan = FFL.VarData("foxbaohan") vbbaohan1 = FFL.VarData("foxbaohan1") vbguanxi = FFL.VarData("foxguanxi") vbfenxing = FFL.VarData("foxfenxing") vbfenxing1 = FFL.VarData("foxfenxing1") vbbicount=FFL.Vardata("foxbicount") vbweibi=FFL.Vardata("foxweibi") nlast = UBound( vbh ) nvalue = 0.0000 nvaluefu = 0.0000 bianhua = 2 vbguanxi(0) = 1 for m = 1 to nlast if (vbh(m)>vbh(m-1) and vbl(m)>vbl(m-1)) then vbguanxi(m)=1else if (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) else vbbaohan(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 nlast vbbaohan1(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=0for m = i to nlast if (vbbaohan(m) <> 0) then bao=bao+1if (bao>=2) then if (vbbaohan(m)=2 and vbbaohan(m-1)=1 or vbbaohan(m)=-2 and vbbaohan(m-1)=-1) then vbbaohan1(m) = bao if (bao>2) thenexistbao=BAOfor i = 1 to bao vbh(m-bao+i)=vbh(m) vbL(m-bao+i)=vbl(m) if (i = 1 or i=bao ) then else vbbaohan1(m-bao+i)=-3 end if nextend 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 'loop bao=0 end if end if else bao=0 end 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 if if (vbguanxi(m)<>existbao) then if (vbguanxi(m-1)=1) then vbfenxing(m-1) = 1 '顶 else vbfenxing(m-1) = -1 '底 end if existbao=vbguanxi(m) end ifnext '以上分型预处理 for m = 0 to nlast vbfenxing1(m) = vbfenxing(m) vbfenxing1(m) = 0 nexti=0 do while (vbfenxing(i)=0) i=i+1 if (i>nlast) then Exit Do end if loop lastfenxing=i '取第一个分型位置'下面去掉连续的顶或底 for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) then if (vbfenxing(m)<>vbfenxing(lastfenxing)) then lastfenxing=m else if (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then vbfenxing(lastfenxing)=0 lastfenxing=m else vbfenxing(m)=0 end if else if (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0 lastfenxing=m else vbfenxing(m)=0 end if end if '顶要高的 底要低的 相等时要选时间在前面的 'vbfenxing(m)=0 end if end if next'以下处理分型间距离不小于4的要求同时处理连续的顶和底的问题 bao=0 i=0 n=0 existbao=vbfenxing(0) m=0 do while (vbbaohan1(i) <2) i=i+1 if (i>nlast) then Exit 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 else if (vbbaohan1(m) >=2 ) then n=n+1 end if end if vbfenxing1(m) = bao+n '包含关系只视为一个k线 'vbfenxing1(m)=vbbaohan1(m) 'if (m>735) then 'exit for 'end if if (vbfenxing(m)<>0) then if (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 for vbfenxing(lastfenxing)=0 n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=melse vbfenxing(m)=0 end if else if (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0 n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m else vbfenxing(m)=0 end if end 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=lastfenxing1 if (vbfenxing(m)=1) then if (vbl(m)>vbl1(m))then t1=vbl1(m) else t1=vbl(m) end if if (vbh(i)>vbh1(i))then t2=vbh(m) else t2=vbh1(m)end ifif (t1>t2) then n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=melse vbfenxing(m)=0end 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 ifif (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 elseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then 'exit for vbfenxing(lastfenxing)=0 n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=melse vbfenxing(m)=0 end if else if (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0 n=0 bao=0 lastfenxing1=lastfenxing lastfenxing=m else vbfenxing(m)=0 end if end if '顶要高的 底要低的 相等时要选时间在前面的 end if end if end if next '以上处理分型间距离不小于4的要求'以下去掉连续的顶或底 i=0 do while (vbfenxing(i)=0)i=i+1 if (i>nlast) then Exit Do end if loop lastfenxing=i '取第一个分型位置'下面去掉连续的顶或底 for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) then if (vbfenxing(m)<>vbfenxing(lastfenxing)) then lastfenxing=m else if (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then vbfenxing(lastfenxing)=0 lastfenxing=m else vbfenxing(m)=0 end if else if (vbl(m)<vbl(lastfenxing)) then vbfenxing(lastfenxing)=0 lastfenxing=m else vbfenxing(m)=0 end if end if '顶要高的 底要低的 相等时要选时间在前面的 'vbfenxing(m)=0 end if end if next'以下处理一个顶要大于相邻的两个底及一个底要小于相邻的两个顶的问题 '取第一个分型位置 i=0 do while (vbfenxing(i)=0)i=i+1 if (i>nlast) then Exit Do end if loop lastfenxing=ifor m = lastfenxing+1 to nlastif (vbfenxing(m)<>0) then if (vbfenxing(m)>0) then if (vbh(m)>vbl(lastfenxing)) then '满足条件顶>底 lastfenxing=m else '不满足条件顶>底 两个全置为0,并查下一个 vbfenxing(m)=0 vbfenxing(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 else if (vbl(m)<vbh(lastfenxing)) then '满足条件底<顶 lastfenxing=m else '不满足条件底<顶 两个全置为0,并查下一个 vbfenxing(m)=0 vbfenxing(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 Loop x1=a a=x1+1 Do While ( a < nlast) if ( vbfenxing(a) <> 0) then exit do end if a = a + 1 Loop x2=a a=x2+1 Do While ( a < nlast) if ( vbfenxing(a) <> 0) then exit do end 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 FOR m=a TO nlast '(1)开始 按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志 '其它则是不同级别的中枢和线段的思路设计 '在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股1分钟内可能无成交 if (vbfenxing(m)<>0) then '(2) begin 只在分型不为0时进行处理,即:是分型时处理 bi=bi+1 x4=m if (zhshbegin=0) then zhshbegin=x4 end if if (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 if if (zd>zg ) then '(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来 vbweibi(x2)=1 vbweibi(x3)=2 'msgbox("当前的vbweibi(x3):" & cstr(vbweibi(x3))) maxbi=max(maxbi,bi) vbbicount(x2)=bi bi=-1 zhshbegin=0 else '(3)中枢低点小于等于高点,即形成中枢,不用记录位置 end if '(3)结束,将x1,x2,x3的值分别换成x2,x3,x4的值,也即向前推进一个分型,然后再返回进行比较 x1=x2 x2=x3 x3=x4 end if '(2) 结束 NEXT '(1)结束找出所有连续三笔无重叠的位置,即不能形成中枢的候选位置,以下要对这些位置进行筛选并逐个分析,看图时要特别注意这些位置 '以下为自定义函数部分Function max(a, b) If (a >= b) Then max = a Else max = b End If End Function Function min(a, b) If (a <= b) Then min = a Else min = b End If End Function FFL.Vardata("foxweibi")=vbweibi FFL.Vardata("foxbicount")=vbbicount FFL.VarData("foxh") =vbh FFL.VarData("foxl") =vbl FFL.VarData("foxbaohan") = vbbaohan FFL.VarData("foxbaohan1") = vbbaohan1 FFL.VarData("foxguanxi") = vbguanxi FFL.VarData("foxfenxing") = vbfenxing FFL.VarData("foxfenxing1") = vbfenxing1 FFL.VarData("foxfennumber") = vbfennumber FFL.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" ) THEN vbxiaoshu=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" ) )THEN ELSE FOR m=0 TO nlast if (vbfenxing(m)<>0) then vbxian(m)=vbfenxing(m) vbxiang(m)=vbh(m) vbxiand(m)=vbl(m) end if NEXTENd 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=0 Do While ( i <= nlast) If (vbfenxing(i) <> 0 ) then exit do end if i = i + 1 Loop x1 = i xianbegin = x1 i = x1 + 1 Do While ( i <= nlast) If (vbfenxing(i) <> 0 ) then exit 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 + 1 Loop x3 = i i = x3 + 1 Do While ( ex=0 ) '() if (x3>nlast or x2>nlast ) then 'msgbox("当前的1 x2:" & cstr(x2) & "当前的1 x3:" & cstr(x3) & "当前的nlast:" & cstr(nlast) ) exit do end if if ( 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 do else x1=x2 x2=x3 Do While ( i <= nlast) If (vbfenxing(i) <> 0 ) then exit do end if i = i + 1 Loop x3 = i i = x3 + 1 end if loop '() i = x3 + 1 xianbegin = x1 tewei = x2 if (x3<=nlast) then If (vbfenxing(x1) = 1) Then xianfang = -1 '以顶分型开始,线段方向向下 vbted(tewei) = vbl(tewei) vbteg(tewei) = vbh(x3) Else xianfang = -1 '以底分型开始,线段方向向上 vbteg(tewei) = vbl(tewei) vbted(tewei) = vbh(x3) End If vbtegx(tewei) = xianfang '定义出第一个特征序列,及关系即:是上升的还是下降的 end if 'tewei = x4 tenumber = 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 + 1 Loop x4 = m m = x4 + 1 Do While ( m <= nlast) If (vbfenxing(m) <> 0 ) then exit do end if m = m + 1 Loop x5 = m m = x5 + 1 newtewei = x4 if ( x5 > nlast) then exit for end if If (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) then If (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 = 1 Else tefang = -1 '(4)特征序列的方向向下 End If vbtegx(newtewei) = tefang If (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=m Do While ( i <= nlast) If (vbfenxing(i) <> 0 ) then exit do end if i = i + 1 Loop x6 = i if ( x6 > nlast) then 'msgbox( " {}当前的x6:" & cstr(x6) & "当前的nlast:" & cstr(nlast) ) exit for end if '再判断x5,x6是否构成线段,构成则新线段否则原线段继续 if ( vbweibi(x6)=0 or vbweibi(x5)=0 or vbweibi(x6)=1 or vbweibi(x5)=2 ) then '开始 构成新线段,新线段在newtewei开始 xianbegin=newtewei vbxian(xianbegin) = vbfenxing(xianbegin) vbxiang(xianbegin) = vbh(xianbegin) vbxiand(xianbegin) = vbl(xianbegin) x2=x5 x3=x6 tewei=x2 m = x6 + 1 If (vbfenxing(xianbegin) = 1) Then xianfang = -1 '以顶分型开始,线段方向向下 vbted(tewei) = vbl(tewei) vbteg(tewei) = vbh(x3) 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 = x2 If (vbfenxing(xianbegin) = 1) Then xianfang = -1 '以顶分型开始,线段方向向下 vbted(tewei) = vbl(tewei) vbteg(tewei) = vbh(x3) Else xianfang = 1 '以底分型开始,线段方向向上 vbteg(tewei) = vbh(tewei) vbted(tewei) = vbl(x3) End If vbtegx(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) = xianfang tewei=newtewei x2=x4 x3=x5 End If '(5) Else '(3)包含 vbtegx(newtewei) = xianfang If (vbted(tewei) >= vbted(newtewei) And vbteg(tewei) <= vbteg(newtewei)) Then '后面包含前面 newtewei是后面的 tewei在前面 1为tewei被后一个包含 2为newtewei包含前一个 vbtebao(tewei) = 1 vbtebao(newtewei) = 2 Else '前面包含后面 -1为tewei包含后一个 -2为newtewei被前一个包含 vbtebao(tewei) = -1 vbtebao(newtewei) = -2 End If If (xianfang = -1) Then '线段方向向下取向下包含 temp = min(vbted(newtewei), vbted(tewei)) vbted(newtewei) = temp vbted(tewei) = temp temp = 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 vbteg(tewei) = temp End If '判断与tewei的前面是否有连续的包含关系 temp = tewei - 1 ex = 0 bao = 0 Do While (ex = 0) Do While ( temp >=0) If (vbteg(temp) <> 0 ) then exit do end if temp = temp - 1 Loop if (temp<0) then 'msgbox("当前的10 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) ) exit do end if If (vbtebao(temp) = 0 Or vbtebao(temp) >= 2 Or vbtebao(temp) = -2 Or vbtegx(temp) <> xianfang) Then ex = 1 Else bao = bao + 1 End If temp = temp - 1 Loop '有几个连续包含,指大于三个K线的包含,BAO的值是包含的K线数减2,当只有两个连续K线包含时BAO为0 temp = tewei - 1 For i = 1 To bao Do While ( temp >=0) If (vbteg(temp) <> 0 ) then exit do end if temp = temp - 1 Loop if (temp<0) then 'msgbox("当前的11 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) ) exit for end if vbteg(temp) = vbteg(tewei) vbted(temp) = vbted(tewei) temp = temp - 1 Next vbtebao(newtewei) = bao + 2 temp = tewei - 1For i = 1 To bao + 2 If (i = 1 Or i = bao + 2) Then Else Do While ( temp >0) If (vbteg(temp) <> 0 ) then exit do end if temp = temp - 1 Loop if (temp<0) then 'msgbox("当前的12 temp:" & cstr(temp) & "当前的nlast:" & cstr(nlast) ) exit for end if vbtebao(temp) = -3 temp = temp - 1 End If Next tewei=newtewei x2=x4 x3=x5 m = x5 + 1 End If '(3) Next '(2)For i = 0 To nlast If (vbtebao(i) = -2) Then vbtebao(i) = 2 End If If (vbtebao1(i) = -2) Then vbtebao1(i) = 2 End If Next '包含关系标准化,即结束标志都为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)=0 m=m+1 do while (vbxian(m)=0) m=m+1 if (m>nlast) then Exit Do end if loop lastfenxing=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)=0 m=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=0 do 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=nlast do while (vbxian(i)=0) i=i-1 if (i>nlast or i<0) then Exit Do end if loop lastfenxing=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 = a Else max = b End If End Function Function min(a, b) If (a <= b) Then min = a Else min = b End If End FunctionFFL.VarData("foxxiaoshu") =vbxiaoshu FFL.Vardata("foxteg")=vbteg FFL.Vardata("foxted")=vbted FFL.Vardata("foxtegx")=vbtegx FFL.Vardata("foxteg1")=vbteg1 FFL.Vardata("foxted1")=vbted1 FFL.Vardata("foxtegx1")=vbtegx1 FFL.Vardata("foxtebao")=vbtebao FFL.Vardata("foxtebao1")=vbtebao1 FFL.Vardata("foxxian")=vbxian FFL.Vardata("foxxiang")=vbxiang FFL.Vardata("foxxiand")=vbxiand%> FOXWEI:=LING; FOXBUYSELL:=LING; <% vbdatanumber3 = FFL.VarData("datanumber3") vbbicount=FFL.Vardata("foxbicount") vbweibi=FFL.Vardata("foxweibi") vbquekou=FFL.VarData("foxquekou") vbfennumber=FFL.VarData("foxfennumber") vbfennumxian=FFL.VarData("foxfennumxian") 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") vbbuysell=FFL.VarData("foxbuysell") vbwei=FFL.Vardata("foxwei")vbxian=FFL.Vardata("foxxian") vbxiang=FFL.Vardata("foxxiang") vbxiand=FFL.Vardata("foxxiand")vbteg=FFL.Vardata("foxteg") vbted=FFL.Vardata("foxted") vbtegx=FFL.Vardata("foxtegx") vbteg1=FFL.Vardata("foxteg1") vbted1=FFL.Vardata("foxted1") vbtegx1=FFL.Vardata("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)=0x1=0 x2=0 x3=0 x4=0 x5=0 x6=0 x7=0 bi=0 maxbi=0 zhsh=0 '先取三个分型数据,然后进入循环处理 a=0 'Do While (vbxian(a) = 0 and a <= nlast) Do While ( a < nlast) if ( vbxian(a) <> 0) then exit do end if a = a + 1 Loop x1=a a=x1+1 Do While ( a < nlast) if ( vbxian(a) <> 0) then exit do end if a = a + 1 Loop x2=a a=x2+1 Do While ( a < nlast) if ( vbxian(a) <> 0) then exit do end 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=FFL.Vardata("foxbicount") 'vbweibi=FFL.Vardata("foxweibi") FOR m=a TO nlast '(1)开始 按照找出不能形成线段(中枢)的连续三笔中的中间那笔是两个线段(中枢)的分界标志 '其它则是不同级别的中枢和线段的思路设计 '在大盘和指数中分笔与1分中1分级别要大一些,在个股中1分要大一些因有的个股1分钟内可能无成交 if (vbxian(m)<>0) then '(2) begin 只在分型不为0时进行处理,即:是分型时处理 bi=bi+1 x4=m if (zhshbegin=0) then zhshbegin=x4 end if if (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 if if (zd>zg ) then '(3)中枢低点大于高点,即未形成中枢,要将x2,x3的位置记录出来 vbwei(x2)=1 vbwei(x3)=2 '还要计算上一个中枢的级别和中枢区间及波动区间,计算中枢的级别根据bi记数器的值,中枢计算完毕后笔记数器bi清零 'bi记数器的值小于等于6时为本级别中枢,值为7或8时可能为本级别两个中枢,大于或等于9时为上一级别的中枢 maxbi=max(maxbi,bi) vbbicount(x2)=bi bi=-1 zhshbegin=0 else '(3)中枢低点小于等于高点,即形成中枢,不用记录位置 end if '(3)结束,将x1,x2,x3的值分别换成x2,x3,x4的值,也即向前推进一个分型,然后再返回进行比较 x1=x2 x2=x3 x3=x4 end if '(2) 结束 NEXT '(1)结束找出所有连续三线段无重叠的位置,即不能形成中枢的候选位置,以下要对这些位置进行筛选并逐个分析,看图时要特别注意这些位置 FFL.Vardata("foxweibi")=vbweibi FFL.Vardata("foxbicount")=vbbicount Function max(a, b) If (a >= b) Then max = a Else max = b End If End Function Function min(a, b) If (a <= b) Then min = a Else min = b End If End Function FFL.Vardata("foxwei")=vbwei FFL.VarData("datanumber3") =maxbi FFL.Vardata("foxbicount")=vbbicount FFL.VarData("foxfennumxian") = vbfennumxian %> FOXZHSH:=LING; FOXZHSHG:=LING; FOXZHSHD:=LING; FOXZHSHGG:=LING; FOXZHSHDD:=LING; FOXZHSH5:=LING; FOXZHSHG5:=LING; FOXZHSHD5:=LING; FOXZHSHGG5:=LING; FOXZHSHDD5:=LING; FOXZHSH15:=LING; FOXZHSHG15:=LING; FOXZHSHD15:=LING; FOXZHSHGG15:=LING; FOXZHSHDD15:=LING; FOXZHSH30:=LING; FOXZHSHG30:=LING; FOXZHSHD30:=LING; FOXZHSHGG30:=LING; FOXZHSHDD30:=LING; FOXZHSH60:=LING; FOXZHSHG60:=LING; FOXZHSHD60:=LING; FOXZHSHGG60:=LING; FOXZHSHDD60:=LING; FOXZHSHR:=LING; FOXZHSHGR:=LING; FOXZHSHDR:=LING; FOXZHSHGGR:=LING; FOXZHSHDDR:=LING; FOXZHSHZ:=LING; FOXZHSHGZ:=LING; FOXZHSHDZ:=LING; FOXZHSHGGZ:=LING; FOXZHSHDDZ:=LING; FOXZHSHY:=LING; FOXZHSHGY:=LING; FOXZHSHDY:=LING; FOXZHSHGGY:=LING; FOXZHSHDDY:=LING; FOXZHSHN:=LING; FOXZHSHGN:=LING; FOXZHSHDN:=LING; FOXZHSHGGN:=LING; FOXZHSHDDN:=LING; FOXZHSHMM:=LING; FOXZHSHMM5:=LING; FOXZHSHMM15:=LING; FOXZHSHMM30:=LING; FOXZHSHMM60:=LING; FOXZHSHMMR:=LING; FOXZHSHMMZ:=LING; FOXZHSHMMY:=LING; FOXZHSHMMN:=LING; FOXYANWEI:=LING; DATANUMBER4:=DATATYPE; FOXYANBICOUNT:=LING; <% vbquekou=FFL.VarData("foxquekou") vbfennumber=FFL.VarData("foxfennumber") 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") vbbuysell=FFL.VarData("foxbuysell") vbwei=FFL.Vardata("foxwei") vbxian=FFL.Vardata("foxxian") vbxiang=FFL.Vardata("foxxiang") vbxiand=FFL.Vardata("foxxiand") vbzhsh = FFL.VarData("foxzhsh") vbzhshg = FFL.VarData("foxzhshg") vbzhshd = FFL.VarData("foxzhshd") vbzhshgg = FFL.VarData("foxzhshgg") vbzhshdd = FFL.VarData("foxzhshdd") vbzhsh5 = FFL.VarData("foxzhsh5") vbzhshg5 = FFL.VarData("foxzhshg5") vbzhshd5 = FFL.VarData("foxzhshd5") vbzhshgg5 = FFL.VarData("foxzhshgg5") vbzhshdd5 = FFL.VarData("foxzhshdd5") vbzhsh15 = FFL.VarData("foxzhsh15") vbzhshg15 = FFL.VarData("foxzhshg15") vbzhshd15 = FFL.VarData("foxzhshd15") vbzhshgg15 = FFL.VarData("foxzhshgg15") vbzhshdd15 = FFL.VarData("foxzhshdd15") vbzhsh30 = FFL.VarData("foxzhsh30") vbzhshg30 = FFL.VarData("foxzhshg30") vbzhshd30 = FFL.VarData("foxzhshd30") vbzhshgg30 = FFL.VarData("foxzhshgg30") vbzhshdd30 = FFL.VarData("foxzhshdd30") vbzhsh60 = FFL.VarData("foxzhsh60") vbzhshg60 = FFL.VarData("foxzhshg60") vbzhshd60 = FFL.VarData("foxzhshd60") vbzhshgg60 = FFL.VarData("foxzhshgg60") vbzhshdd60 = FFL.VarData("foxzhshdd60") vbzhshr = FFL.VarData("foxzhshr") vbzhshgr = FFL.VarData("foxzhshgr") vbzhshdr = FFL.VarData("foxzhshdr") vbzhshggr = FFL.VarData("foxzhshggr") vbzhshddr = FFL.VarData("foxzhshddr") vbzhshz = FFL.VarData("foxzhshz") vbzhshgz = FFL.VarData("foxzhshgz") vbzhshdz = FFL.VarData("foxzhshdz") vbzhshggz = FFL.VarData("foxzhshggz") vbzhshddz = FFL.VarData("foxzhshddz") vbzhshy = FFL.VarData("foxzhshy") vbzhshgy = FFL.VarData("foxzhshgy") vbzhshdy = FFL.VarData("foxzhshdy") vbzhshggy = FFL.VarData("foxzhshggy") vbzhshddy = FFL.VarData("foxzhshddy") vbzhshn = FFL.VarData("foxzhshn") vbzhshgn = FFL.VarData("foxzhshgn") vbzhshdn = FFL.VarData("foxzhshdn") vbzhshggn = FFL.VarData("foxzhshggn") vbzhshddn = FFL.VarData("foxzhshddn") vbzhshmm=FFL.VarData("foxzhshmm") vbzhshmm5=FFL.VarData("foxzhshmm5") vbzhshmm15=FFL.VarData("foxzhshmm15") vbzhshmm30=FFL.VarData("foxzhshmm30") vbzhshmm60=FFL.VarData("foxzhshmm60") vbzhshmmr=FFL.VarData("foxzhshmmr") vbzhshmmz=FFL.VarData("foxzhshmmz") vbzhshmmy=FFL.VarData("foxzhshmmy") vbzhshmmn=FFL.VarData("foxzhshmmn") vbyanwei=FFL.Vardata("foxyanwei") maxyanbi=FFL.VarData("datanumber4") vbyanbicount=FFL.Vardata("foxyanbicount")nlast = UBound( vbh ) foxbicount=0 x1=0 x2=0 x3=0 x4=0 x5=0 x6=0 x7=0 '先取三个分型数据,然后进入循环处理 a=0 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x1=a a=x1+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x2=a a=x2+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x3=a a=x3+1 bi=0 zhshbegin=x1 zhshxing=0 '是否已形成中枢 zhshhoubi=0 '形成中枢后笔记数器 yanshen=0 '是否延伸 yanshenbi=0 '延伸的笔数 qushi=0 '趋势 zhshend=0 maxbi=0FOR m=a TO nlast '(1)开始 中枢级别为:1分,5分,15分,30分,60分,日,周,月,年,分别用vbdatanumber代表即:1,2,3,4,5,6,7,8,9 if (vbxian(m)<>0) then '(2) begin 只在分型不为0时进行处理,即:是分型时处理 if (zhshxing=1) then zhshhoubi=zhshhoubi+1 end if x4=m if (zhshbegin=0) then zhshbegin=x1 end if if (zhshxing=0) then '(3)开始 没有中枢形成的情况 if (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 if if (zg>=zd) then '(4)开始 形成中枢 if (zhshxing=0) then vbzhsh(zhshbegin)=1 vbzhshg(zhshbegin)=zg vbzhshd(zhshbegin)=zd vbzhshgg(zhshbegin)=gg vbzhshdd(zhshbegin)=ddend if zhshxing=1 zhshend=m else '(4)else未形成中枢,下移一笔继续返回分析 zhshbegin=x2 x1=x2 x2=x3 x3=x4end if '(4)结束else '(3)else 有中枢形成的情况 'if (zhshhoubi Mod 2 =1) then '(5)begin中枢后的单数笔要判断中枢否结束,中枢结束的标志是中枢后的单数笔不回到中枢区间内(可能是震荡或趋势),中枢后的单数笔回到中枢区间内则为中枢延伸 '单数笔肯定回到波动区间,但不一定回中枢区间;不回中枢区间则要看下面走势的发展若其后走势不回到波动区间则构成趋势,若其后走势回到波动区间是中枢振荡 ',回中枢区间也是振荡.新中枢自当下M的分型开始,原中枢自zhshend(上一个M)处结束.此处与教材不同,比教材要早确认一个分型 if (vbxian(m)>0) then '(6)顶分型,要比较三种情况即:vbxiang(m)是否大于等于GG,ZG,ZD,大于等于ZD为延伸,大于等于ZG,大于等于GG,若下一个(即:zhshhoubi Mod 2 =0)底回到中枢(即:vbxiand(m)<=ZG)则为延伸否则为三卖 if (vbxiang(m)>=zd) then '(7) begin中枢后的单数笔回到中枢区间内则为中枢延伸,要记录下来, vbxiang(m)肯定于大于等于dd,因是相邻分型顶肯定要大于底,在计算笔时已有保证,要计算延伸中枢四个数据 yanshen=1 yanshenbi=yanshenbi+1 maxyanbi=max(maxyanbi,yanshenbi) vbyanwei(m)=m vbyanbicount(m)=yanshenbi if (yanshenbi<6) then zhshend=m else '延伸超过6笔构成级别扩展,上一级别中枢结束,新的本级别中枢开始 vbzhsh(zhshend)=2 vbzhshg(zhshend)=zg vbzhshd(zhshend)=zd vbzhshgg(zhshend)=gg vbzhshdd(zhshend)=dd vbzhsh(zhshbegin)=1 vbzhshg(zhshbegin)=zg vbzhshd(zhshbegin)=zd vbzhshgg(zhshbegin)=gg vbzhshdd(zhshbegin)=ddyanshen=0 yanshenbi=0 zhshxing=0 vbzhsh5(m)=2 vbzhsh5(zhshbegin)=1a=m+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x1=a zhshbegin=x1 a=x1+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x2=a a=x2+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x3=a m=x3+1 zhshhoubi=0 end if else '(7) else 单数笔不回到中枢区间内,形成第三类卖点,应标记出来,同时老中枢结束新中枢开始,老中枢在zhshend处结束新中枢在当下m处理开始,形成中枢振荡 yanshen=0 yanshenbi=0 vbzhshmm(m)=-1 '-1为卖与分型数正好相反 ,1为买,将中枢结束信息记录到zhsheng位置 ,再取两个分型进行比较,因第一个分型即是m所以x1的值的为m,x1不用计算只取x2和x3 zhshxing=0 vbzhsh(zhshend)=2 vbzhshg(zhshend)=zg vbzhshd(zhshend)=zd vbzhshgg(zhshend)=gg vbzhshdd(zhshend)=dd vbzhsh(zhshbegin)=1 vbzhshg(zhshbegin)=zg vbzhshd(zhshbegin)=zd vbzhshgg(zhshbegin)=gg vbzhshdd(zhshbegin)=dd if (yanshenbi>=6) then '(12)begin 延伸超过6笔构成级别扩展,计算上一级别(5分)中枢的中枢区间及波动区间,ygg,yzg,yzd,ydd已经计算 vbzhsh5(zhshbegin)=1 vbzhsh5(m)=2 end if '(12)结束zhshbegin=m x1=m a=x1+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x2=a a=x2+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x3=a m=x3+1 zhshhoubi=0 end if '(7)结束 else '(6) else底分型,要比较三种情况即:vbxiand(m)是否小于等于ZG,ZD,DD,小于等于ZG为延伸,小于等于ZG,小于等于DD,若下一个(即:zhshhoubi Mod 2 =0)顶回到中枢(即:vbxiang(m)>=ZD)则为延伸否则为三买 if (vbxiand(m)<=zg) then '(8) begin中枢后的单数笔回到中枢区间内则为中枢延伸,要记录下来, vbxiand(m)肯定于小于等于gg,因是相邻分型顶肯定要大于底,在计算笔时已有保证 yanshen=1 yanshenbi=yanshenbi+1 maxyanbi=max(maxyanbi,yanshenbi) vbyanwei(m)=m vbyanbicount(m)=yanshenbi if (yanshenbi<6) then zhshend=m else '延伸超过6笔构成级别扩展,上一级别中枢结束,新的本级别中枢开始 vbzhsh(zhshend)=2 vbzhshg(zhshend)=zg vbzhshd(zhshend)=zd vbzhshgg(zhshend)=gg vbzhshdd(zhshend)=dd vbzhsh(zhshbegin)=1 vbzhshg(zhshbegin)=zg vbzhshd(zhshbegin)=zd vbzhshgg(zhshbegin)=gg vbzhshdd(zhshbegin)=dd yanshen=0 yanshenbi=0 zhshxing=0 vbzhsh5(m)=2 vbzhsh5(zhshbegin)=1a=m+1 Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loopx1=a zhshbegin=x1 a=x1+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x2=a a=x2+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x3=a m=x3+1 zhshhoubi=0end if else '(8) else 单数笔不回到中枢区间内,形成第三类买点,应标记出来,同时老中枢结束新中枢开始,老中枢在zhshend处结束新中枢在当下m处开始,形成中枢振荡 yanshen=0 yanshenbi=0 vbzhshmm(m)=1 '-1为卖与分型数正好相反 ,1为买,将中枢结束信息记录到zhsheng位置 ,再取两个分型进行比较,因第一个分型即是m所以x1的值的为m,x1不用计算只取x2和x3 zhshxing=0 vbzhsh(zhshend)=2 vbzhshg(zhshend)=zg vbzhshd(zhshend)=zd vbzhshgg(zhshend)=gg vbzhshdd(zhshend)=dd vbzhsh(zhshbegin)=1 vbzhshg(zhshbegin)=zg vbzhshd(zhshbegin)=zd vbzhshgg(zhshbegin)=gg vbzhshdd(zhshbegin)=dd if (yanshenbi>=6) then '(13)begin 延伸超过6笔构成级别扩展,计算上一级别(5分)中枢的中枢区间及波动区间,ygg,yzg,yzd,ydd已经计算 vbzhsh5(zhshbegin)=1 vbzhsh5(m)=2 end if '(13)结束 zhshbegin=m x1=m a=x1+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x2=a a=x2+1 if (a <= nlast) then Do While ( vbxian(a) = 0 and a <= nlast) a = a + 1 if (a = nlast) then exit do end if Loop end if x3=a m=x3+1 zhshhoubi=0end if '(8)结束end if '(6)结束 'else '(5)else'end if '(5)结束 end if '(3)结束 end if '(2) 结束 NEXT '(1)结束 if (zhshxing=1) then vbzhsh(nlast)=2 vbzhshg(nlast)=zg vbzhshd(nlast)=zd vbzhshgg(nlast)=gg vbzhshdd(nlast)=dd end if a=0FOR m=0 TO nlast if (vbzhsh5(m)>0) then if (vbzhsh5(m)=2) then if (a>0) then vbzhsh5(a)=0 end if a=m else a=0 end if end if next a=0 ygg=0 ydd=0 FOR m=0 TO nlast if (vbxian(m)<>0 ) then '1 begin if (vbzhsh(m)=1) then '2 BEGIN gg=vbzhshgg(m) dd=vbzhshdd(m) a=1 end if '2 END if (a=1) then '3 BEGIN if (vbxian(m)=1 ) then if (vbxiang(m)=gg and ygg=0) then vbzhshgg(m)=gg ygg=1 end if else if (vbxiand(m)=dd and ydd=0) then vbzhshdd(m)=dd ydd=1 end if end if end if '3 END if (vbzhsh(m)=2) then a=0 ygg=0 ydd=0 end if end if '1 end next '将本级别vbzhsh高高点和低低点的数据也计算出来,后面要用到 FOR m=0 TO nlast '延伸成高级别中枢的情况应先分成三个连续的三段每段取最高点和最低点然后再按高点中的低者,低点中的高者的规则计算高级中枢的中枢区间及高高点和低低点 if (vbxian(m)<>0) then if (vbzhsh5(m)=1) then zhshbegin=m x1=1 x2=0 x3=1000000 x4=0 x5=1000000 x6=0 x7=1000000 end if if (x1>=1 ) then x1=x1+1 if (x1<=3) then x2=max(x2,vbxiang(m)) x3=min(x3,vbxiand(m)) else if (x1<=6) then x4=max(x4,vbxiang(m)) x5=min(x5,vbxiand(m)) else x6=max(x6,vbxiang(m)) x7=min(x7,vbxiand(m)) end if end if if (vbzhsh5(m)=2) then zg=min(x2,x4) zg=min(zg,x6) gg=max(x2,x4) gg=max(gg,x6) zd=max(x3,x5) zd=max(zd,x7) dd=min(x3,x5) dd=min(dd,x7) vbzhshg5(zhshbegin)=zg vbzhshd5(zhshbegin)=zd vbzhshgg5(zhshbegin)=gg vbzhshdd5(zhshbegin)=dd vbzhshg5(m)=zg vbzhshd5(m)=zd vbzhshgg5(m)=gg vbzhshdd5(m)=dd x1=0 end if end if end if next '计算5分即:本级中枢延伸柢成的上一级别中枢的数据Function max(a, b) If (a >= b) Then max = a Else max = b End If End Function Function min(a, b) If (a <= b) Then min = a Else min = b End If End Function FFL.VarData("foxzhsh") = vbzhsh FFL.VarData("foxzhshg") = vbzhshg FFL.VarData("foxzhshd") = vbzhshd FFL.VarData("foxzhshgg") = vbzhshgg FFL.VarData("foxzhshdd") = vbzhshdd FFL.VarData("foxzhsh5") = vbzhsh5 FFL.VarData("foxzhshg5") = vbzhshg5 FFL.VarData("foxzhshd5") = vbzhshd5 FFL.VarData("foxzhshgg5") = vbzhshgg5 FFL.VarData("foxzhshdd5") = vbzhshdd5 FFL.VarData("foxzhsh15") = vbzhsh15 FFL.VarData("foxzhshg15") = vbzhshg15 FFL.VarData("foxzhshd15") = vbzhshd15 FFL.VarData("foxzhshgg15") = vbzhshgg15 FFL.VarData("foxzhshdd15") = vbzhshdd15 FFL.VarData("foxzhsh30") = vbzhsh30 FFL.VarData("foxzhshg30") = vbzhshg30 FFL.VarData("foxzhshd30") = vbzhshd30 FFL.VarData("foxzhshgg30") = vbzhshgg30 FFL.VarData("foxzhshdd30") = vbzhshdd30 FFL.VarData("foxzhsh60") = vbzhsh60 FFL.VarData("foxzhshg60") = vbzhshg60 FFL.VarData("foxzhshd60") = vbzhshd60 FFL.VarData("foxzhshgg60") = vbzhshgg60 FFL.VarData("foxzhshdd60") = vbzhshdd60 FFL.VarData("foxzhshr") = vbzhshr FFL.VarData("foxzhshgr") = vbzhshgr FFL.VarData("foxzhshdr") = vbzhshdr FFL.VarData("foxzhshggr") = vbzhshggr FFL.VarData("foxzhshddr") = vbzhshddr FFL.VarData("foxzhshz") = vbzhshz FFL.VarData("foxzhshgz") = vbzhshgz FFL.VarData("foxzhshdz") = vbzhshdz FFL.VarData("foxzhshggz") = vbzhshggz FFL.VarData("foxzhshddz") = vbzhshddz FFL.VarData("foxzhshy") = vbzhshy FFL.VarData("foxzhshgy") = vbzhshgy FFL.VarData("foxzhshdy") = vbzhshdy FFL.VarData("foxzhshggy") = vbzhshggy FFL.VarData("foxzhshddy") = vbzhshddy FFL.VarData("foxzhshn") = vbzhshn FFL.VarData("foxzhshgn") = vbzhshgn FFL.VarData("foxzhshdn") = vbzhshdn FFL.VarData("foxzhshggn") = vbzhshggn FFL.VarData("foxzhshddn") = vbzhshddn FFL.VarData("foxzhshmm")= vbzhshmm FFL.VarData("foxzhshmm5")= vbzhshmm5 FFL.VarData("foxzhshmm15")= vbzhshmm15 FFL.VarData("foxzhshmm30")= vbzhshmm30 FFL.VarData("foxzhshmm60")= vbzhshmm60 FFL.VarData("foxzhshmmr")= vbzhshmmr FFL.VarData("foxzhshmmz")= vbzhshmmz FFL.VarData("foxzhshmmy")= vbzhshmmy FFL.VarData("foxzhshmmn")= vbzhshmmn FFL.VarData("datanumber3") =maxbi FFL.Vardata("foxyanwei")=vbyanwei FFL.VarData("datanumber4") =maxyanbi FFL.Vardata("foxyanbicount")=vbyanbicount %> DRAWLINE(((FOXZHSH=1) AND (FOXZHSHDD>0)),FOXZHSHG,(FOXZHSH=2),FOXZHSHG,0),colorFF; DRAWLINE(((FOXZHSH=1) AND (FOXZHSHDD>0)),FOXZHSHD,(FOXZHSH=2),FOXZHSHD,0),colorFF; STICKLINE(((FOXZHSH=1) AND (FOXZHSHDD>0)),FOXZHSHDD,FOXZHSHGG,0,0),LINEDASHDOT,colorFF; STICKLINE(((FOXZHSH=2) AND (FOXZHSHDD>0)),FOXZHSHDD,FOXZHSHGG,0,0),LINEDASHDOT,colorFF; DRAWTEXT(((FOXZHSH=1) AND (FOXZHSHDD>0)),FOXZHSHG,'\n本\n级'),colorFF; DRAWLINE(((FOXZHSH=1) AND (FOXZHSHDD>0)),FOXZHSHGG,(FOXZHSH=2),FOXZHSHGG,0),LINEDASHDOT,colorFF; DRAWLINE(((FOXZHSH=1) AND (FOXZHSHDD>0)),FOXZHSHDD,(FOXZHSH=2),FOXZHSHDD,0),LINEDASHDOT,colorFF; DRAWTEXT(((FOXZHSHMM>=1) AND (FOXZHSHDD>0)),IF((FOXL<LOW),FOXL,LOW),'\n \n \n本\n级\n三\n买'),colorFF; DRAWTEXT(((FOXZHSHMM<=-1) AND (FOXZHSHDD>0)),IF((FOXH>HIGH),FOXH,HIGH),'\n \n \n本\n级\n三\n卖'),colorFFFF; DRAWTEXT(((FOXZHSHMM>=2) AND (FOXZHSHDD>0)),IF((FOXL<LOW),FOXL,LOW),' 本级二买'),colorFF; DRAWTEXT(((FOXZHSHMM<=-2) AND (FOXZHSHDD>0)),IF((FOXH>HIGH),FOXH,HIGH),' 本级二卖'),colorFFFF; DRAWTEXT(((FOXZHSHMM>=3) AND (FOXZHSHDD>0)),IF((FOXL<LOW),FOXL,LOW),' 本级一买'),colorFF; DRAWTEXT(((FOXZHSHMM<=-3) AND (FOXZHSHDD>0)),IF((FOXH>HIGH),FOXH,HIGH),' 本级一卖'),colorFFFF; DRAWTEXT(((FOXZHSHMM>=4) AND (FOXZHSHDD>0)),IF((FOXL<LOW),FOXL,LOW),' 本级00买'),colorFF; DRAWTEXT(((FOXZHSHMM<=-4) AND (FOXZHSHDD>0)),IF((FOXH>HIGH),FOXH,HIGH),' 本级00卖'),colorFFFF; DRAWICON(((FOXZHSHMM>=1) AND (FOXZHSHDD>0)),IF((FOXL<LOW),FOXL,LOW),1); DRAWICON(((FOXZHSHMM<=-1) AND (FOXZHSHDD>0)),IF((FOXH>HIGH),FOXH,HIGH),2),ALIGN2; <% vbquekou=FFL.VarData("foxquekou") vbfennumber=FFL.VarData("foxfennumber") 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") vbbuysell=FFL.VarData("foxbuysell") vbwei=FFL.Vardata("foxwei") vbxian=FFL.Vardata("foxxian") vbxiang=FFL.Vardata("foxxiang") vbxiand=FFL.Vardata("foxxiand") vbzhsh = FFL.VarData("foxzhsh") vbzhshg = FFL.VarData("foxzhshg") vbzhshd = FFL.VarData("foxzhshd") vbzhshgg = FFL.VarData("foxzhshgg") vbzhshdd = FFL.VarData("foxzhshdd") vbzhsh5 = FFL.VarData("foxzhsh5") vbzhshg5 = FFL.VarData("foxzhshg5") vbzhshd5 = FFL.VarData("foxzhshd5") vbzhshgg5 = FFL.VarData("foxzhshgg5") vbzhshdd5 = FFL.VarData("foxzhshdd5") vbzhsh15 = FFL.VarData("foxzhsh15") vbzhshg15 = FFL.VarData("foxzhshg15") vbzhshd15 = FFL.VarData("foxzhshd15") vbzhshgg15 = FFL.VarData("foxzhshgg15") vbzhshdd15 = FFL.VarData("foxzhshdd15") vbzhsh30 = FFL.VarData("foxzhsh30") vbzhshg30 = FFL.VarData("foxzhshg30") vbzhshd30 = FFL.VarData("foxzhshd30") vbzhshgg30 = FFL.VarData("foxzhshgg30") vbzhshdd30 = FFL.VarData("foxzhshdd30") vbzhsh60 = FFL.VarData("foxzhsh60") vbzhshg60 = FFL.VarData("foxzhshg60") vbzhshd60 = FFL.VarData("foxzhshd60") vbzhshgg60 = FFL.VarData("foxzhshgg60") vbzhshdd60 = FFL.VarData("foxzhshdd60") vbzhshr = FFL.VarData("foxzhshr") vbzhshgr = FFL.VarData("foxzhshgr") vbzhshdr = FFL.VarData("foxzhshdr") vbzhshggr = FFL.VarData("foxzhshggr") vbzhshddr = FFL.VarData("foxzhshddr") vbzhshz = FFL.VarData("foxzhshz") vbzhshgz = FFL.VarData("foxzhshgz") vbzhshdz = FFL.VarData("foxzhshdz") vbzhshggz = FFL.VarData("foxzhshggz") vbzhshddz = FFL.VarData("foxzhshddz") vbzhshy = FFL.VarData("foxzhshy") vbzhshgy = FFL.VarData("foxzhshgy") vbzhshdy = FFL.VarData("foxzhshdy") vbzhshggy = FFL.VarData("foxzhshggy") vbzhshddy = FFL.VarData("foxzhshddy") vbzhshn = FFL.VarData("foxzhshn") vbzhshgn = FFL.VarData("foxzhshgn") vbzhshdn = FFL.VarData("foxzhshdn") vbzhshggn = FFL.VarData("foxzhshggn") vbzhshddn = FFL.VarData("foxzhshddn") vbzhshmm=FFL.VarData("foxzhshmm") vbzhshmm5=FFL.VarData("foxzhshmm5") vbzhshmm15=FFL.VarData("foxzhshmm15") vbzhshmm30=FFL.VarData("foxzhshmm30") vbzhshmm60=FFL.VarData("foxzhshmm60") vbzhshmmr=FFL.VarData("foxzhshmmr") vbzhshmmz=FFL.VarData("foxzhshmmz") vbzhshmmy=FFL.VarData("foxzhshmmy") vbzhshmmn=FFL.VarData("foxzhshmmn") vbyanwei=FFL.Vardata("foxyanwei") maxyanbi=FFL.VarData("datanumber4") vbyanbicount=FFL.Vardata("foxyanbicount")nlast = UBound( vbh ) foxbicount=0 x1=0 x2=0 x3=0 x4=0 x5=0 x6=0 x7=0 '先取三个分型数据,然后进入循环处理'要逐分型判断,取第一个1分中枢的高高和低低位置及信息,zhshxingci为次级别中枢形成标志,qushi为次级别趋势标志0为无趋势1为上上升-1为下降 a=0 x0=0 zhshhoubi=0 zhshxing=0 zhshbegin=0 zhshend=0 yanshen=0 yanshenbi=0 qushi=0 zhshbeginci=0 zhshendci=0 zhshbeginci1=0 zhshendci1=0 '找第一个1分中枢,找到后检查1分中枢开始位置是否也是5分中枢的开始位置(指是不是1分延伸出的5分,程序中对延伸的处理使用得延伸出的高级别中枢与次级别中枢在同一位置开始,结束位置不一样) FOR a=a TO nlast if (vbxian(a)<>0) then '(a)是分型时处理 if (zhshxing=0) then '(b)是否已形成了5分中枢 if (zhshbeginci=0) then '(c)是否已形成了1分中枢 if (vbzhsh(a) = 1) then '(d)是1分中枢开始位置;以1分中枢的数据为基础形成5分的中枢数据,要先判断1分的数据 if (vbzhsh5(a) = 1) then '(e)是5分中枢开始位置 zhshxing=1 zhshbegin=a zhshbeginci=0 zhshendci=0 yanshen=0 yanshenbi=0 qushi=0 zhshbeginci=0 zhshendci=0 zhshbeginci1=0 zhshendci1=0 zg=vbzhshg5(zhshbegin) gg=vbzhshgg5(zhshbegin) zd=vbzhshd5(zhshbegin) dd=vbzhshdd5(zhshbegin) else '(e) zhshxing=0 zhshbegin=a zhshbeginci=a ygg=vbzhshgg(zhshbeginci) ydd=vbzhshdd(zhshbeginci) end if '(e) end if '(d) else '(c) if (vbxian(a)=1 and vbxiang(a)=ygg ) then x1=a end if if (vbxian(a)=-1 and vbxiand(a)=ydd ) then x2=a end if if (vbzhsh(a) = 2) then zhshendci=a exit for end if end if '(c) else '(b) if (vbzhsh5(a) = 2) then zhshend=a exit for end if end if '(b) end if '(a) next a=a+1 FOR m=a TO nlast '(1)开始,此时m为第1个1分或第1个5分中枢结束位置加上1,zhshxing=1为5分0为1分,其下一个分型有可能为5分开始或1分开始或只是一笔三种情况 if ( vbxian(m)<>0 ) then '(2)开始 分型时处理,先判断是不是5分中枢再判断是不是1分中枢最后才是是不是笔 if (vbzhsh5(m)=1 ) then '(3)开始 是5分中枢开始,不论上一个m位置是1分5分还是单独的一笔均结束要取新5分的数据后返回,要判断此时zhshxing的值为1时要结束上一个5分中枢 if (zhshxing=1) then vbzhsh5(zhshbegin)=1 vbzhsh5(zhshend)=2 vbzhshg5(zhshbegin)=zg vbzhshgg5(zhshbegin)=gg vbzhshd5(zhshbegin)=zd vb |
下载地址: |
[ 下载地址1 ] |
下载帮助: |
发表评论 加入收藏夹 错误报告 |
相关软件: |
小月操盘线 一条能让你赚到钱的线沉船寻宝副图:无未来函数,有明显的买卖提示。爆涨前夜选股指标自用的一个主图公式庄家逃跑监控指标通达信 黄色立柱T+0分时指标 及选股 预警公式通达信起爆位置指标公式拔地而起!!!祝你股海扬帆!超准趋势线(源码 副图 通达信 贴图 说明)通达信抄底指标 |
下载说明: |
⊙推荐使用网际快车下载本站软件,使用 WinRAR v3.10 以上版本解压本站软件。
⊙如果这个软件总是不能下载的请点击报告错误,谢谢合作!!
⊙下载本站资源,如果服务器暂不能下载请过一段时间重试!
⊙如果遇到什么问题,请到本站论坛去咨寻,我们将在那里提供更多
、更好的资源!
⊙本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。 |
|
|
|