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

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 记数器。
缠论一买、三买选股公式(飞狐悟多公式)

缠论一买、三买选股公式(飞狐悟多公式) 缠论一买、三买选股公式(飞狐+悟多公式)公式指标 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 thenvar001:="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.001 vbdata2=1Select Case vbdatanumberCase 0vbdata=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.067 Case 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.2vbdata1=0.001 vbdata2=1.2 Case 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") =vbdataFFL.VarData("datanumber1") =vbdata1FFL.VarData("datanumber2") =vbdata2vbling = 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) then bianhua = 1 nvalue = nvalue + vbma(i) else bianhua = 2nvaluefu = nvaluefu + vbma(i)end ifif (oldbianhua = bianhua) then else vbma3(i) = mm=0if (bianhua = 1) thenvbma2(i) = nvaluefunvaluefu = 0'nvaluefu = 0elsevbma2(i) = nvaluenvalue = 0'nvalue = 0end ifend ifoldbianhua = bianhuanextFFL.VarData("ma2") = vbma2 FFL.VarData("ma3") = vbma3FFL.VarData("ling") =vbling %>DRAWNUMBER(REF(MA2,0)<0 AND0=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 AND0=1,HHV(HIGH,5),REF(MA2,0)*1000,0),colorFF;DRAWNUMBER(REF(MA2,0)>0 AND0=1,HHV(HIGH,5)+DATANUMBER,REF(MA3,0),0),colorFFFF;DRAWNUMBER(REF(MA2,0)>0 AND0=1,HHV(HIGH,5)+DATANUMBER*2,REF(MA2,0)*1000/REF(MA3,0),0),colorFF;MA1:=MA5-MA10;WEIHE:=LING;WEIPING:=LING;<%vbhe=FFL.VarData("weihe") vbping=FFL.VarData("weiping") vbma = FFL.VarData("ma1") nlast = UBound( vbma )nvalue = 0.0000nvaluefu = 0.0000bianhua = 2oldbianhua = 0i= 0m= nlastif (vbma(nlast) > 0) then Do While (vbma(m)>0) nvalue = vbma(m) + nvalue i=i+1m=m-1if(m<0) thenexit doend ifLoopelseDo While (vbma(m)<0) nvalue = vbma(m) + nvalue i=i+1m=m-1if(m<0) thenexit doend ifLoopend ifif (i=0) theni=1end ifnvaluefu = nvalue/ivbhe(nlast) = nvalue vbping(nlast) = nvaluefu FFL.VarData("weihe") =vbhe FFL.VarData("weiping")= vbping %>DRAWNUMBER(WEIHE<>0 AND0=1,IF(WEIHE>0,HIGH,LOW),WEIHE*1000,0),colorFF;DRAWNUMBER(WEIHE<>0 AND 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER*2,WEIPING*1000,0),colorFF00;DRAWNUMBER(WEIPING<>0 AND 0=1,(IF(WEIHE>0,HIGH,LOW))-DATANUMBER,WEIHE/WEIPING,0),colorFFFF;DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIFF,9);MACD:=2*(DIFF-DEA);MA1:=MACD;MA2:=MACD;MA3:=MACD;MA1WE:=MACD;HE:=MA2;WEIHEMACD:=0;WEIPINGMACD:=0;H1:=HIGH;L1:=LOW;FOXH:=HIGH;FOXL:=LOW;FOXBAOHAN:=LING;FOXBAOHAN1:=LING;FOXGUANXI:=LING;FOXFENXING:=LING;FOXFENXING1:=LING;FOXFENNUMBER:=LING;FOXQUEKOU:=LING;FOXBICOUNT:=LING;FOXWEIBI:=LING;<%vbquekou=FFL.VarData("foxquekou")vbfennumber=FFL.VarData("foxfennumber") vbdatanumber =FFL.VarData("datanumber") vbh = FFL.VarData("foxh")vbL = FFL.VarData("foxl")vbh1 = FFL.VarData("foxh")vbL1 = FFL.VarData("foxl")vbbaohan = FFL.VarData("foxbaohan") vbbaohan1 =FFL.VarData("foxbaohan1") vbguanxi = FFL.VarData("foxguanxi") vbfenxing = FFL.VarData("foxfenxing") vbfenxing1 = FFL.VarData("foxfenxing1") vbbicount=FFL.Vardata("foxbicount") vbweibi=FFL.Vardata("foxweibi") nlast = UBound( vbh )nvalue = 0.0000nvaluefu = 0.0000bianhua = 2vbguanxi(0) = 1for m = 1 to nlastif (vbh(m)>vbh(m-1) and vbl(m)>vbl(m-1)) thenvbguanxi(m)=1elseif (vbh(m)<vbh(m-1) and vbl(m)<vbl(m-1)) thenvbguanxi(m)=-1elsevbguanxi(m) = 0if (vbguanxi(m-1)=1) thenvbguanxi(m)=1if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) thenvbbaohan(m) = 2 vbbaohan(m-1) = 1 vbh(m-1)=vbh(m) vbl(m)=vbl(m-1) elsevbbaohan(m-1) = -1 vbbaohan(m) = -2 vbh(m)=vbh(m-1) vbl(m-1)=vbl(m) end ifelsevbguanxi(m)=-1if (vbh(m)>=vbh(m-1) and vbl(m)<=vbl(m-1)) thenvbbaohan(m) = 2 vbbaohan(m-1) = 1 vbh(m)=vbh(m-1) vbl(m-1)=vbl(m) elsevbbaohan(m-1) = -1 vbbaohan(m) = -2 vbh(m-1)=vbh(m) vbl(m)=vbl(m-1) end ifend ifend ifend ifnext'处理连续包含即:连续3个及以上K线间存在的包含关系for m = 0 to nlast vbbaohan1(m) = vbbaohan(m)NEXTi=0do while (vbbaohan(i)=0)i=i+1if (i>nlast) then Exit Doend ifloop'第一个包含的位置lastfenxing=ibao=0existbao=0for m = i to nlastif (vbbaohan(m) <> 0) then bao=bao+1if (bao>=2) thenif (vbbaohan(m)=2 and vbbaohan(m-1)=1 or vbbaohan(m)=-2 and vbbaohan(m-1)=-1) then vbbaohan1(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 ) then elsevbbaohan1(m-bao+i)=-3 end 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) andvbl(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 nlast vbfenxing1(m) = vbfenxing(m) vbfenxing1(m) = 0 nexti=0do while (vbfenxing(i)=0) i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) then if (vbfenxing(m)<>vbfenxing(lastfenxing)) thenlastfenxing=melseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) thenvbfenxing(lastfenxing)=0 lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0 lastfenxing=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=lastfenxing i=0for m = lastfenxing+1 to nlastif (vbbaohan(m) = 0) then bao=bao+1elseif (vbbaohan1(m) >=2 ) then n=n+1end ifend ifvbfenxing1(m) = bao+n '包含关系只视为一个k线'vbfenxing1(m)=vbbaohan1(m) 'if (m>735) then'exit for'end ifif (vbfenxing(m)<>0) then if (bao+n>= 4) then'分型间距离大于等于4 符合要求if (vbfenxing(m)<>vbfenxing(lastfenxing)) then'vbfenxing1(m)=vbfenxing(m) n=0bao=0lastfenxing1=lastfenxing lastfenxing=melseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then 'exit forvbfenxing(lastfenxing)=0 n=0bao=0lastfenxing1=lastfenxing lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0 n=0bao=0lastfenxing1=lastfenxing lastfenxing=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))then t1=vbl1(m)elset1=vbl(m)end ifif (vbh(i)>vbh1(i))then t2=vbh(m)elset2=vbh1(m)end ifif (t1>t2) thenn=0bao=0lastfenxing1=lastfenxing lastfenxing=m elsevbfenxing(m)=0end ifelseif (vbh(m)>vbh1(m))then t1=vbh(m)elset1=vbh1(m)end ifif (vbl(i)>vbl1(i))then t2=vbl(m)elset2=vbl1(m)end ifif (t1<t2) then'if (vbh(m)<vbl(i)) then n=0bao=0lastfenxing1=lastfenxing lastfenxing=m elsevbfenxing(m)=0end ifend ifelseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then 'exit forvbfenxing(lastfenxing)=0 n=0bao=0lastfenxing1=lastfenxing lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0 n=0bao=0lastfenxing1=lastfenxing lastfenxing=melsevbfenxing(m)=0end ifend if'顶要高的底要低的相等时要选时间在前面的 end ifend ifend ifnext'以上处理分型间距离不小于4的要求'以下去掉连续的顶或底i=0do while (vbfenxing(i)=0) i=i+1if (i>nlast) thenExit Doend iflooplastfenxing=i'取第一个分型位置'下面去掉连续的顶或底for m = lastfenxing+1+nlast to nlastif (vbfenxing(m)<>0) thenif (vbfenxing(m)<>vbfenxing(lastfenxing)) thenlastfenxing=melseif (vbfenxing(m)=1) then if (vbh(m)>vbh(lastfenxing)) then vbfenxing(lastfenxing)=0 lastfenxing=melsevbfenxing(m)=0end ifelseif (vbl(m)<vbl(lastfenxing)) thenvbfenxing(lastfenxing)=0 lastfenxing=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) then if (vbfenxing(m)>0) then if(vbh(m)>vbl(lastfenxing)) then'满足条件顶>底lastfenxing=melse'不满足条件顶>底两个全置为0,并查下一个vbfenxing(m)=0vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) then Exit Doend iflooplastfenxing=mend ifelseif (vbl(m)<vbh(lastfenxing)) then'满足条件底<顶lastfenxing=melse'不满足条件底<顶两个全置为0,并查下一个 vbfenxing(m)=0 vbfenxing(lastfenxing)=0m=m+1do while (vbfenxing(m)=0)m=m+1if (m>nlast) then Exit Doend iflooplastfenxing=mend ifend ifend ifnexti=0for m = 0 to nlast if (vbfenxing(m)<>0) theni=i+1vbfennumber(m)=i end 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) then exit doend ifa = a + 1Loopx1=aa=x1+1Do While ( a < nlast) if ( vbfenxing(a) <> 0) then exit doend ifa = a + 1Loopx2=aa=x2+1Do While ( a < nlast) if ( vbfenxing(a) <> 0) then exit 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) then zhshbegin=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")=vbweibi FFL.Vardata("foxbicount")=vbbicount FFL.VarData("foxh") =vbhFFL.VarData("foxl") =vblFFL.VarData("foxbaohan") = vbbaohan FFL.VarData("foxbaohan1") = vbbaohan1 FFL.VarData("foxguanxi") = vbguanxi FFL.VarData("foxfenxing")= vbfenxing FFL.VarData("foxfenxing1") = vbfenxing1FFL.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" orvbzqdm ="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 ) then exit 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 orvbweibi(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) Then xianfang = -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) = dd For m = i To nlast '(2)Do While ( m <= nlast) If (vbfenxing(m) <> 0 ) then exit doend ifm = m + 1Loopx4 = mm = x4 + 1Do While ( m <= nlast) If (vbfenxing(m) <> 0 ) then exit doend ifm = m + 1Loopx5 = mm = x5 + 1newtewei = x4if ( x5 > nlast) then exit 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) 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 orvbweibi(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 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) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei) vbteg(tewei) = vbh(x3) Elsexianfang = 1'以底分型开始,线段方向向上vbteg(tewei) = vbh(tewei) vbted(tewei) = vbl(x3) End Ifvbtegx(tewei) = xianfang tenumber = 0else'else 原线段继续tewei=newteweivbtegx(newtewei) = xianfang x2=x4x3=x5m = x5 + 1end if'开始结束else'(tenumber)tenumber = 0bao = 0xianbegin = teweivbxian(xianbegin) = vbfenxing(xianbegin)vbxiang(xianbegin) = vbh(xianbegin)vbxiand(xianbegin) = vbl(xianbegin)x2 = X3x3 = x4tewei = x2If (vbfenxing(xianbegin) = 1) Thenxianfang = -1'以顶分型开始,线段方向向下vbted(tewei) = vbl(tewei) vbteg(tewei) = vbh(x3) Else xianfang = 1'以底分型开始,线段方向向上vbteg(tewei) = vbh(tewei) vbted(tewei) = vbl(x3) End If vbtegx(tewei) = xianfang m = x3+1end if'(tenumber)else'{}不构成线段,原线段继续tewei=newteweivbtegx(newtewei) = xianfang x2=x4x3=x5m = x5 + 1end if'{}Else'(5)线段方向与特征序列关系相同,未出现分型tewei的值更新为newtewei 'tenumber = 1+tenumber vbtegx(newtewei) = xianfang tewei=newtewei x2=x4x3=x5End 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) = 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 ) then exit doend iftemp = temp - 1Loopif (temp<0) then" & cstr(nlast) ) 'msgbox("当前的10 temp:" & cstr(temp) & "当前的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 ) then exit 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 + 2 temp = tewei - 1For i = 1 To bao + 2 If (i = 1 Or i = bao + 2) Then ElseDo While ( temp >0)If (vbteg(temp) <> 0 ) then exit 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 nlast If (vbtebao(i) = -2) Then vbtebao(i) = 2End IfIf (vbtebao1(i) = -2) Then vbtebao1(i) = 2End IfNext'包含关系标准化,即结束标志都为2及以上 '处理线段的两个端点满足条件顶>=底i=0。
缠论实战买点操作法则

缠论实战买点操作法则总结了很多缠论高手的授课和实盘经验,归纳一下,发现此方法值得我们去学习。
当然这个需要不断的复盘和练习。
此方法主要是个股买入操作,我们的盈利是个股操作,不是做大盘,大家应该明白的。
也就是把缠论结合到个股操作实战上去。
当然也需要很好的悟性,学以致用,举一反三。
缠论个股实战纲领分形态学,力学,走势分类。
形态学主要是盘整走势和趋势走势,力学就是判断背驰和力度,走势分类是一个走势类型与其连接的几种可能性。
缠论个股实战操作用得最多就是A0和递归 a+A+b+B+c 日线图看各个级别。
A0应该都知道,就是线段的延伸,走势的延伸,如何判断线段或走势的介入点和卖出点。
递归,级别上的逻辑推理,大级别看框架,小级别看细节。
俗称三级联立。
a+A+b+B+c,分a+A+b和a+A+b+B+c。
这种模式是缠论的分析方式,这种逻辑推理是要有时间顺序,先有a,然后才会有A,A之后会出现b,b之后会不会出现B就要看3买点,B出现后要看是不是走出c。
也就是说a+A+b+B+c,这个是有顺序出现,一旦打破顺序,其走势就很有可能结束了。
这叫做顺序递推原则。
日线图看各个级别。
其实也就是说,在日线图上你可以看到任何级别的走势,这个需要研究级别之间放大镜的关系,比如日线1-2根K线为十字星是1分钟中枢,日线2-3根K线区间有包含关系并列排列的K线为5分钟中枢,日线的3笔重叠为30分钟中枢。
这个东西就要大家自己去专研了。
一点都不难,主要是头脑清晰,找到中枢的级别,前后连接段就是走势的级别。
现在最需要重视的就是个股的走势形态结构,有俩个典型的形态,是我们必须要印在脑海里的,这个是赚钱的源泉。
形态一。
三叠加走势转趋势形态,1买出现后,回调不新低为2买。
2买后直接飙涨。
一般这种形态出现在中枢震荡后的主升浪。
形态二。
一拉三震荡。
也就是说1买出现后,围绕2买做一次震荡中枢。
然后再走主升浪或背驰段。
以上俩种形态实用于各大级别,任何起涨都跑不掉这俩种形态。
缠论买点公式

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

缠论一买、三买选股公式(飞狐+悟多公式)公式指标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;。
缠论买点公式化及实例应用图解

缠论买点公式化及实例应用图解缠中说禅的伟大之处,在于她的天才智慧和博大精深的理论,以及无私奉献与爱国主义精神。
其不废一法而行千法万法,行千法万法而不立一法,于所知所行而自在。
令人仰慕!很多人学缠用缠,都急于求成,但是如果对于一些最基本的笔/线段/中枢/级别/背驰,如果不理解其最基本的定义,缠论的操作股票核心内容之一的形态学和动力学,也就无法熟知应用。
恰恰形态学和动力学,就可以把股票的走势,包括其它的交易品种的走势,都勾画得很清晰。
学缠用缠的人,都是想立刻找道一根金拐杖。
就算是金拐杖,可在不同的人的手里,运用不当,也可能会变成铁拐杖,或木拐杖,甚至凶器。
在每个级别,都有123买卖点,以及中枢震荡买卖点,其实最终都可以归咎于次级别的第一买卖点。
每个级别的结构都是同构的,当然级别越低,需要的技术就越精确。
目前在缠论公式方面,“悟多”的公式比较贴近缠论。
由于缠论的多样性,使得走势的分解可以有多种情况,所以真正应用一些公式化的东西的时候,须提防出现一些类似的未来函数。
对于缠论的买点信号公式化,在缠中说禅社区论坛上面已经有过。
在这里,笔者可以提供一些设计的思路:1.第一类买点:(1).在一个标准的"a+A+b+B+c"的下跌走势后,也就是两个中枢连接的下跌后,开始关注C背驰段的结束点,结合MACD,在次级别给予精确定位,一般可以买到最低点。
5F级别和5F以上的大级别,从顶部下跌后出现2个下跌中枢,则一般进入背驰段,但是1F的小级别可能会出现2-5个下跌中枢。
实际应用中,通常把本级别线段的起点(线段底),作为本级别的1买点,这样有时也会出现3个走势笔或5个走势笔或7个走势笔下跌,底背驰后,出现1买点。
(2).第一买点可以买到最低的价格,看起来好象是在抄底,这就要对底背驰有精确的判断,所以30F的大级别可以选用1买点,但是小级别的买点最好选用第2买点,才比较安全。
例如:600538的1F1买点,笔者在3月25日买到了最低价8.24元,由于级别较小,所以出现2买点后的拉升,就可以兑现部分仓位.比如,30F大级别的123买点,大牛股000753的图形非常标准:2.第2类买点:比如30F级别出现第一买点后,出现第一个30F线段的上涨,在日线图上,相当于一个日线向上笔。
缠论三类买点选股公式

缠论三类买点选股公式
摘要:
1.缠论三类买点的定义和分类
2.缠论三类买点的选股公式
3.使用缠论三类买点选股公式的注意事项
正文:
一、缠论三类买点的定义和分类
缠论是一种基于浪的理论体系,主要研究市场价格波动的规律。
在缠论中,买点是指在价格波动中,可能出现上涨的点位。
根据价格波动的不同特点,缠论将买点分为三类:
1.第一类买点:价格从下跌趋势转为上涨趋势的点位。
2.第二类买点:价格从下跌趋势转为盘整趋势的点位。
3.第三类买点:价格从盘整趋势转为上涨趋势的点位。
二、缠论三类买点的选股公式
1.第一类买点选股公式:
(1) 找到价格下跌趋势的结束点,即价格出现底背离的点位。
(2) 底背离出现后,价格开始上涨,且上涨幅度超过前一波下跌幅度的1/2。
2.第二类买点选股公式:
(1) 找到价格下跌趋势的结束点,即价格出现底背离的点位。
(2) 底背离出现后,价格开始进入盘整阶段,且盘整阶段的价格波动幅度
较小。
(3) 盘整阶段结束后,价格开始上涨,且上涨幅度超过盘整阶段的价格波动幅度。
3.第三类买点选股公式:
(1) 找到价格盘整趋势的结束点,即价格出现突破盘整区间的点位。
(2) 突破盘整区间后,价格开始上涨,且上涨幅度超过盘整阶段的价格波动幅度的1/2。
三、使用缠论三类买点选股公式的注意事项
1.选股时应结合市场整体走势,避免在市场整体下跌趋势中使用买点公式。
2.选股时应关注个股的基本面信息,避免选择基本面较差的股票。
3.选股时应结合其他技术分析指标,如均线、MACD 等,以提高选股的准确性。
缠论买点公式

KX:='CHANLUN@KXIAN';KXG:='CHANLUN@KXG';KXD:='CHANLUN@KXD';KXFX:='CHANLUN@KXFX';笔:='CHANLUN@BI';笔周期:='CHANLUN@BILAST',LINETHICK0, COLORFF00FF; BILAST:='CHANLUN@BILAST';{笔周期};段:='CHANLUN@DUAN';段周期:='CHANLUN@DUANLAST', LINETHICK0, COLORFFFFFF; DUANLAST:='CHANLUN@DUANLAST'; {段周期};中枢:='CHANLUN@ZS';ZSZG:='CHANLUN@ZSZG';ZSZD:='CHANLUN@ZSZD';ZSGG:='CHANLUN@ZSGG';ZSDD:='CHANLUN@ZSDD';ZSZZ:='CHANLUN@ZSZZ';ZSKS:='CHANLUN@ZSKSLAST';ZSJS:='CHANLUN@ZSJSLAST';BIFX:=-REF(笔,BILAST);DUANFX:=-REF(段,DUANLAST);KXQJ:='CHANLUN@KXQJ';{画中枢BEGIN} {以背景方式画}STICKLINE(ZSZG>ZSZD AND DUANFX=1, ZSZG, ZSZD, 10, 1),COLOR8E236B; STICKLINE(ZSZG>ZSZD AND DUANFX=-1, ZSZG, ZSZD, 10, 1), COLOR007700; {中枢震荡监视器}DRAWLINE(ZSKS=1, ZSZZ, ZSJS=1, ZSZZ, 0), COLORFFFFFF;{画笔段}DRAWLINE(笔=1,H,笔=-1,L,0),COLORBLUE,LINETHICK2;DRAWLINE(笔=-1,L,笔=1,H,0),COLORFF00FF ,LINETHICK2;DRAWLINE(段=1,H,段=-1,L,0),COLOR007700, LINETHICK2;DRAWLINE(段=-1,L,段=1,H,0),COLORRED, LINETHICK2;{笔高低点周期力度提示}DRAWTEXT(笔= 1, H*1.038, ''+H+''), COLORFFFFFF;DRAWTEXT(笔=-1, L*0.96, ''+L+''), COLORFFFFFF;VAR3:=LLV(H,240);VAR4:=100*(C-VAR3)/VAR3;VAR5:=(C-LLV(L,528))/(HHV(H,528)-LLV(L,528))*100;VAR6:=(C-LLV(C,530))/(HHV(C,530)-LLV(C,530))*100;VAR7:=0;VAR8:=SMA(MAX(CLOSE-REF(CLOSE,1),0),34,1)/SMA(ABS(CLOSE-REF(CLOSE,1) ),7,1)*100;VAR9:=SMA(MAX(CLOSE-REF(CLOSE,1),0),13,1)/SMA(ABS(CLOSE-REF(CLOSE,1) ),13,1)*100;VAR10:=IF(TROUGHBARS(3,16,1)=0 AND H>L+0.04,4,0);VAR11:=ZIG(3,6)>REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)<=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)<=REF(ZIG(3,6),3);VAR12:=ZIG(3,6)<REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)>=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)>=REF(ZIG(3,6),3);VAR13:=ZIG(3,22)>REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)<=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)<=REF(ZIG(3,22),3);VAR14:=ZIG(3,22)<REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)>=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)>=REF(ZIG(3,22),3);VAR15:=ZIG(3,51)>REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)<=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)<=REF(ZIG(3,51),3);VAR16:=ZIG(3,51)<REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)>=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)>=REF(ZIG(3,51),3);VAR17:=ZIG(3,72)>REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)<=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)<=REF(ZIG(3,72),3);VAR18:=ZIG(3,72)<REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)>=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)>=REF(ZIG(3,72),3);VAR19:=EMA(C,2)-EMA(C,150);买1:=VAR10;买2:=(VAR11+VAR13+VAR15+VAR17);卖1:=(VAR12+VAR14+VAR16+VAR18);DRAWTEXT(买1>0 OR 买2>0,L*0.985,'买'),COLOR00FFFF;DRAWTEXT(卖1>0,H*1.01,'卖'),COLOR00FFFF;APP:=(VOL)/((H-L)*(2)-ABS(C-O));ZL:=IF((H>O),(APP)*(H-L),IF((L<O),(APP)*(H-O+C-L),(VOL)/(2)));SF:=IF((H>O),0-(APP)*(H-C+O-L),IF((L<O),0-(APP)*(H-L),0-(VOL)/(2)));库存能量:=MA(ZL+SF,2);库存平均:=MA(ZL+SF,5);GET:ZIG(3,5),COLORYELLOW,LINETHICK3;PL5:=ZIG(3,5);EN1:=PL5>REF(PL5,1) AND REF(PL5,1)<=REF(PL5,2) AND REF(PL5,2)<=REF(PL5,3);EX1:=PL5<REF(PL5,1) AND REF(PL5,1)>=REF(PL5,2) AND REF(PL5,2)>=REF(PL5,3);PL10:=ZIG(3,10);EN2:=PL10>REF(PL10,1) AND REF(PL10,1)<=REF(PL10,2) AND REF(PL10,2)<=REF(PL10,3);EX2:=PL10<REF(PL10,1) AND REF(PL10,1)>=REF(PL10,2) AND REF(PL10,2)>=REF(PL10,3);PL20:=ZIG(3,20);EN3:=PL20>REF(PL20,1) AND REF(PL20,1)<=REF(PL20,2) AND REF(PL20,2)<=REF(PL20,3);EX3:=PL20<REF(PL20,1) AND REF(PL20,1)>=REF(PL20,2) AND REF(PL20,2)>=REF(PL20,3);走强1:=BARSLAST(PL5<REF(PL5,1));走弱1:=BARSLAST(PL5>REF(PL5,1));走强2:=BARSLAST(PL10<REF(PL10,1));走弱2:=BARSLAST(PL10>REF(PL10,1));走强3:=BARSLAST(PL20<REF(PL20,1));走弱3:=BARSLAST(PL20>REF(PL20,1));ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(EN1,走强2),0);ZTJD5:=IF(PL10>REF(PL10,1),COUNT(EX1,走强2),0);DTJZ5:=IF(PL10<REF(PL10,1),COUNT(EN1,走弱2),0);DTJD5:=IF(PL10<REF(PL10,1),COUNT(EX1,走弱2),0);ZTJZ10:=IF(PL20>REF(PL20,1),COUNT(EN2,走强3),0);ZTJD10:=IF(PL20>REF(PL20,1),COUNT(EX2,走强3),0);DTJZ10:=IF(PL20<REF(PL20,1),COUNT(EN2,走弱3),0);DTJD10:=IF(PL20<REF(PL20,1),COUNT(EX2,走弱3),0);DRAWTEXT(EN2 AND DTJZ10=1,L*0.93,'[类二买]'),COLORFFFFFF;DRAWTEXT(EN3 AND ZTJZ10=1,L*0.95,'[一买]'),COLORFF00FF;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.05,'[二卖]'),LINETHICK2,COLORFFFF00;DRAWTEXT(EN2 AND PL20>REF(PL20,1) AND ZTJZ10=2,L*0.95,'[二买]'),LINETHICK2,COLORFFFF00;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) AND EX2,H*1.04,'[一卖]'),LINETHICK3,COLOR00FF00;MA5:MA(CLOSE,5),COLORWHITE,LINETHICK1;MA10:MA(CLOSE,10),COLORLIMAGENTA,LINETHICK1;THANKS !!!致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KX:='CHANLUN@KXIAN';KXG:='CHANLUN@KXG';KXD:='CHANLUN@KXD';KXFX:='CHANLUN@KXFX';笔:='CHANLUN@BI';笔周期:='CHANLUN@BILAST',LINETHICK0, COLORFF00FF; BILAST:='CHANLUN@BILAST';{笔周期};段:='CHANLUN@DUAN';段周期:='CHANLUN@DUANLAST', LINETHICK0, COLORFFFFFF; DUANLAST:='CHANLUN@DUANLAST'; {段周期};中枢:='CHANLUN@ZS';ZSZG:='CHANLUN@ZSZG';ZSZD:='CHANLUN@ZSZD';ZSGG:='CHANLUN@ZSGG';ZSDD:='CHANLUN@ZSDD';ZSZZ:='CHANLUN@ZSZZ';ZSKS:='CHANLUN@ZSKSLAST';ZSJS:='CHANLUN@ZSJSLAST';BIFX:=-REF(笔,BILAST);DUANFX:=-REF(段,DUANLAST);KXQJ:='CHANLUN@KXQJ';{画中枢BEGIN} {以背景方式画}STICKLINE(ZSZG>ZSZD AND DUANFX=1, ZSZG, ZSZD, 10, 1),COLOR8E236B; STICKLINE(ZSZG>ZSZD AND DUANFX=-1, ZSZG, ZSZD, 10, 1), COLOR007700; {中枢震荡监视器}DRAWLINE(ZSKS=1, ZSZZ, ZSJS=1, ZSZZ, 0), COLORFFFFFF;{画笔段}DRAWLINE(笔=1,H,笔=-1,L,0),COLORBLUE,LINETHICK2;DRAWLINE(笔=-1,L,笔=1,H,0),COLORFF00FF ,LINETHICK2;DRAWLINE(段=1,H,段=-1,L,0),COLOR007700, LINETHICK2;DRAWLINE(段=-1,L,段=1,H,0),COLORRED, LINETHICK2;{笔高低点周期力度提示}DRAWTEXT(笔= 1, H*1.038, ''+H+''), COLORFFFFFF;DRAWTEXT(笔=-1, L*0.96, ''+L+''), COLORFFFFFF;VAR3:=LLV(H,240);VAR4:=100*(C-VAR3)/VAR3;VAR5:=(C-LLV(L,528))/(HHV(H,528)-LLV(L,528))*100;VAR6:=(C-LLV(C,530))/(HHV(C,530)-LLV(C,530))*100;VAR7:=0;VAR8:=SMA(MAX(CLOSE-REF(CLOSE,1),0),34,1)/SMA(ABS(CLOSE-REF(CLOSE,1) ),7,1)*100;VAR9:=SMA(MAX(CLOSE-REF(CLOSE,1),0),13,1)/SMA(ABS(CLOSE-REF(CLOSE,1) ),13,1)*100;VAR10:=IF(TROUGHBARS(3,16,1)=0 AND H>L+0.04,4,0);VAR11:=ZIG(3,6)>REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)<=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)<=REF(ZIG(3,6),3);VAR12:=ZIG(3,6)<REF(ZIG(3,6),1) AND REF(ZIG(3,6),1)>=REF(ZIG(3,6),2) AND REF(ZIG(3,6),2)>=REF(ZIG(3,6),3);VAR13:=ZIG(3,22)>REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)<=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)<=REF(ZIG(3,22),3);VAR14:=ZIG(3,22)<REF(ZIG(3,22),1) AND REF(ZIG(3,22),1)>=REF(ZIG(3,22),2) AND REF(ZIG(3,22),2)>=REF(ZIG(3,22),3);VAR15:=ZIG(3,51)>REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)<=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)<=REF(ZIG(3,51),3);VAR16:=ZIG(3,51)<REF(ZIG(3,51),1) AND REF(ZIG(3,51),1)>=REF(ZIG(3,51),2) AND REF(ZIG(3,51),2)>=REF(ZIG(3,51),3);VAR17:=ZIG(3,72)>REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)<=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)<=REF(ZIG(3,72),3);VAR18:=ZIG(3,72)<REF(ZIG(3,72),1) AND REF(ZIG(3,72),1)>=REF(ZIG(3,72),2) AND REF(ZIG(3,72),2)>=REF(ZIG(3,72),3);VAR19:=EMA(C,2)-EMA(C,150);买1:=VAR10;买2:=(VAR11+VAR13+VAR15+VAR17);卖1:=(VAR12+VAR14+VAR16+VAR18);DRAWTEXT(买1>0 OR 买2>0,L*0.985,'买'),COLOR00FFFF;DRAWTEXT(卖1>0,H*1.01,'卖'),COLOR00FFFF;APP:=(VOL)/((H-L)*(2)-ABS(C-O));ZL:=IF((H>O),(APP)*(H-L),IF((L<O),(APP)*(H-O+C-L),(VOL)/(2)));SF:=IF((H>O),0-(APP)*(H-C+O-L),IF((L<O),0-(APP)*(H-L),0-(VOL)/(2)));库存能量:=MA(ZL+SF,2);库存平均:=MA(ZL+SF,5);GET:ZIG(3,5),COLORYELLOW,LINETHICK3;PL5:=ZIG(3,5);EN1:=PL5>REF(PL5,1) AND REF(PL5,1)<=REF(PL5,2) AND REF(PL5,2)<=REF(PL5,3);EX1:=PL5<REF(PL5,1) AND REF(PL5,1)>=REF(PL5,2) AND REF(PL5,2)>=REF(PL5,3);PL10:=ZIG(3,10);EN2:=PL10>REF(PL10,1) AND REF(PL10,1)<=REF(PL10,2) AND REF(PL10,2)<=REF(PL10,3);EX2:=PL10<REF(PL10,1) AND REF(PL10,1)>=REF(PL10,2) AND REF(PL10,2)>=REF(PL10,3);PL20:=ZIG(3,20);EN3:=PL20>REF(PL20,1) AND REF(PL20,1)<=REF(PL20,2) AND REF(PL20,2)<=REF(PL20,3);EX3:=PL20<REF(PL20,1) AND REF(PL20,1)>=REF(PL20,2) AND REF(PL20,2)>=REF(PL20,3);走强1:=BARSLAST(PL5<REF(PL5,1));走弱1:=BARSLAST(PL5>REF(PL5,1));走强2:=BARSLAST(PL10<REF(PL10,1));走弱2:=BARSLAST(PL10>REF(PL10,1));走强3:=BARSLAST(PL20<REF(PL20,1));走弱3:=BARSLAST(PL20>REF(PL20,1));ZTJZ5:=IF(PL10>REF(PL10,1),COUNT(EN1,走强2),0);ZTJD5:=IF(PL10>REF(PL10,1),COUNT(EX1,走强2),0);DTJZ5:=IF(PL10<REF(PL10,1),COUNT(EN1,走弱2),0);DTJD5:=IF(PL10<REF(PL10,1),COUNT(EX1,走弱2),0);ZTJZ10:=IF(PL20>REF(PL20,1),COUNT(EN2,走强3),0);ZTJD10:=IF(PL20>REF(PL20,1),COUNT(EX2,走强3),0);DTJZ10:=IF(PL20<REF(PL20,1),COUNT(EN2,走弱3),0);DTJD10:=IF(PL20<REF(PL20,1),COUNT(EX2,走弱3),0);DRAWTEXT(EN2 AND DTJZ10=1,L*0.93,'[类二买]'),COLORFFFFFF;DRAWTEXT(EN3 AND ZTJZ10=1,L*0.95,'[一买]'),COLORFF00FF;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=1,H*1.05,'[二卖]'),LINETHICK2,COLORFFFF00;DRAWTEXT(EN2 AND PL20>REF(PL20,1) AND ZTJZ10=2,L*0.95,'[二买]'),LINETHICK2,COLORFFFF00;DRAWTEXT(EX2 AND PL20>REF(PL20,1) AND ZTJD10=2 OR (ZTJD10=0 OR ZTJD10=2) AND EX2,H*1.04,'[一卖]'),LINETHICK3,COLOR00FF00;MA5:MA(CLOSE,5),COLORWHITE,LINETHICK1;MA10:MA(CLOSE,10),COLORLIMAGENTA,LINETHICK1;THANKS !!!致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考。