回覆: 回覆: 請版主解答
引用: 最初由 cgjj 發表
軟體內建的波段高低點, 無法被公式引用
最近最底值 & 最近最高值
這兩者您需自行定義它, 有邏輯算法才能處理
這是波段高低值,不短是否可用此高和低點
//input:N3N(3,1,100);
//N3N:=1;
A1Y:=REF(HIGH,N3N)=HHV(HIGH,2*N3N+1);
B1Z:=FILTER(A1Y,N3N);
C1Z:=BACKSET(B1Z,N3N+1);
D1Z:=FILTER(C1Z,N3N);{高點}
A2Z:=REF(LOW,N3N)=LLV(LOW,2*N3N+1);
B2Z:=FILTER(A2Z,N3N);
C2Z:=BACKSET(B2Z,N3N+1);
D2Z:=FILTER(C2Z,N3N);{低點}
E1Z:=(REF(LLV(LOW,2*N3N),1)+REF(HHV(HIGH,2*N3N),1))/2;
E2Z:=(HIGH+LOW)/2;{高低點出現在同一K線上時可作取捨}
H1Z:=(D1Z AND NOT(D2Z AND E1Z>=E2Z)) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
L1Z:=(D2Z AND NOT(D1Z AND E1Z<E2Z));
H2Z:=D1Z AND NOT(D2Z AND E1Z>=E2Z);
X1Z:=REF(BARSLAST(H1Z),1)+1;
F1Z:=BACKSET(H1Z AND COUNT(L1Z,X1Z)>0,LLVBARS(IF(L1Z,LOW,10000),X1Z));
G1Z:=F1Z>REF(F1Z,1);
I1Z:=BACKSET(G1Z,2);
LDZ:=I1Z>REF(I1Z,1),LINETHICK0;{過濾後低點}
L2Z:=LDZ OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X2Z:=REF(BARSLAST(L2Z),1)+1;
F2Z:=BACKSET(L2Z AND COUNT(H2Z,X2Z)>0,HHVBARS(IF(H2Z,HIGH,0),X2Z));
G2Z:=F2Z>REF(F2Z,1);
I2Z:=BACKSET(G2Z,2);
HDZ:=I2Z>REF(I2Z,1),LINETHICK0;{過濾後高點}
R1Z:=BACKSET(ISLASTBAR,BARSLAST(HDZ)+1); S1Z:=R1Z>REF(R1Z,1); {前一高}
T1Z:=BACKSET(ISLASTBAR,BARSLAST(LDZ)+1); U1Z:=T1Z>REF(T1Z,1); {前一低}
R2Z:=BACKSET(S1Z,REF(BARSLAST(HDZ),1)+2); S2Z:=R2Z>REF(R2Z,1); {前二高}
T2Z:=BACKSET(U1Z,REF(BARSLAST(LDZ),1)+2); U2Z:=T2Z>REF(T2Z,1); {前二低}
T3Z:=BACKSET(U2Z,REF(BARSLAST(LDZ),1)+2); U3Z:=T3Z>REF(T3Z,1); {前三低}
T4Z:=BACKSET(U3Z,REF(BARSLAST(LDZ),1)+2); U4Z:=T4Z>REF(T4Z,1); {前四低}
R3Z:=BACKSET(S2Z,REF(BARSLAST(HDZ),1)+2); S3Z:=R3Z>REF(R3Z,1); {前三高}
R4Z:=BACKSET(S3Z,REF(BARSLAST(HDZ),1)+2); S4Z:=R4Z>REF(R4Z,1); {前四高}
J1Z:=BACKSET(ISLASTBAR,MIN(BARSLAST(HDZ),BARSLAST(LDZ))+1); J2Z:=J1Z>REF(J1Z,1);
//DRAWLINE(J2Z,IF(HD,HIGH,LOW),ISLASTBAR,IF(BARSLAST(HDZ)>BARSLAST(LDZ),HIGH,LOW),0),COLORFF9900;
DRAWLINE(LDZ,LOW,HDZ,HIGH,0),COLORBLACK,LINEDASH;
DRAWLINE(HDZ,HIGH,LDZ,LOW,0),COLORBLACK,LINEDASH;
DRAWNUMBER(HDZ,HIGH,HIGH,0),COLORBLACK,ALIGN0;
DRAWNUMBER(LDZ,LOW,LOW,0),COLORBLACK,ALIGN0;
__________________
Judith
|