高低點范圍K線變色 [文華財經]
-
咨詢內容:
?老師。下面公式在高低點的位置有數字顯示。我想在下面高低點數字出現的先后5跟K線之內,增加內容:1,高點數字位置的兩個K線,出現后面的陰K線實體包裹前面的陽K線實體時,兩條K線顯示黃色;低點數字位置的兩個K線,出現后面的陽K線實體包裹前面的陰K線實體時,兩條K線顯示黃色;2,高點數字位置的兩個K線,出現后面的陰K線開盤價格大于前面陽K線的最高價格,并且陰線收盤價小于前面陽線的收盤價格時,兩條K線顯示黃色;低點數字位置的兩個K線,出現后面的陽K線開盤價格低于前面陰線最低價格,并且陽線的收盤價格大于前面陰線的實體2分之一時,兩條K線顯示黃色;
M:=3;//M值需要大于等于5G:=MA(C,5);D:=MA(C,10);NNH:=BARSLAST(H=HHV(H,M)) ,NODRAW;NNL:=BARSLAST(L=LLV(L,M)) ,NODRAW;NN:=IF(REF(G,NNH)>REF(D,NNH) AND NNH<=M-3,NNH,IF(REF(G,NNL)<REF(D,NNL) AND NNL<=M-3,NNL,M-2)) ,NODRAW;NNN:=IF(ISLASTBAR AND NN>0,NN,M-2) ,NODRAW;H1:=REF(H,NNN)=HHV(H,M-1);L1:=REF(L,NNN)=LLV(L,M-1);FG01:=BACKSET(H1,NNN+1)>BACKSET(H1,NNN),NODRAW;//只設置前面第M-1個FD01:=BACKSET(L1,NNN+1)>BACKSET(L1,NNN) ,NODRAW;FG02:=FG01=FD01 AND G>D,NODRAW;FD02:=FG01=FD01 AND G<D,NODRAW;TTTT:=BARSLAST(FD01),NODRAW;FG0:=FG01 AND IF(FG02=1,H=HHV(H,BARSLAST(REF(FD01,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,M))>=M-2,M-2,BARSLAST(FD01)))) AND FD02=0 ,NODRAW;FD0:=FD01 AND IF(FD02=1,L=LLV(L,BARSLAST(REF(FG01,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,M))>=M-2,M-2,BARSLAST(FG01))))? AND FG02=0 ,NODRAW;//高低點間周期GT:=BARSLAST(FG0),NODRAW;DT:=BARSLAST(FD0),NODRAW;//第一次處理高低點間多余的點LLLL:=DT=0 AND REF(DT,1)<GT AND L>REF(L,REF(DT,1)+1),NODRAW;FG1:=BACKSET(REFX(GT,1)=0 AND GT<DT AND REFX(H,1)>=REF(H,GT),GT+1),NODRAW;FD1:=BACKSET(REFX(DT,1)=0 AND DT<GT AND REFX(L,1)<=REF(L,DT),DT+1),NODRAW;FG11:=IF(GT=0 AND REF(GT,1)<DT AND IF(REF(G,BARSLAST(L=LLV(L,M)))>REF(D,BARSLAST(L=LLV(L,M))),BARSLAST(L=LLV(L,M))<M-2,1) AND? H<REF(H,REF(GT,1)+1),1,0),NODRAW;FD11:=IF(DT=0 AND REF(DT,1)<GT AND IF(REF(G,BARSLAST(H=HHV(H,M)))<REF(D,BARSLAST(H=HHV(H,M))),BARSLAST(H=HHV(H,M))<M-2,1) AND L>REF(L,REF(DT,1)+1),1,0),NODRAW;//再次周期GT1:=BARSLAST(FG11<>1 AND FG1<>1 AND FG0),NODRAW;DT1:=BARSLAST(FD11<>1 AND FD1<>1 AND FD0),NODRAW;FD2:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)>LLV(L,GT1+M-2),DT1+1),NODRAW;FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+M-2) AND REF(H,GT1)>HHV(H,GT1+M-2),GT1+1),NODRAW;FG2B:=IF(GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+M-1) AND H>HHV(H,REF(GT1,1)+M-1),1,0),NODRAW;FG2:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+M-2),GT1+1),NODRAW;FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+M-2) AND REF(L,DT1)>LLV(L,DT1+M-2),DT1+1),NODRAW;FD2B:=IF(DT1=0 AND GT1<4 AND REF(DT1,1)-GT1<4 AND REF(H,GT1)>=HHV(H,REF(DT1,1)+6) AND L>LLV(L,REF(DT1,1)+M-1),1,0),NODRAW;TTTTTT:= H<REF(H,REF(GT1,1)+1) AND DT1<4,NODRAW;HHHHHH:=REF(LLV(L,10),DT1),NODRAW;//前長后短;FG21:=IF(GT1=0 AND DT1<4 AND H<=REF(H,REF(GT1,1)+1)? ,1,0),NODRAW;FD21:=IF(DT1=0 AND GT1<4? AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW;//前短后長,前低后高(去低);FD231:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>REF(LLV(L,10),DT1),DT1+1),NODRAW;FG23:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND? GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND (REF(H,GT1)<REF(HHV(H,13),GT1) OR REF(FD231,DT1)=0),GT1+1),NODRAW;//前短后長,去2;FG231:=BACKSET(REFX(DT1,1)=0 AND GT1>3? AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<REF(HHV(H,10),GT1) ,GT1+1),NODRAW;FD23:=BACKSET(REFX(DT1,1)=0 AND GT1>3? AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND ( REF(L,DT1)>REF(LLV(L,13),DT1) OR REF(FG231,GT1)=0),DT1+1),NODRAW;//前短后長,去3;FDD23:=REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD23,DT1)=0,NODRAW;FD24:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)<HHV(H,GT1+3) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;FG24:=BACKSET(REFX(DT1,1)=0 AND GT1>3? AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)>LLV(L,DT1+3) AND REF(H,GT1)<HHV(H,GT1+5),GT1+1),NODRAW;//做兩次高低點間多余的點GT2:=BARSLAST(FG21<>1 AND FG23<>1 AND FG231<>1 AND FG24<>1? ?AND FG2<>1 AND FG2A<>1 AND FG2B<>1 AND GT1=0),NODRAW;DT2:=BARSLAST(FD21<>1 AND FD23<>1 AND FD231<>1 AND FD24<>1? AND FD2<>1 AND FD2A<>1 AND FD2B<>1 AND DT1=0),NODRAW;FG3:=BACKSET(REFX(GT2,1)=0 AND GT2<DT2 AND REFX(H,1)>=REF(H,GT2),GT2+1),NODRAW;FD3:=BACKSET(REFX(DT2,1)=0 AND DT2<GT2 AND REFX(L,1)<=REF(L,DT2),DT2+1),NODRAW;FG31:=IF(GT2=0 AND REF(GT2,1)<DT2 AND H<REF(H,REF(GT2,1)+1),1,0),NODRAW;FD31:=IF(DT2=0 AND REF(DT2,1)<GT2 AND L>REF(L,REF(DT2,1)+1),1,0),NODRAW;GT3:=BARSLAST(GT2=0 AND FG3<>1 AND FG31<>1 ),NODRAW;DT3:=BARSLAST(DT2=0 AND? FD3<>1 AND FD31<>1),NODRAW;FG4:=BACKSET(REFX(GT3,1)=0 AND GT3<DT3 AND REFX(H,1)>=REF(H,GT3),GT3+1),NODRAW;FD4:=BACKSET(REFX(DT3,1)=0 AND DT3<GT3 AND REFX(L,1)<=REF(L,DT3),DT3+1),NODRAW;FG41:=IF(GT3=0 AND REF(GT3,1)<DT3 AND H<REF(H,REF(GT3,1)+1),1,0),NODRAW;FD41:=IF(DT3=0 AND REF(DT3,1)<GT3 AND L>REF(L,REF(DT3,1)+1),1,0),NODRAW;HHH:=GT3=0 AND FG31<>1 AND? FG3<>1,NODRAW;LLL:=DT3=0 AND FD31<>1 AND? FD3<>1,NODRAW;//DRAWLINE1(HHH ,H,LLL,L,0),COLORGREEN,LINETHICK3;//綠色//DRAWLINE1(LLL,L,HHH ,H,0),COLORRED,LINETHICK3;//紅色//最后一段畫線N1:=BARSLAST(HHH)+1;N2:=BARSLAST(LLL)+1;//DRAWLINE3(ISLASTBAR&&MIN(N1,N2)=N2&&L>REF(L,N2-1),REF(L,N2-1),N2-1,ISLASTBAR,H,0,0),COLORRED,LINETHICK3;//紅色//DRAWLINE3(ISLASTBAR&&MIN(N1,N2)=N1&&H<REF(H,N1-1),REF(H,N1-1),N1-1,ISLASTBAR,L,0,0),COLORGREEN,LINETHICK3;//綠色A:=CROSS(BACKSET(ISLASTBAR&&N1<N2,N1),0.5),ICON(1,'ICO1');//下面是纏論劃線開始XX:HHH||LLL,NODRAW;
DRAWNUMBER(HHH,H,MOD(COUNT(XX,BARPOS),11)+1,0,COLORYELLOW);DRAWNUMBER(LLL,L,MOD(COUNT(XX,BARPOS),11)+1,0,COLORYELLOW),VALIGN0;
??
?來源:程序化99
-
文華技術人員:
參考:
M:=3;//M值需要大于等于5 G:=MA(C,5); D:=MA(C,10); NNH:=BARSLAST(H=HHV(H,M)) ,NODRAW; NNL:=BARSLAST(L=LLV(L,M)) ,NODRAW; NN:=IF(REF(G,NNH)>REF(D,NNH) AND NNH<=M-3,NNH,IF(REF(G,NNL)<REF(D,NNL) AND NNL<=M-3,NNL,M-2)) ,NODRAW; NNN:=IF(ISLASTBAR AND NN>0,NN,M-2) ,NODRAW; H1:=REF(H,NNN)=HHV(H,M-1); L1:=REF(L,NNN)=LLV(L,M-1); FG01:=BACKSET(H1,NNN+1)>BACKSET(H1,NNN),NODRAW;//只設置前面第M-1個 FD01:=BACKSET(L1,NNN+1)>BACKSET(L1,NNN) ,NODRAW; FG02:=FG01=FD01 AND G>D,NODRAW; FD02:=FG01=FD01 AND G<D,NODRAW; TTTT:=BARSLAST(FD01),NODRAW; FG0:=FG01 AND IF(FG02=1,H=HHV(H,BARSLAST(REF(FD01,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,M))>=M-2,M-2,BARSLAST(FD01)))) AND FD02=0 ,NODRAW; FD0:=FD01 AND IF(FD02=1,L=LLV(L,BARSLAST(REF(FG01,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,M))>=M-2,M-2,BARSLAST(FG01))))? AND FG02=0 ,NODRAW; //高低點間周期 GT:=BARSLAST(FG0),NODRAW; DT:=BARSLAST(FD0),NODRAW; //第一次處理高低點間多余的點 LLLL:=DT=0 AND REF(DT,1)<GT AND L>REF(L,REF(DT,1)+1),NODRAW; FG1:=BACKSET(REFX(GT,1)=0 AND GT<DT AND REFX(H,1)>=REF(H,GT),GT+1),NODRAW; FD1:=BACKSET(REFX(DT,1)=0 AND DT<GT AND REFX(L,1)<=REF(L,DT),DT+1),NODRAW; FG11:=IF(GT=0 AND REF(GT,1)<DT AND IF(REF(G,BARSLAST(L=LLV(L,M)))>REF(D,BARSLAST(L=LLV(L,M))),BARSLAST(L=LLV(L,M))<M-2,1) AND? H<REF(H,REF(GT,1)+1),1,0),NODRAW; FD11:=IF(DT=0 AND REF(DT,1)<GT AND IF(REF(G,BARSLAST(H=HHV(H,M)))<REF(D,BARSLAST(H=HHV(H,M))),BARSLAST(H=HHV(H,M))<M-2,1) AND L>REF(L,REF(DT,1)+1),1,0),NODRAW; //再次周期 GT1:=BARSLAST(FG11<>1 AND FG1<>1 AND FG0),NODRAW; DT1:=BARSLAST(FD11<>1 AND FD1<>1 AND FD0),NODRAW; FD2:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)>LLV(L,GT1+M-2),DT1+1),NODRAW; FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+M-2) AND REF(H,GT1)>HHV(H,GT1+M-2),GT1+1),NODRAW; FG2B:=IF(GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+M-1) AND H>HHV(H,REF(GT1,1)+M-1),1,0),NODRAW; FG2:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+M-2),GT1+1),NODRAW; FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+M-2) AND REF(L,DT1)>LLV(L,DT1+M-2),DT1+1),NODRAW; FD2B:=IF(DT1=0 AND GT1<4 AND REF(DT1,1)-GT1<4 AND REF(H,GT1)>=HHV(H,REF(DT1,1)+6) AND L>LLV(L,REF(DT1,1)+M-1),1,0),NODRAW; TTTTTT:= H<REF(H,REF(GT1,1)+1) AND DT1<4,NODRAW; HHHHHH:=REF(LLV(L,10),DT1),NODRAW; //前長后短; FG21:=IF(GT1=0 AND DT1<4 AND H<=REF(H,REF(GT1,1)+1)? ,1,0),NODRAW; FD21:=IF(DT1=0 AND GT1<4? AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW; //前短后長,前低后高(去低); FD231:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND REF(L,DT1)>REF(LLV(L,10),DT1),DT1+1),NODRAW; FG23:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND? GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND (REF(H,GT1)<REF(HHV(H,13),GT1) OR REF(FD231,DT1)=0),GT1+1),NODRAW; //前短后長,去2; FG231:=BACKSET(REFX(DT1,1)=0 AND GT1>3? AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<REF(HHV(H,10),GT1) ,GT1+1),NODRAW; FD23:=BACKSET(REFX(DT1,1)=0 AND GT1>3? AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND ( REF(L,DT1)>REF(LLV(L,13),DT1) OR REF(FG231,GT1)=0),DT1+1),NODRAW; //前短后長,去3; FDD23:=REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD23,DT1)=0,NODRAW; FD24:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)<HHV(H,GT1+3) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW; FG24:=BACKSET(REFX(DT1,1)=0 AND GT1>3? AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)>LLV(L,DT1+3) AND REF(H,GT1)<HHV(H,GT1+5),GT1+1),NODRAW; //做兩次高低點間多余的點 GT2:=BARSLAST(FG21<>1 AND FG23<>1 AND FG231<>1 AND FG24<>1? ?AND FG2<>1 AND FG2A<>1 AND FG2B<>1 AND GT1=0),NODRAW; DT2:=BARSLAST(FD21<>1 AND FD23<>1 AND FD231<>1 AND FD24<>1? AND FD2<>1 AND FD2A<>1 AND FD2B<>1 AND DT1=0),NODRAW; FG3:=BACKSET(REFX(GT2,1)=0 AND GT2<DT2 AND REFX(H,1)>=REF(H,GT2),GT2+1),NODRAW; FD3:=BACKSET(REFX(DT2,1)=0 AND DT2<GT2 AND REFX(L,1)<=REF(L,DT2),DT2+1),NODRAW; FG31:=IF(GT2=0 AND REF(GT2,1)<DT2 AND H<REF(H,REF(GT2,1)+1),1,0),NODRAW; FD31:=IF(DT2=0 AND REF(DT2,1)<GT2 AND L>REF(L,REF(DT2,1)+1),1,0),NODRAW; GT3:=BARSLAST(GT2=0 AND FG3<>1 AND FG31<>1 ),NODRAW; DT3:=BARSLAST(DT2=0 AND? FD3<>1 AND FD31<>1),NODRAW; FG4:=BACKSET(REFX(GT3,1)=0 AND GT3<DT3 AND REFX(H,1)>=REF(H,GT3),GT3+1),NODRAW; FD4:=BACKSET(REFX(DT3,1)=0 AND DT3<GT3 AND REFX(L,1)<=REF(L,DT3),DT3+1),NODRAW; FG41:=IF(GT3=0 AND REF(GT3,1)<DT3 AND H<REF(H,REF(GT3,1)+1),1,0),NODRAW; FD41:=IF(DT3=0 AND REF(DT3,1)<GT3 AND L>REF(L,REF(DT3,1)+1),1,0),NODRAW; HHH:=GT3=0 AND FG31<>1 AND? FG3<>1,NODRAW; LLL:=DT3=0 AND FD31<>1 AND? FD3<>1,NODRAW; //DRAWLINE1(HHH ,H,LLL,L,0),COLORGREEN,LINETHICK3;//綠色 //DRAWLINE1(LLL,L,HHH ,H,0),COLORRED,LINETHICK3;//紅色 //最后一段畫線 N1:=BARSLAST(HHH)+1; N2:=BARSLAST(LLL)+1; //DRAWLINE3(ISLASTBAR&&MIN(N1,N2)=N2&&L>REF(L,N2-1),REF(L,N2-1),N2-1,ISLASTBAR,H,0,0),COLORRED,LINETHICK3;//紅色 //DRAWLINE3(ISLASTBAR&&MIN(N1,N2)=N1&&H<REF(H,N1-1),REF(H,N1-1),N1-1,ISLASTBAR,L,0,0),COLORGREEN,LINETHICK3;//綠色 A:=CROSS(BACKSET(ISLASTBAR&&N1<N2,N1),0.5),ICON(1,'ICO1');//下面是纏論劃線開始 XX:HHH||LLL,NODRAW;
DRAWNUMBER(HHH,H,MOD(COUNT(XX,BARPOS),11)+1,0,COLORYELLOW); DRAWNUMBER(LLL,L,MOD(COUNT(XX,BARPOS),11)+1,0,COLORYELLOW),VALIGN0;
C1:=BACKSET(HHH,5)||BACKSET(REF(HHH,5),5); C2:=BACKSET(LLL,5)||BACKSET(REF(LLL,5),5); A1:=ISDOWN&&O>=REF(C,1)&&C<=REF(O,1)&&REF(ISUP,1); A2:=ISUP&&C>=REF(O,1)&&O<=REF(C,1)&&REF(ISDOWN,1); DRAWCOLORKLINE(C1&&A1,COLORYELLOW,0); DRAWCOLORKLINE(C1&&REFX(A1,1),COLORYELLOW,0); DRAWCOLORKLINE(C2&&A2,COLORYELLOW,0); DRAWCOLORKLINE(C2&&REFX(A2,1),COLORYELLOW,0);
B1:=ISDOWN&&O>REF(H,1)&&C<REF(C,1)&&REF(ISUP,1); B2:=ISUP&&O<REF(L,1)&&C>REF((C+O)/2,1)&&REF(ISDOWN,1); DRAWCOLORKLINE(C1&&B1,COLORYELLOW,0); DRAWCOLORKLINE(C1&&REFX(B1,1),COLORYELLOW,0); DRAWCOLORKLINE(C2&&B2,COLORYELLOW,0); DRAWCOLORKLINE(C2&&REFX(B2,1),COLORYELLOW,0);
?
?來源: m.kzuj.com.cn
-
文華客服:
如果在高點和地點位置,出現兩組或多組符合要求的組合的時候,請幫我選擇最靠近高點和低點位置的一組(兩根K線),其余刪除。黃色的這一組(2根K線),能否保留原來K線顏色,只在這個一組K線外面標出一個紅色框框。謝謝?
?
-
網友回復:
?最靠近指的是價格還是距離的K線根數最近?
黃色K線全部刪除,只留下最近的一組紅框框起來??
- 網友回復: ?對的,留下最接近高低點距離的一組用紅框框起來,黃色不用了。謝謝?
有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友
可聯系技術人員 QQ: 262069696 或微信號:cxh99cxh99 進行 有償收費 編寫!
(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)
相關文章
-
沒有相關內容