![]() |
在這個頁面顯示本主題全部的 11 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 問題請教 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=22103)
問題請教
你好:想請教一下公式的寫法,我主要先用KD找出相對的高低點位之後再畫水平線,如右邊無股價則向右延伸,如有股價則畫虛線,我有加入判斷式但好像無法成立,請問要如何修改或有其他的寫法,謝謝。
//KD
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
//高低點
zs:=BARSCOUNT(CLOSE);
HH:=HHV(HIGH,BARSLAST(K<D));
LL:=LLV(LOW,BARSLAST(K>D));
Y1:=FILTERX(HIGH=HH,BARSLAST(K<D));
Y2:=FILTERX(LOW=LL,BARSLAST(K>D));
T1:=BACKSET(BARSTATUS=2,BARSLAST(Y2)+1); U1:=T1>REF(T1,1);
T2:=BACKSET(U1,REF(BARSLAST(Y2),1)+2); U2:=T2>REF(T2,1);
T3:=BACKSET(U2,REF(BARSLAST(Y2),1)+2); U3:=T3>REF(T3,1);
R1:=BACKSET(BARSTATUS=2,BARSLAST(Y1)+1); S1:=R1>REF(R1,1);
R2:=BACKSET(S1,REF(BARSLAST(Y1),1)+2); S2:=R2>REF(R2,1);
R3:=BACKSET(S2,REF(BARSLAST(Y1),1)+2); S3:=R3>REF(R3,1);
//畫線
A1:=REF(HIGH,BARSLAST(S1));
PP:=0;
IF(ANY(CROSS(HIGH,A1),zs),PP=1,pp=2);
IF pp=2 then
DRAWLINE(s1,A1,CROSS(HIGH,A1),A1,0),ColorYellow,LINEDOT;
Else Begin
DRAWLINE(s1,A1,ISLASTBAR,A1,1),ColorRed;
DRAWNUMBER(ISLASTBAR,A1,A1,2),ColorRed;
End
A2:=REF(HIGH,BARSLAST(S2));
xx:=0;
IF(ANY(CROSS(HIGH,A2),zs),xx=1,xx=2);
IF xx=2 then
DRAWLINE(s2,A2,CROSS(HIGH,A2),A2,0),Colorblack,LINEDOT;
Else Begin
DRAWLINE(s2,A2,ISLASTBAR,A2,1),ColorRed;
DRAWNUMBER(ISLASTBAR,A2,A2,2),ColorRed;
End
A3:=REF(HIGH,BARSLAST(S3));
xx:=0;
IF(ANY(CROSS(HIGH,A3),zs),xx=1,xx=2);
IF xx=2 then
DRAWLINE(s3,A3,CROSS(HIGH,A3),A3,0),ColorYellow,LINEDOT;
Else Begin
DRAWLINE(s3,A3,ISLASTBAR,A3,1),ColorRed;
DRAWNUMBER(ISLASTBAR,A3,A3,2),ColorRed;
End
附上圖檔
回覆: 問題請教
引用:
最初由 k5157 發表
你好:想請教一下公式的寫法,我主要先用KD找出相對的高低點位之後再畫水平線,如右邊無股價則向右延伸,如有股價則畫虛線,我有加入判斷式但好像無法成立,請問要如何修改或有其他的寫法,謝謝。
//KD
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
//高低點
zs:=BARSCOUNT(CLOSE);
HH:=HHV(HIGH,BARSLAST(K<D));
LL:=LLV(LOW,BARSLAST(K>D));
Y1:=FILTERX(HIGH=HH,BARSLAST(K<D));
Y2:=FILTERX(LOW=LL,BARSLAST(K>D));
T1:=BACKSET(BARSTATUS=2,BARSLAST(Y2)+1); U1:=T1>REF(T1,1);
T2:=BACKSET(U1,REF(BARSLAST(Y2),1)+2); U2:=T2>REF(T2,1);
T3:=BACKSET(U2,REF(BARSLAST(Y2),1)+2); U3:=T3>REF(T3,1);
R1:=BACKSET(BARSTATUS=2,BARSLAST(Y1)+1); S1:=R1>REF(R1,1);
R2:=BACKSET(S1,REF(BARSLAST(Y1),1)+2); S2:=R2>REF(R2,1);
R3:=BACKSET(S2,REF(BARSLAST(Y1),1)+2); S3:=R3>REF(R3,1);
//畫線
A1:=REF(HIGH,BARSLAST(S1));
PP:=0;
IF(ANY(CROSS(HIGH,A1),zs),PP=1,pp=2);
IF pp=2 then
DRAWLINE(s1,A1,CROSS(HIGH,A1),A1,0),ColorYellow,LINEDOT;
Else Begin
DRAWLINE(s1,A1,ISLASTBAR,A1,1),ColorRed;
DRAWNUMBER(ISLASTBAR,A1,A1,2),ColorRed;
End
A2:=REF(HIGH,BARSLAST(S2));
xx:=0;
IF(ANY(CROSS(HIGH,A2),zs),xx=1,xx=2);
IF xx=2 then
DRAWLINE(s2,A2,CROSS(HIGH,A2),A2,0),Colorblack,LINEDOT;
Else Begin
DRAWLINE(s2,A2,ISLASTBAR,A2,1),ColorRed;
DRAWNUMBER(ISLASTBAR,A2,A2,2),ColorRed;
End
A3:=REF(HIGH,BARSLAST(S3));
xx:=0;
IF(ANY(CROSS(HIGH,A3),zs),xx=1,xx=2);
IF xx=2 then
DRAWLINE(s3,A3,CROSS(HIGH,A3),A3,0),ColorYellow,LINEDOT;
Else Begin
DRAWLINE(s3,A3,ISLASTBAR,A3,1),ColorRed;
DRAWNUMBER(ISLASTBAR,A3,A3,2),ColorRed;
End
原碼:
//KD RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:=SMA(RSV,3,1); D:=SMA(K,3,1); //高低點 HH:=H; LL:=L; UCK:=Cross(K,D); DCK:=Cross(D,K); UED:=refx(DCK,1) or islastbar; DED:=refx(UCK,1) or islastbar; HSP:=HHVBARS(H,BARSLAST(UCK)+1); LSP:=LLVBARS(L,BARSLAST(DCK)+1); HHP:=SETVAL(UED,0,-HSP,Barpos-HSP)=Barpos or barpos=0; //高點 LLP:=SETVAL(DED,0,-LSP,Barpos-LSP)=Barpos or barpos=0; //低點 //畫高點線 ZeroAry:=C*0; MaxN:=3; CountN:=0; DWHP:=ZeroAry; DWLN:=ZeroAry; for i=datacount downto 1 do begin if HHP[i]=1 then begin DWHP[i]:=1; DWLN[i]:=0; for j=i+1 to datacount do begin if HH[j]>=HH[i] and LL[j]<=HH[i] then begin DWLN[i]:=j-i; break; end; end; CountN:=CountN+1; if CountN=MaxN then break; end; end; DRAWSL(DWHP and DWLN=0,HH,0,DWLN,0) pxdn2 ColorFF00FF; DRAWSL(DWHP and DWLN>0,HH,0,DWLN,0) pxdn2 linedot ColorFF00FF; SP1:=sumbars(DWHP,1)-1; DRAWNUMBER(ref(DWLN,SP1)=0 and islastbar,ref(HH,SP1),ref(HH,SP1),2) shift1 ColorFF00FF; SP2:=sumbars(DWHP,2)-1; DRAWNUMBER(ref(DWLN,SP2)=0 and islastbar,ref(HH,SP2),ref(HH,SP2),2) shift1 ColorFF00FF; SP3:=sumbars(DWHP,3)-1; DRAWNUMBER(ref(DWLN,SP3)=0 and islastbar,ref(HH,SP3),ref(HH,SP3),2) shift1 ColorFF00FF;
感謝版主!!太感謝了!!
請問版主,是否可以把低點也加入這樣就完美了。真的很感謝!!
引用:
最初由 k5157 發表
請問版主,是否可以把低點也加入這樣就完美了。真的很感謝!!
原碼:
//KD RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:=SMA(RSV,3,1); D:=SMA(K,3,1); //高低點 HH:=H; LL:=L; UCK:=Cross(K,D); DCK:=Cross(D,K); UED:=refx(DCK,1) or islastbar; DED:=refx(UCK,1) or islastbar; HSP:=HHVBARS(H,BARSLAST(UCK)+1); LSP:=LLVBARS(L,BARSLAST(DCK)+1); HHP:=SETVAL(UED,0,-HSP,Barpos-HSP)=Barpos or barpos=0; //高點 LLP:=SETVAL(DED,0,-LSP,Barpos-LSP)=Barpos or barpos=0; //低點 //畫線 ZeroAry:=C*0; MaxN:=3; CountH:=0; CountL:=0; DWHP:=ZeroAry; DWLP:=ZeroAry; DWLN:=ZeroAry; for i=datacount downto 1 do begin if HHP[i]=1 then begin DWHP[i]:=1; DWLN[i]:=0; for j=i+1 to datacount do begin if HH[j]>=HH[i] and LL[j]<=HH[i] then begin DWLN[i]:=j-i; break; end; end; CountH:=CountH+1; if CountH=MaxN then break; end; end; DRAWSL(DWHP and DWLN=0,HH,0,DWLN,0) pxdn2 ColorFF00FF; DRAWSL(DWHP and DWLN>0,HH,0,DWLN,0) pxdn2 linedot ColorFF00FF; SP1:=sumbars(DWHP,1)-1; DRAWNUMBER(ref(DWLN,SP1)=0 and islastbar,ref(HH,SP1),ref(HH,SP1),2) shift1 ColorFF00FF; SP2:=sumbars(DWHP,2)-1; DRAWNUMBER(ref(DWLN,SP2)=0 and islastbar,ref(HH,SP2),ref(HH,SP2),2) shift1 ColorFF00FF; SP3:=sumbars(DWHP,3)-1; DRAWNUMBER(ref(DWLN,SP3)=0 and islastbar,ref(HH,SP3),ref(HH,SP3),2) shift1 ColorFF00FF; for i=datacount downto 1 do begin if LLP[i]=1 then begin DWLP[i]:=1; DWLN[i]:=0; for j=i+1 to datacount do begin if LL[j]>=LL[i] and LL[j]<=LL[i] then begin DWLN[i]:=j-i; break; end; end; CountL:=CountL+1; if CountL=MaxN then break; end; end; DRAWSL(DWLP and DWLN=0,LL,0,DWLN,0) pxdn2 Color00FF00; DRAWSL(DWLP and DWLN>0,LL,0,DWLN,0) pxdn2 linedot Color00FF00; SP1:=sumbars(DWLP,1)-1; DRAWNUMBER(ref(DWLN,SP1)=0 and islastbar,ref(LL,SP1),ref(LL,SP1),2) shift1 Color00FF00; SP2:=sumbars(DWLP,2)-1; DRAWNUMBER(ref(DWLN,SP2)=0 and islastbar,ref(LL,SP2),ref(LL,SP2),2) shift1 Color00FF00; SP3:=sumbars(DWLP,3)-1; DRAWNUMBER(ref(DWLN,SP3)=0 and islastbar,ref(LL,SP3),ref(LL,SP3),2) shift1 Color00FF00;
使用奇狐軟體是非常幸運的是,再次感謝版主!!
感謝你的幫忙!!
版主不好意思,低點的顯示有點問題,前低被碰到應該變虛線才對,可是目前是全部的低點都出現,很抱歉這麼麻煩你,謝謝!!
引用:
最初由 k5157 發表
版主不好意思,低點的顯示有點問題,前低被碰到應該變虛線才對,可是目前是全部的低點都出現,很抱歉這麼麻煩你,謝謝!!
終於完整了,非常感謝版主!!!
引用:
最初由 k5157 發表
終於完整了,非常感謝版主!!!
全部時間均為台灣時間, 現在時間為21:08 | 在這個頁面顯示本主題全部的 11 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.