奇狐社區論壇
在這個頁面顯示本主題全部的 13 個文章

奇狐社區論壇 (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=17145)


由 yjl8895 在 2012-10-01 08:00 發表:

冒昧請教

版主您好:
請教寫法。如圖
當L出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,
當L出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,
當H出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,
當H出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,
感謝您!


畫漸變背景色(1,RGB顏色值(0,150,100),RGB顏色值(0,150,100),1);
XC:收盤價,LINETHICK0;
MA1:=簡單移動平均(收盤價,21);
畫柱線(XC>MA1,最高價,最低價,4,0),COLORBLACK;
畫柱線(XC<MA1,最高價,最低價,4,0),COLORGREEN;

B:之字轉向(3,13)>向前引用(之字轉向(3,13),1) AND
向前引用(之字轉向(3,13),1)<向前引用(之字轉向(3,13),2);
畫圖示(B,最低價,4);
S:之字轉向(3,13)<向前引用(之字轉向(3,13),1) AND
向前引用(之字轉向(3,13),1)>向前引用(之字轉向(3,13),2);
畫圖示(S,最高價,12);

__________________
efef55e3


由 cgjj 在 2012-10-01 10:01 發表:

回覆: 冒昧請教

引用:
最初由 yjl8895 發表
版主您好:
請教寫法。如圖
當L出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,
當L出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,
當H出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,
當H出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,
感謝您!


畫漸變背景色(1,RGB顏色值(0,150,100),RGB顏色值(0,150,100),1);
XC:收盤價,LINETHICK0;
MA1:=簡單移動平均(收盤價,21);
畫柱線(XC>MA1,最高價,最低價,4,0),COLORBLACK;
畫柱線(XC<MA1,最高價,最低價,4,0),COLORGREEN;

B:之字轉向(3,13)>向前引用(之字轉向(3,13),1) AND
向前引用(之字轉向(3,13),1)<向前引用(之字轉向(3,13),2);
畫圖示(B,最低價,4);
S:之字轉向(3,13)<向前引用(之字轉向(3,13),1) AND
向前引用(之字轉向(3,13),1)>向前引用(之字轉向(3,13),2);
畫圖示(S,最高價,12);



原碼:

DRAWGBK
(1,COLORRGB(0,150,100),COLORRGB(0,150,100),1);
XC:CLOSE,LINETHICK0;
MA1:=MA(CLOSE,21);
STICKLINE(XC>MA1,HIGH,LOW,4,0),COLORBLACK;
STICKLINE(XC<MA1,HIGH,LOW,4,0),COLORGREEN;

UZIG:=ZIG(3,13);
B:UZIG>REF(UZIG,1) AND REF(UZIG,1)<REF(UZIG,2);
DRAWICON(B,LOW,4);
S:UZIG<REF(UZIG,1) AND REF(UZIG,1)>REF(UZIG,2);
DRAWICON(S,HIGH,12);
BSP:=barslast(B); LDB:=lbound(BSP);
SSP:=barslast(S); LDS:=lbound(SSP);
LSP:=barslast(or S);
KNo:=datacount-LSP[datacount]-1
DWB:=C*0DWS:=DWB;
BKNo:=KNoSKNo:=KNo
for 
i:=2 downto 1 do begin
  
if BKNo>=LDB then begin
    FPB
:=BKNo-BSP[BKNo];
    
DWB[FPB]:=iBKNo:=FPB-1;
  
end;
  if 
SKNo>=LDS then begin
    FPS
:=SKNo-SSP[SKNo];
    
DWS[FPS]:=iSKNo:=FPS-1;
  
end;
end;
DRAWLINE(DWS=1,H,DWS=2,H,1coloryellow;
DRAWLINE(DWB=1,L,DWB=2,L,1colorred;


由 yjl8895 在 2012-10-01 10:49 發表:

回覆: 回覆: 冒昧請教

引用:
最初由 cgjj 發表
原碼:

DRAWGBK
(1,COLORRGB(0,150,100),COLORRGB(0,150,100),1);
XC:CLOSE,LINETHICK0;
MA1:=MA(CLOSE,21);
STICKLINE(XC>MA1,HIGH,LOW,4,0),COLORBLACK;
STICKLINE(XC<MA1,HIGH,LOW,4,0),COLORGREEN;

UZIG:=ZIG(3,13);
B:UZIG>REF(UZIG,1) AND REF(UZIG,1)<REF(UZIG,2);
DRAWICON(B,LOW,4);
S:UZIG<REF(UZIG,1) AND REF(UZIG,1)>REF(UZIG,2);
DRAWICON(S,HIGH,12);
BSP:=barslast(B); LDB:=lbound(BSP);
SSP:=barslast(S); LDS:=lbound(SSP);
LSP:=barslast(or S);
KNo:=datacount-LSP[datacount]-1
DWB:=C*0DWS:=DWB;
BKNo:=KNoSKNo:=KNo
for 
i:=2 downto 1 do begin
  
if BKNo>=LDB then begin
    FPB
:=BKNo-BSP[BKNo];
    
DWB[FPB]:=iBKNo:=FPB-1;
  
end;
  if 
SKNo>=LDS then begin
    FPS
:=SKNo-SSP[SKNo];
    
DWS[FPS]:=iSKNo:=FPS-1;
  
end;
end;
DRAWLINE(DWS=1,H,DWS=2,H,1coloryellow;
DRAWLINE(DWB=1,L,DWB=2,L,1colorred;





如果加上H2>H1 L1>L2 的條件時當如何

當L出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,且H2>H1
當L出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,且L1>L2
當H出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,且L1>L2
當H出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,且H2>H1

__________________
efef55e3


由 cgjj 在 2012-10-01 12:01 發表:

回覆: 回覆: 回覆: 冒昧請教

引用:
最初由 yjl8895 發表
如果加上H2>H1 L1>L2 的條件時當如何

當L出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,且H2>H1
當L出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,且L1>L2
當H出現時,自動連結劃線向前引用1的次高點H1和向前引用2的高點H2,且L1>L2
當H出現時,自動連結劃線向前引用1的次低點L1和向前引用2的低點L2,且H2>H1



原碼:

DRAWGBK
(1,COLORRGB(0,150,100),COLORRGB(0,150,100),1);
XC:CLOSE,LINETHICK0;
MA1:=MA(CLOSE,21);
STICKLINE(XC>MA1,HIGH,LOW,4,0),COLORBLACK;
STICKLINE(XC<MA1,HIGH,LOW,4,0),COLORGREEN;

UZIG:=ZIG(3,13);
B:UZIG>REF(UZIG,1) AND REF(UZIG,1)<REF(UZIG,2);
DRAWICON(B,LOW,4);
S:UZIG<REF(UZIG,1) AND REF(UZIG,1)>REF(UZIG,2);
DRAWICON(S,HIGH,12);
BSP:=barslast(B); LDB:=lbound(BSP);
SSP:=barslast(S); LDS:=lbound(SSP);
LSP:=barslast(or S);
KNo:=datacount-LSP[datacount]-1
DWB:=C*0DWS:=DWBHH:=HLL:=L;
BKNo:=KNoSKNo:=KNo;
VARIABLEPH[2]=0,PL[2]=0;
for 
i:=1 to 2 do begin
  
if BKNo>=LDB then begin
    FPB
:=BKNo-BSP[BKNo];
    
DWB[FPB]:=iPL[i]:=LL[FPB]; BKNo:=FPB-1
  
end;
  if 
SKNo>=LDS then begin
    FPS
:=SKNo-SSP[SKNo];
    
DWS[FPS]:=iPH[i]:=HH[FPS]; SKNo:=FPS-1;
  
end;
end;
PDH:=PH[2]>PH[1]; PDL:=PL[1]>PL[2];
DRAWLINE(DWS=and PDHHHDWS=and PDHHH,1coloryellow;
DRAWLINE(DWB=and PDLLLDWB=and PDLLL,1colorred;


由 yjl8895 在 2012-10-01 12:54 發表:

回覆: 回覆: 回覆: 回覆: 冒昧請教

引用:
最初由 cgjj 發表
原碼:

DRAWGBK
(1,COLORRGB(0,150,100),COLORRGB(0,150,100),1);
XC:CLOSE,LINETHICK0;
MA1:=MA(CLOSE,21);
STICKLINE(XC>MA1,HIGH,LOW,4,0),COLORBLACK;
STICKLINE(XC<MA1,HIGH,LOW,4,0),COLORGREEN;

UZIG:=ZIG(3,13);
B:UZIG>REF(UZIG,1) AND REF(UZIG,1)<REF(UZIG,2);
DRAWICON(B,LOW,4);
S:UZIG<REF(UZIG,1) AND REF(UZIG,1)>REF(UZIG,2);
DRAWICON(S,HIGH,12);
BSP:=barslast(B); LDB:=lbound(BSP);
SSP:=barslast(S); LDS:=lbound(SSP);
LSP:=barslast(or S);
KNo:=datacount-LSP[datacount]-1
DWB:=C*0DWS:=DWBHH:=HLL:=L;
BKNo:=KNoSKNo:=KNo;
VARIABLEPH[2]=0,PL[2]=0;
for 
i:=1 to 2 do begin
  
if BKNo>=LDB then begin
    FPB
:=BKNo-BSP[BKNo];
    
DWB[FPB]:=iPL[i]:=LL[FPB]; BKNo:=FPB-1
  
end;
  if 
SKNo>=LDS then begin
    FPS
:=SKNo-SSP[SKNo];
    
DWS[FPS]:=iPH[i]:=HH[FPS]; SKNo:=FPS-1;
  
end;
end;
PDH:=PH[2]>PH[1]; PDL:=PL[1]>PL[2];
DRAWLINE(DWS=and PDHHHDWS=and PDHHH,1coloryellow;
DRAWLINE(DWB=and PDLLLDWB=and PDLLL,1colorred;




版主謝謝您
辛苦了

__________________
efef55e3


由 yjl8895 在 2012-11-21 07:21 發表:

另求

版大:
可否以續上語法找出
在QA出現後(先決條件一定要有S與S的連線)
第一次與黃線的交叉點(即QB的點)

__________________
efef55e3


由 yjl8895 在 2012-11-21 08:41 發表:

版大:
可否以續上語法找出
在QA出現後(先決條件一定要有S與S的連線)
第一次與黃線的交叉點(即QB的點)

__________________
efef55e3


由 cgjj 在 2012-11-21 09:29 發表:

引用:
最初由 yjl8895 發表
版大:
可否以續上語法找出
在QA出現後(先決條件一定要有S與S的連線)
第一次與黃線的交叉點(即QB的點)



續接

XM:=LINEVALUE(DWS=2 and PDH, HH, DWS=1 and PDH, HH,1,0);
QB:=barslast(DWB=1)>0 and cross(C,XM);
VERTLINE(QB) linedot;


由 yjl8895 在 2012-11-21 20:15 發表:

大大:
謝謝您

__________________
efef55e3


由 yjl8895 在 2012-11-24 15:13 發表:

版大:
若不要總是在最後一個週期出現,想以每個週期都呈現,當如何?

原碼
DRAWGBK(1,COLORRGB(0,150,100),COLORRGB(0,150,100),1);
XC:CLOSE,LINETHICK0;
MA1:=MA(CLOSE,21);
STICKLINE(XC>MA1,HIGH,LOW,4,0),COLORBLACK;
STICKLINE(XC<MA1,HIGH,LOW,4,0),COLORGREEN;
UZIG:=ZIG(3,13);
B:UZIG>REF(UZIG,1) AND REF(UZIG,1)<REF(UZIG,2);
DRAWICON(B,LOW,4);
S:UZIG<REF(UZIG,1) AND REF(UZIG,1)>REF(UZIG,2);
DRAWICON(S,HIGH,12);
BSP:=barslast(B); LDB:=lbound(BSP);
SSP:=barslast(S); LDS:=lbound(SSP);
LSP:=barslast(B or S);
KNo:=datacount-LSP[datacount]-1;
DWB:=C*0; DWS:=DWB; HH:=H; LL:=L;
BKNo:=KNo; SKNo:=KNo;
VARIABLE: PH[2]=0,PL[2]=0;
for i:=1 to 2 do begin
if BKNo>=LDB then begin
FPB:=BKNo-BSP[BKNo];
DWB[FPB]:=i; PL[i]:=LL[FPB]; BKNo:=FPB-1;
end;
if SKNo>=LDS then begin
FPS:=SKNo-SSP[SKNo];
DWS[FPS]:=i; PH[i]:=HH[FPS]; SKNo:=FPS-1;
end;
end;
PDH:=PH[2]>PH[1]; PDL:=PL[1]>PL[2];
DRAWLINE(DWS=2 and PDH, HH, DWS=1 and PDH, HH,1) coloryellow;
DRAWLINE(DWB=2 and PDL, LL, DWB=1 and PDL, LL,1) colorred;

XM:=LINEVALUE(DWS=2 and PDH, HH, DWS=1 and PDH, HH,1,0);
QB:=barslast(DWB=1)>0 and cross(C,XM);
VERTLINE(QB) linedot;

__________________
efef55e3


由 cgjj 在 2012-11-26 09:43 發表:

引用:
最初由 yjl8895 發表
版大:
若不要總是在最後一個週期出現,想以每個週期都呈現,當如何?

原碼
DRAWGBK(1,COLORRGB(0,150,100),COLORRGB(0,150,100),1);
XC:CLOSE,LINETHICK0;
MA1:=MA(CLOSE,21);
.................................



不建議如此做, 畫面會一堆線
且耗費 CPU在畫很多不會用到的線


由 yjl8895 在 2012-12-20 08:15 發表:

上述用意在於只求得QB,故屆時將會把所有劃線隱藏,有勞版大。

__________________
efef55e3


由 cgjj 在 2012-12-21 12:18 發表:

引用:
最初由 yjl8895 發表
上述用意在於只求得QB,故屆時將會把所有劃線隱藏,有勞版大。


DRAWGBK(1,COLORRGB(0,150,100),COLORRGB(0,150,100),1);
XC:CLOSE,LINETHICK0;
MA1:=MA(CLOSE,21);
STICKLINE(XC>MA1,HIGH,LOW,4,0),COLORBLACK;
STICKLINE(XC<MA1,HIGH,LOW,4,0),COLORGREEN;
UZIG:=ZIG(3,13);
B:UZIG>REF(UZIG,1) AND REF(UZIG,1)<REF(UZIG,2) linethick0;
S:UZIG<REF(UZIG,1) AND REF(UZIG,1)>REF(UZIG,2) linethick0;
DRAWICON(B,LOW,4); DRAWICON(S,HIGH,12);
B1SP:=sumbars(B,1)-1; B2SP:=sumbars(B,2)-1;
S1SP:=sumbars(S,1)-1; S2SP:=sumbars(S,2)-1;
PS:=S and ref(H,S1SP)<ref(H,S2SP);
PB:=B and ref(L,B1SP)>ref(L,B2SP);
QA:=PB and ref(PS,S1SP); QASP:=barslast(QA);
VERTLINE(QA) linedot COLORWHITE;
SLINE:=ref(h,S2SP)-(ref(h,S2SP)-ref(h,S1SP))/(S2SP-S1SP)*S2SP;
QB:=C>SLINE and sum(S or (B and QA=0), QASP+1)=0;
QB:=QB and sum(QB,QASP+1)=1;
VERTLINE(QB) linedot COLORRED;


全部時間均為台灣時間, 現在時間為17:23
在這個頁面顯示本主題全部的 13 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.