分型指標延遲判斷
作者:文華財經 來源:cxh99.com 發布時間:2019年03月24日
-
咨詢內容:
?老師好,這個分型指標無論是否處理了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;//分型線
?
?
?來源:程序化99
-
文華技術人員:
這是無法修改的
分型指標需要在完整的K線分型成立后才可以確定
因此需要用到未來函數,需要K線走完才可以判斷的
您調整一下思路
?
?來源: m.kzuj.com.cn
-
文華客服:
?這個是簡化版本的分型,它的圖標出現點的時機是對的,但是由于是簡化版,包含關系中有的思路沒寫進去,所以請老師對照下這個簡化版,改寫下上面那個指標
DH:=REFX(H,1)<H&&REFX(L,1)<L&&H>REF(H,1)&&L>REF(L,1);//頂分型
DH1:=REFX(H,1)<HHV(H,2)&&REFX(L,1)<LLV(L,2)&&HHV(H,2)>REF(H,2)&&LLV(L,2)>REF(L,2)&&REF(NOT(DH),1);//包含關系處理的頂分型
N1:=BARSLAST(DH1)+1;
KTEXT(N1=1,1,H+2,1,COLORRED,'',VALIGN2,COLORGREEN;
DL:=REFX(H,1)>H&&REFX(L,1)>L&&L<REF(H,1)&&L<REF(L,1);//底分型
DL1:=REFX(H,1)>HHV(H,2)&&REFX(L,1)>LLV(L,2)&&HHV(H,2)<REF(H,2)&&LLV(L,2)<REF(L,2)&&REF(NOT(DL),1);//包含關系處理的底分型
N2:=BARSLAST(DL1)+1;
KTEXT(N2=1,1,L-2,1,COLORGREEN,'',VALIGN0,COLORRED;
?
-
網友回復:
不行的,三樓指標思路也是用到了未來函數
參照三樓的思路去寫出來的結果就是和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;//分型線?
-
網友回復:
?老師 請麻煩你幫我 把原指標出現圖標時,發出報警信號 這個思路寫下 謝謝老師!