咨詢內容:
?老師好,這個分型指標無論是否處理了K線的包含關系,出現圖標都比分型概念定義的延遲一個K線出現,請老師改下
TJH:=1;A1:=REF(HIGH,3)=HHV(HIGH,2*3+1);B1:=FILTER(A1,3);C1:=BACKSET(B1,3+1);D1:=FILTER(C1,3);? ? ? ??A2:=REF(LOW,3)=LLV(LOW,2*3+1);B2:=FILTER(A2,3);C2:=BACKSET(B2,3+1);D2:=FILTER(C2,3);? ? ? ??E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2;E2:=(HIGH+LOW)/2;? ? ? ? ??H1:=(D1 AND NOT(D2 AND E1>=E2)) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;L1:=(D2 AND NOT(D1 AND E1<E2));H2:=D1 AND NOT(D2 AND E1>=E2);X1:=REF(BARSLAST(H1),1)+1;F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,100000),X1)),NODRAW;G1:=F1>REF(F1,1)||F1=1&&REF(NOT(F1>=0),1),NODRAW;I1:=BACKSET(G1,2),NODRAW;LD:=I1>REF(I1,1),NODRAW;? ? ? ? ? ?L2:=LD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;X2:=REF(BARSLAST(L2),1)+1;F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2)),NODRAW;G2:=F2>REF(F2,1)||F2=1&&REF(NOT(F2>=0),1),NODRAW;I2:=BACKSET(G2,2),NODRAW;HD:=I2>REF(I2,1),NODRAW;? ??LMID:=(L+REF(H,BARSLAST(HD)))/2;HMID:=(H+REF(L,BARSLAST(LD)))/2;LDRAW:=IF(LD,1,IF(EVERY(C<LMID,BARSLAST(LD)+1),1,0));HDRAW:=IF(HD,1,IF(EVERY(C>HMID,BARSLAST(HD)+1),1,0));//AAA:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);//BBB:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);? ? ? ? ?//DRAWLINE1(LD,L,HD,H,0),COLORWHITE,LINETHICK1,POINTDOT;//DRAWLINE1(HD,H,LD,L,0),COLORWHITE,LINETHICK1,POINTDOT;DRAWICON(LD,L,'ICO126'),VALIGN0;DRAWICON(HD,H,'ICO127'); ?L11:=VALUEWHEN(LD,L);//Q1:=BACKSET(ISLASTBAR,BARSLAST(L11<REFX1(L11,10000))+1);Q1:=BACKSET(TJH,BARSLAST(L11<REFX1(L11,10000))+1);QQ1:=BACKSET(CROSS(Q1,0.5),BARSLAST(LD)+1);E11:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);H11:=VALUEWHEN(HD,H);Q11:=BACKSET(TJH,BARSLAST(H11>REFX1(H11,10000))+1);QQ11:=BACKSET(CROSS(Q11,0.5),BARSLAST(HD)+1);EE11:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);//DRAWLINE1(L11,H,H11,L,0),COLORWHITE,DOT;//分型線//DRAWLINE1(L11,L,H11 ,H,0),COLORWHITE,DOT;//分型線 ?
網友回復:不行的,三樓指標思路也是用到了未來函數 參照三樓的思路去寫出來的結果就是和1樓的效果是一樣的
頂底分型是當出現一組完整K線的時候才能夠進行分型處理
所以必須延遲判斷,沒有辦法提前預判的,您了解下
但是如果您是指像3樓一樣延遲標注是可以的,參考:
TJH:=1;A1:=REF(HIGH,3)=HHV(HIGH,2*3+1);B1:=FILTER(A1,3);C1:=BACKSET(B1,3+1);D1:=FILTER(C1,3);? ? ? ??A2:=REF(LOW,3)=LLV(LOW,2*3+1);B2:=FILTER(A2,3);C2:=BACKSET(B2,3+1);D2:=FILTER(C2,3);? ? ? ??E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2;E2:=(HIGH+LOW)/2;? ? ? ? ??H1:=(D1 AND NOT(D2 AND E1>=E2)) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;L1:=(D2 AND NOT(D1 AND E1<E2));H2:=D1 AND NOT(D2 AND E1>=E2);X1:=REF(BARSLAST(H1),1)+1;F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,100000),X1)),NODRAW;G1:=F1>REF(F1,1)||F1=1&&REF(NOT(F1>=0),1),NODRAW;I1:=BACKSET(G1,2),NODRAW;LD:=I1>REF(I1,1),NODRAW;? ? ? ? ? ?L2:=LD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;X2:=REF(BARSLAST(L2),1)+1;F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2)),NODRAW;G2:=F2>REF(F2,1)||F2=1&&REF(NOT(F2>=0),1),NODRAW;I2:=BACKSET(G2,2),NODRAW;HD:=I2>REF(I2,1),NODRAW;? ??LMID:=(L+REF(H,BARSLAST(HD)))/2;HMID:=(H+REF(L,BARSLAST(LD)))/2;LDRAW:=IF(LD,1,IF(EVERY(C<LMID,BARSLAST(LD)+1),1,0));HDRAW:=IF(HD,1,IF(EVERY(C>HMID,BARSLAST(HD)+1),1,0));//AAA:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);//BBB:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);? ? ? ? ?//DRAWLINE1(LD,L,HD,H,0),COLORWHITE,LINETHICK1,POINTDOT;//DRAWLINE1(HD,H,LD,L,0),COLORWHITE,LINETHICK1,POINTDOT;KTEXT(HD,1,H+2,1,COLORRED,'頂'),VALIGN2,COLORGREEN;KTEXT(LD,1,L-2,1,COLORGREEN,'底'),VALIGN0,COLORRED; ?L11:=VALUEWHEN(LD,L);//Q1:=BACKSET(ISLASTBAR,BARSLAST(L11<REFX1(L11,10000))+1);Q1:=BACKSET(TJH,BARSLAST(L11<REFX1(L11,10000))+1);QQ1:=BACKSET(CROSS(Q1,0.5),BARSLAST(LD)+1);E11:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);H11:=VALUEWHEN(HD,H);Q11:=BACKSET(TJH,BARSLAST(H11>REFX1(H11,10000))+1);QQ11:=BACKSET(CROSS(Q11,0.5),BARSLAST(HD)+1);EE11:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);//DRAWLINE1(L11,H,H11,L,0),COLORWHITE,DOT;//分型線//DRAWLINE1(L11,L,H11 ,H,0),COLORWHITE,DOT;//分型線