編程思路破譯 N1賦值:10 N2賦值:10 DISP賦值:2 K賦值:如果周期類型=5,返回1,否則返回如果周期類型=6,返回1,否則返回如果周期類型=7,返回1,否則返回如果周期類型=8,返回1,否則返回如果周期類型=9,返回1,否則返回如果周期類型=10,返回1,否則返回如果周期類型=11,返回2,否則返回如果周期類型=4,返回1,否則返回如果周期類型=3,返回1,否則返回如果周期類型=2,返回1,否則返回如果周期類型=1,返回1,否則返回1/10 P1賦值:最高價K*N1%之字轉(zhuǎn)向的前1個波峰值 P2賦值:最高價K*N1%之字轉(zhuǎn)向的前2個波峰值 WP1賦值:最高價K*N1%之字轉(zhuǎn)向的前1個波峰位置 WP2賦值:最高價K*N1%之字轉(zhuǎn)向的前2個波峰位置 T1賦值:最低價K*N2%之字轉(zhuǎn)向的前1個波谷值 T2賦值:最低價K*N2%之字轉(zhuǎn)向的前2個波谷值 WT1賦值:最低價K*N2%之字轉(zhuǎn)向的前1個波谷位置 WT2賦值:最低價K*N2%之字轉(zhuǎn)向的前2個波谷位置 TJ1賦值:P1>T1 AND P2>T2 ZD賦值:T1和T2的較大值 ZG賦值:P1和P2的較小值 LL賦值:T1和T2的較小值 HH賦值:P1和P2的較大值 TJ2賦值:ZG>ZD的2日過濾 TJ3賦值:ZG=上次TJ2距今天數(shù)日前的ZG OR ZD=上次TJ2距今天數(shù)日前的ZD TJ4賦值:TJ1并且TJ2并且取反 TJ5賦值:ZD位于1日前的上次TJ4距今天數(shù)日前的ZD和1日前的上次TJ4距今天數(shù)日前的ZG之間 TJ6賦值:ZG位于1日前的上次TJ4距今天數(shù)日前的ZD和1日前的上次TJ4距今天數(shù)日前的ZG之間 TJ7賦值:ZG>1日前的上次TJ4距今天數(shù)日前的ZG并且ZD<1日前的上次TJ4距今天數(shù)日前的ZD TJ8賦值:TJ4并且取反 ZSD賦值:如果TJ8,返回ZD,否則返回無效數(shù) ZSG賦值:如果TJ8,返回ZG,否則返回無效數(shù) ZSH賦值:如果TJ8,返回HH,否則返回無效數(shù) ZSL賦值:如果TJ8,返回LL,否則返回無效數(shù) 當滿足條件TJ8時,在ZSH和ZSL位置之間畫柱狀線,寬度為0,-1不為0則畫空心柱.,畫洋紅色 當滿足條件TJ8時,在ZSD和ZSG位置之間畫柱狀線,寬度為如果DISP=1,返回3,否則返回0,1不為0則畫空心柱.,畫洋紅色 當滿足條件DISP=2時,在ZSH位置書寫文字,畫紅色 輸出中樞高:當滿足條件DISP=2時以上次TJ8距今天數(shù)日前的ZSD位置為頂點畫折線連接,CROSSDOT,畫淡紅色 輸出中樞低:當滿足條件DISP=2時以上次TJ8距今天數(shù)日前的ZSG位置為頂點畫折線連接,CROSSDOT,畫淡綠色 輸出中樞最高:當滿足條件DISP=2時以上次TJ8距今天數(shù)日前的ZSH位置為頂點畫折線連接,POINTDOT,畫紅色 輸出中樞最低:當滿足條件DISP=2時以上次TJ8距今天數(shù)日前的ZSL位置為頂點畫折線連接,POINTDOT,畫綠色 輸出趨勢高:當滿足條件DISP=3時以最高價K*N1%的之字轉(zhuǎn)向位置為頂點畫折線連接,畫淡藍色 輸出趨勢低:當滿足條件DISP=3時以最低價K*N2%的之字轉(zhuǎn)向位置為頂點畫折線連接,畫淡藍色 局部低點預選A賦值:若5日內(nèi)最低價的最低值<1日前的4日內(nèi)最低價的最低值則將最近4周期置為1 局部低點預選B賦值:若局部低點預選A=0ANDREF(局部低點預選A,1)=1則將最近2周期置為1 局部低點預選C賦值:如果局部低點預選B=1ANDREF(局部低點預選B,1)=0,返回-1,否則返回0 局部高點預選A賦值:若5日內(nèi)最高價的最高值>1日前的4日內(nèi)最高價的最高值則將最近4周期置為1 局部高點預選B賦值:若局部高點預選A=0ANDREF(局部高點預選A,1)=1則將最近2周期置為1 局部高點預選C賦值:如果局部高點預選B=1ANDREF(局部高點預選B,1)=0,返回1,否則返回0 缺口判斷賦值:如果最低價>1日前的最高價,返回1,否則返回如果最高價<1日前的最低價,返回-1,否則返回0 距前高天賦值:上次局部高點預選C=1距今天數(shù) 距前低天賦值:上次局部低點預選C=-1距今天數(shù) 小值周期賦值:當前值是近最低價周期的最小值 大值周期賦值:當前值是近最高價周期的最大值 低保留AA賦值:如果局部低點預選C=-1ANDREF(距前高天,1)>1日前的距前低天ANDLLV(最低價,距前高天+1)<1日前的距前高天+1日內(nèi)最低價的最低值,返回-1,否則返回0 低保留AB賦值:如果局部低點預選C=-1ANDREF(距前高天,1)<=1日前的距前低天AND(距前高天>=4ORLLV(缺口判斷,距前高天)=-1ORLLV(最低價,距前低天+2)<1日前的距前低天+1日內(nèi)最低價的最低值),返回-1,否則返回0 低保留S賦值:如果(低保留AA=-1OR低保留AB=-1)ANDL<距前高天+1日前的最高價,返回-1,否則返回0 預判賦值:如果(距前低天<4ANDHHV(缺口判斷,距前低天)不等于1)ORREF(低保留S,距前低天)=0,返回1,否則返回0 判斷賦值:如果局部高點預選C=1ANDREF(距前低天,1)<=1日前的距前高天AND預判=1AND大值周期>距前低天+1日前的小值周期AND大值周期>距前低天日前的小值周期AND大值周期>距前溉漲暗拇籩抵芷€返回天),否則返回1 高保留A賦值:如果局部高點預選C=1ANDREF(距前低天,1)>1日前的距前高天ANDHHV(最高價,距前低天+1)>1日前的距前低天+1日內(nèi)最高價的最高值,返回1,否則返回0 高保留B賦值:如果局部高點預選C=1ANDREF(距前低天,1)<=1日前的距前高天ANDREF(低保留S,距前低天)=-1AND(距前低天>=4ORHHV(缺口判斷,距前低天)=1),返回1,否則返回0 高保留賦值:如果(高保留A=1OR高保留B=1OR判斷=1)ANDH>距前低天+1日前的最低價,返回1,否則返回0 預判A賦值:如果(距前高天<4ANDHHV(缺口判斷,距前高天)不等于1)ORREF(高保留,距前高天)=0,返回1,否則返回0 判斷A賦值:如果局部低點預選C=-1ANDREF(距前高天,1)<=1日前的距前低天AND預判A=1AND小值周期>距前高天+1日前的大值周期AND小值周期>距前高天日前的大值周期AND小值周期>距僑漲暗男≈抵芷€返回低天),否則返回-1 低保留A賦值:如果局部低點預選C=-1ANDREF(距前高天,1)>1日前的距前低天ANDLLV(最低價,距前高天+1)<1日前的距前高天+1日內(nèi)最低價的最低值,返回-1,否則返回0 低保留B賦值:如果局部低點預選C=-1ANDREF(距前高天,1)<=1日前的距前低天AND(距前高天>=4ORLLV(缺口判斷,距前高天)=-1OR判斷A=-1),返回-1,否則返回0 低保留賦值:如果(低保留A=-1OR低保留B=-1)ANDL<距前高天+1日前的最高價,返回-1,否則返回0 距前高天A賦值:上次高保留=1距今天數(shù) 距前低天A賦值:上次低保留=-1距今天數(shù) 預判X賦值:如果(距前低天A<4ANDHHV(缺口判斷,距前低天A)不等于1)ORREF(低保留,距前低天A)=0,返回1,否則返回0 判斷X賦值:如果局部高點預選C=1ANDREF(距前低天A,1)<=1日前的距前高天AAND預判X=1AND大值周期>距前低天A+1日前的小值周期AND大值周期>距前低天A日前的小值周期AND大值周期>?日前的大值周期,返回嗲案嚀霢),否則返回1 高保留XA賦值:如果局部高點預選C=1ANDREF(距前低天A,1)>1日前的距前高天AANDHHV(最高價,距前低天A+1)>1日前的距前低天A+1日內(nèi)最高價的最高值,返回1,否則返回0 高保留XB賦值:如果局部高點預選C=1ANDREF(距前低天A,1)<=1日前的距前高天AANDREF(低保留,距前低天A)=-1AND(距前低天A>=4ORHHV(缺口判斷,距前低天A)=1),返回1,否則返回0 高保留X賦值:如果(高保留XA=1OR高保留XB=1OR判斷X=1)ANDH>距前低天A+1日前的最低價,返回1,否則返回0 預判XA賦值:如果(距前高天A<4ANDHHV(缺口判斷,距前高天A)不等于1)ORREF(高保留XA,距前高天A)=0,返回1,否則返回0 判斷XA賦值:如果局部低點預選C=-1ANDREF(距前高天A,1)<=1日前的距前低天AAND預判XA=1AND小值周期>距前高天A+1日前的大值周期AND小值周期>距前高天A日前的大值周期AND小值周期>?日前的小值周€返回,距前低天A),否則返回-1 低保留XA賦值:如果局部低點預選C=-1ANDREF(距前高天A,1)>1日前的距前低天AANDLLV(最低價,距前高天A+1)<1日前的距前高天A+1日內(nèi)最低價的最低值,返回-1,否則返回0 低保留XB賦值:如果局部低點預選C=-1ANDREF(距前高天A,1)<=1日前的距前低天AAND(距前高天A>=4ORLLV(缺口判斷,距前高天A)=-1OR判斷XA=-1),返回-1,否則返回0 低保留X賦值:如果(低保留XA=-1OR低保留XB=-1)ANDL<距前高天A+1日前的最高價,返回-1,否則返回0 距前高天YA賦值:上次高保留X=1距今天數(shù) 距前低天YA賦值:上次低保留X=-1距今天數(shù) 預判YX賦值:如果(距前低天YA<4ANDHHV(缺口判斷,距前低天YA)不等于1)ORREF(低保留X,距前低天YA)=0,返回1,否則返回0 判斷YX賦值:如果局部高點預選C=1ANDREF(距前低天YA,1)<=1日前的距前高天YAAND預判YX=1AND大值周期>距前低天YA+1日前的小值周期AND大值周期>距前低天YA日前的小值周期AND大值周期>?日前的大值,返回芷€距前高天YA),否則返回1 高保留YXA賦值:如果局部高點預選C=1ANDREF(距前低天YA,1)>1日前的距前高天YAANDHHV(最高價,距前低天YA+1)>1日前的距前低天YA+1日內(nèi)最高價的最高值,返回1,否則返回0 高保留YXB賦值:如果局部高點預選C=1ANDREF(距前低天YA,1)<=1日前的距前高天YAANDREF(低保留X,距前低天YA)=-1AND(距前低天YA>=4ORHHV(缺口判斷,距前低天YA)=1),返回1,否則返回0 高保留YX賦值:如果(高保留YXA=1OR高保留YXB=1OR判斷YX=1)ANDH>距前低天YA+1日前的最低價,返回1,否則返回0 預判YXA賦值:如果(距前高天YA<4ANDHHV(缺口判斷,距前高天YA)不等于1)ORREF(高保留YXA,距前高天YA)=0,返回1,否則返回0 判斷YXA賦值:如果局部低點預選C=-1ANDREF(距前高天YA,1)<=1日前的距前低天YAAND預判YXA=1AND小值周期>距前高天YA+1日前的大值周期AND小值周期>距前高天YA日前的大值周期AND小值周期>?日前的小,返回抵芷€距前低天YA),否則返回-1 低保留YXA賦值:如果局部低點預選C=-1ANDREF(距前高天YA,1)>1日前的距前低天YAANDLLV(最低價,距前高天YA+1)<1日前的距前高天YA+1日內(nèi)最低價的最低值,返回-1,否則返回0 低保留YXB賦值:如果局部低點預選C=-1ANDREF(距前高天YA,1)<=1日前的距前低天YAAND(距前高天YA>=4ORLLV(缺口判斷,距前高天YA)=-1OR判斷YXA=-1),返回-1,否則返回0 低保留YX賦值:如果(低保留YXA=-1OR低保留YXB=-1)ANDL<距前高天YA+1日前的最高價,返回-1,否則返回0 程序源碼 {纏論}{N1:1,100,10;N2:1,100,10;DISP:=1,3,2}N1:=10; N2:=10; DISP:=2; K:=IF(PERIOD=5,1,{日}IF(PERIOD=6,1,{周}IF(PERIOD=7,1,{月}IF(PERIOD=8,1,{多分鐘}IF(PERIOD=9,1,{多日}IF(PERIOD=10,1,{季}IF(PERIOD=11,2,{年}IF(PERIOD=4,1,{60F}IF(PERIOD=3,1,{30F}IF(PERIOD=2,1,{15F}IF(PERIOD=1,1{5F},1{1F})))))))))))/10; P1:=PEAK(1,K*N1,1); P2:=PEAK(1,K*N1,2); WP1:=PEAKBARS(1,K*N1,1); WP2:=PEAKBARS(1,K*N1,2); T1:=TROUGH(2,K*N2,1); T2:=TROUGH(2,K*N2,2); WT1:=TROUGHBARS(2,K*N2,1); WT2:=TROUGHBARS(2,K*N2,2); TJ1:=P1>T1 AND P2>T2 ; ZD:=MAX(T1,T2); ZG:=MIN(P1,P2); LL:=MIN(T1,T2); HH:=MAX(P1,P2); TJ2:=FILTER(ZG>ZD,2); TJ3:=ZG=REF(ZG,BARSLAST(TJ2)) OR ZD=REF(ZD,BARSLAST(TJ2)); TJ4:=TJ1&&TJ2&&NOT(TJ3); TJ5:=BETWEEN(ZD,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1))); TJ6:=BETWEEN(ZG,REF(ZD,REF(BARSLAST(TJ4),1)),REF(ZG,REF(BARSLAST(TJ4),1))); TJ7:=ZG>REF(ZG,REF(BARSLAST(TJ4),1))&&ZD<REF(ZD,REF(BARSLAST(TJ4),1)); TJ8:=TJ4&&NOT(TJ5 OR TJ6 OR TJ7); ZSD:=IF(TJ8,ZD,DRAWNULL); ZSG:=IF(TJ8,ZG,DRAWNULL); ZSH:=IF(TJ8,HH,DRAWNULL); ZSL:=IF(TJ8,LL,DRAWNULL); STICKLINE(TJ8,ZSH,ZSL,0,-1),COLORMAGENTA; STICKLINE(TJ8,ZSD,ZSG,IF(DISP=1,3,0),1),COLORMAGENTA; DRAWTEXT(DISP=2,ZSH,'中樞'),COLORRED;中樞高:PLOYLINE(DISP=2,REF(ZSD,BARSLAST(TJ8))),CROSSDOT,COLORLIRED; 中樞低:PLOYLINE(DISP=2,REF(ZSG,BARSLAST(TJ8))),CROSSDOT,COLORLIGREEN; 中樞最高:PLOYLINE(DISP=2,REF(ZSH,BARSLAST(TJ8))),POINTDOT,COLORRED; 中樞最低:PLOYLINE(DISP=2,REF(ZSL,BARSLAST(TJ8))),POINTDOT,COLORGREEN; 趨勢高:PLOYLINE(DISP=3,ZIG(1,K*N1)),COLORLIBLUE; 趨勢低:PLOYLINE(DISP=3,ZIG(2,K*N2)),COLORLIBLUE; 局部低點預選A:=BACKSET(LLV(L,5)<REF(LLV(L,4),1),4); 局部低點預選B:=BACKSET(局部低點預選A=0 AND REF(局部低點預選A,1)=1,2); 局部低點預選C:=IF(局部低點預選B=1 AND REF(局部低點預選B,1)=0,-1,0); 局部高點預選A:=BACKSET(HHV(H,5)>REF(HHV(H,4),1),4);局部高點預選B:=BACKSET(局部高點預選A=0 AND REF(局部高點預選A,1)=1,2); 局部高點預選C:=IF(局部高點預選B=1 AND REF(局部高點預選B,1)=0,1,0); 缺口判斷:=IF(L>REF(H,1),1,IF(H<REF(L,1),-1,0)); 距前高天:=BARSLAST(局部高點預選C=1); 距前低天:=BARSLAST(局部低點預選C=-1); 小值周期:=LOWRANGE(L); 大值周期:=TOPRANGE(H); 低保留AA:=IF(局部低點預選C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0); 低保留AB:=IF(局部低點預選C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判斷,距前高天)=-1 OR LLV(L,距前低天+2)<REF(LLV(L,距前低天+1),1)),-1,0); 低保留S:=IF((低保留AA=-1 OR 低保留AB=-1) AND L<REF(H,距前高天+1),-1,0); 預判:=IF((距前低天<4 AND HHV(缺口判斷,距前低天)!=1) OR REF(低保留S,距前低天)=0,1,0); 判斷:=IF(局部高點預選C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND 預判=1 AND 大值周期>REF(小值周期,距前低天+1) AND 大值周期>REF(小值周期,距前低天) AND 大值周期>REF(大值周期,距前高天),1,0); 高保留A:=IF(局部高點預選C=1 AND REF(距前低天,1)>REF(距前高天,1) AND HHV(H,距前低天+1)>REF(HHV(H,距前低天+1),1),1,0); 高保留B:=IF(局部高點預選C=1 AND REF(距前低天,1)<=REF(距前高天,1) AND REF(低保留S,距前低天)=-1 AND (距前低天>=4 OR HHV(缺口判斷,距前低天)=1),1,0); 高保留:=IF((高保留A=1 OR 高保留B=1 OR 判斷=1) AND H>REF(L,距前低天+1),1,0); 預判A:=IF((距前高天<4 AND HHV(缺口判斷,距前高天)!=1) OR REF(高保留,距前高天)=0,1,0); 判斷A:=IF(局部低點預選C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND 預判A=1 AND 小值周期>REF(大值周期,距前高天+1) AND 小值周期>REF(大值周期,距前高天) AND 小值周期>REF(小值周期,距前低天),-1,0); 低保留A:=IF(局部低點預選C=-1 AND REF(距前高天,1)>REF(距前低天,1) AND LLV(L,距前高天+1)<REF(LLV(L,距前高天+1),1),-1,0); 低保留B:=IF(局部低點預選C=-1 AND REF(距前高天,1)<=REF(距前低天,1) AND (距前高天>=4 OR LLV(缺口判斷,距前高天)=-1 OR 判斷A=-1),-1,0);低保留:=IF((低保留A=-1 OR 低保留B=-1) AND L<REF(H,距前高天+1),-1,0); 距前高天A:=BARSLAST(高保留=1); 距前低天A:=BARSLAST(低保留=-1); 預判X:=IF((距前低天A<4 AND HHV(缺口判斷,距前低天A)!=1) OR REF(低保留,距前低天A)=0,1,0); 判斷X:=IF(局部高點預選C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND 預判X=1 AND 大值周期>REF(小值周期,距前低天A+1) AND 大值周期>REF(小值周期,距前低天A) AND 大值周期>REF(大值周期,距前高天A),1,0); 高保留XA:=IF(局部高點預選C=1 AND REF(距前低天A,1)>REF(距前高天A,1) AND HHV(H,距前低天A+1)>REF(HHV(H,距前低天A+1),1),1,0);高保留XB:=IF(局部高點預選C=1 AND REF(距前低天A,1)<=REF(距前高天A,1) AND REF(低保留,距前低天A)=-1 AND (距前低天A>=4 OR HHV(缺口判斷,距前低天A)=1),1,0); 高保留X:=IF((高保留XA=1 OR 高保留XB=1 OR 判斷X=1) AND H>REF(L,距前低天A+1),1,0);預判XA:=IF((距前高天A<4 AND HHV(缺口判斷,距前高天A)!=1) OR REF(高保留XA,距前高天A)=0,1,0); 判斷XA:=IF(局部低點預選C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND 預判XA=1 AND 小值周期>REF(大值周期,距前高天A+1) AND 小值周期>REF(大值周期,距前高天A) AND 小值周期>REF(小值周期,距前低天A),-1,0); 低保留XA:=IF(局部低點預選C=-1 AND REF(距前高天A,1)>REF(距前低天A,1) AND LLV(L,距前高天A+1)<REF(LLV(L,距前高天A+1),1),-1,0); 低保留XB:=IF(局部低點預選C=-1 AND REF(距前高天A,1)<=REF(距前低天A,1) AND (距前高天A>=4 OR LLV(缺口判斷,距前高天A)=-1 OR 判斷XA=-1),-1,0); 低保留X:=IF((低保留XA=-1 OR 低保留XB=-1) AND L<REF(H,距前高天A+1),-1,0); 距前高天YA:=BARSLAST(高保留X=1); 距前低天YA:=BARSLAST(低保留X=-1); 預判YX:=IF((距前低天YA<4 AND HHV(缺口判斷,距前低天YA)!=1) OR REF(低保留X,距前低天YA)=0,1,0); 判斷YX:=IF(局部高點預選C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND 預判YX=1 AND 大值周期>REF(小值周期,距前低天YA+1) AND 大值周期>REF(小值周期,距前低天YA) AND 大值周期>REF(大值周期,距前高天YA),1,0); 高保留YXA:=IF(局部高點預選C=1 AND REF(距前低天YA,1)>REF(距前高天YA,1) AND HHV(H,距前低天YA+1)>REF(HHV(H,距前低天YA+1),1),1,0); 高保留YXB:=IF(局部高點預選C=1 AND REF(距前低天YA,1)<=REF(距前高天YA,1) AND REF(低保留X,距前低天YA)=-1 AND (距前低天YA>=4 OR HHV(缺口判斷,距前低天YA)=1),1,0); 高保留YX:=IF((高保留YXA=1 OR 高保留YXB=1 OR 判斷YX=1) AND H>REF(L,距前低天YA+1),1,0); 預判YXA:=IF((距前高天YA<4 AND HHV(缺口判斷,距前高天YA)!=1) OR REF(高保留YXA,距前高天YA)=0,1,0); 判斷YXA:=IF(局部低點預選C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND 預判YXA=1 AND 小值周期>REF(大值周期,距前高天YA+1) AND 小值周期>REF(大值周期,距前高天YA) AND 小值周期>REF(小值周期,距前低天YA),-1,0); 低保留YXA:=IF(局部低點預選C=-1 AND REF(距前高天YA,1)>REF(距前低天YA,1) AND LLV(L,距前高天YA+1)<REF(LLV(L,距前高天YA+1),1),-1,0); 低保留YXB:=IF(局部低點預選C=-1 AND REF(距前高天YA,1)<=REF(距前低天YA,1) AND (距前高天YA>=4 OR LLV(缺口判斷,距前高天YA)=-1 OR 判斷YXA=-1),-1,0); 低保留YX:=IF((低保留YXA=-1 OR 低保留YXB=-1) AND L<REF(H,距前高天YA+1),-1,0); 注: 館內(nèi)各種公式為學習編程而保存,實戰(zhàn)使用前一定要看其中是否有未來函數(shù)并自己親自測試成功率,決不能依據(jù)公式名稱的描述和形容去投資,據(jù)此入市造成投資損失由投資者自己承擔。 發(fā)文不易,如獲益,歡迎贊賞,贊賞必復! |
|