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

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


由 jely0210 在 2011-08-19 09:37 發表:

[求救]請問寫法??

請問如何在分線圖中以每日的開盤價當基準點
上、下個自加減15, 25, 50點並劃水平線向右延伸

直到最高、最低突破50點後,
則以箱頂(+50)、箱底(-50)重新當作新的基準點
重新上下做加減15, 25, 50點向右劃水平延伸線??


由 cgjj 在 2011-08-19 16:03 發表:

回覆: [求救]請問寫法??

引用:
最初由 jely0210 發表
請問如何在分線圖中以每日的開盤價當基準點
上、下個自加減15, 25, 50點並劃水平線向右延伸

直到最高、最低突破50點後,
則以箱頂(+50)、箱底(-50)重新當作新的基準點
重新上下做加減15, 25, 50點向右劃水平延伸線??


原碼:

HH
:=HLL:=L;
MM:Open*(date<>ref(date,1)) linedot;
StNo:=lbound(BARSSINCE(MM>0));
for 
i=StNo to datacount do begin
  
if MM[i]>0 then begin
    SS
:=MM[i];
  
end else if HH[i]-SS>50 then begin
    SS
:=SS+50MM[i]:=SS;
  
end else if SS-LL[i]>50 then begin
    SS
:=SS-50MM[i]:=SS;
  
end;
end;
MM:=ref(MM,barslast(MM>0));
U1:MM+15 linedot;
U2:MM+25 linedot;
U3:MM+50 linedot;
D1:MM-15 linedot
D2:MM-25 linedot;
D3:MM-50 linedot;


由 jely0210 在 2011-08-19 17:03 發表:

回覆: 回覆: [求救]請問寫法??

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

HH
:=HLL:=L;
MM:Open*(date<>ref(date,1)) linedot;
StNo:=lbound(BARSSINCE(MM>0));
for 
i=StNo to datacount do begin
  
if MM[i]>0 then begin
    SS
:=MM[i];
  
end else if HH[i]-SS>50 then begin
    SS
:=SS+50MM[i]:=SS;
  
end else if SS-LL[i]>50 then begin
    SS
:=SS-50MM[i]:=SS;
  
end;
end;
MM:=ref(MM,barslast(MM>0));
U1:MM+15 linedot;
U2:MM+25 linedot;
U3:MM+50 linedot;
D1:MM-15 linedot
D2:MM-25 linedot;
D3:MM-50 linedot;




謝謝版主的幫忙!!

另外請問
1. 如果跨日時,線段想要不連續的話該如何修改?
2. 如果要高低點超過20點後
才出現U2、U3 、D2 、D3這幾條線的話,又該如何修改?



版主如果方便的話,可以解釋程式中這幾行的意義嗎?看不太懂說

MM:Open*(date<>ref(date,1)) linedot;
StNo:=lbound(BARSSINCE(MM>0));
for i=StNo to datacount do begin
if MM[i]>0 then begin
SS:=MM[i];
end else if HH[i]-SS>50 then begin
SS:=SS+50; MM[i]:=SS;
end else if SS-LL[i]>50 then begin
SS:=SS-50; MM[i]:=SS;
end;
end;
MM:=ref(MM,barslast(MM>0));


由 cgjj 在 2011-08-22 08:57 發表:

回覆: 回覆: 回覆: [求救]請問寫法??

引用:
最初由 jely0210 發表

版主如果方便的話,可以解釋程式中這幾行的意義嗎?看不太懂說

MM:Open*(date<>ref(date,1)) linedot;
StNo:=lbound(BARSSINCE(MM>0));
for i=StNo to datacount do begin
if MM[i]>0 then begin
SS:=MM[i];
end else if HH[i]-SS>50 then begin
SS:=SS+50; MM[i]:=SS;
end else if SS-LL[i]>50 then begin
SS:=SS-50; MM[i]:=SS;
end;
end;
MM:=ref(MM,barslast(MM>0));



MM:Open*(date<>ref(date,1)) linedot;
每日首根MM值設為該根開盤價, 其餘位置設為零值

StNo:=lbound(BARSSINCE(MM>0));
求 MM 值首個非零值的位址

for i=StNo to datacount do begin
........................
end;
以迴圈處理 MM 值的階梯變化

MM:=ref(MM,barslast(MM>0));
若當前MM值為零值, 則用其前一個非零值取代


由 cgjj 在 2011-08-22 09:41 發表:

回覆: 回覆: 回覆: [求救]請問寫法??

引用:
最初由 jely0210 發表
另外請問
1. 如果跨日時,線段想要不連續的話該如何修改?


原碼:

HH
:=HLL:=L;
CK:=date<>ref(date,1);
MM:Open*(CKlinethick COLORYELLOW;
StNo:=lbound(BARSSINCE(MM>0));
for 
i=StNo to datacount do begin
  
if MM[i]>0 then begin
    SS
:=MM[i];
  
end else if HH[i]-SS>50 then begin
    SS
:=SS+50MM[i]:=SS;
  
end else if SS-LL[i]>50 then begin
    SS
:=SS-50MM[i]:=SS;
  
end;
end;
MM:=ref(MM,barslast(MM>0));
U1:MM+15 linethick0;
U2:MM+25 linethick0;
U3:MM+50 linethick0;
D1:MM-15 linethick0
D2:MM-25 linethick0;
D3:MM-50 linethick0;
PARTLINE(CK=0,MMlinedot COLORYELLOW;
PARTLINE(CK=0,U1linedot COLORFF00FF;
PARTLINE(CK=0,U2linedot COLORFF88FF;
PARTLINE(CK=0,U3linedot COLORFFCCFF;
PARTLINE(CK=0,D1linedot COLOR00FF00;
PARTLINE(CK=0,D2linedot COLOR88FF00;
PARTLINE(CK=0,D3linedot COLORCCFF00;


由 cgjj 在 2011-08-22 09:43 發表:

回覆: 回覆: 回覆: [求救]請問寫法??

引用:
最初由 jely0210 發表
2. 如果要高低點超過20點後
才出現U2、U3 、D2 、D3這幾條線的話,又該如何修改?



'高低點' 是指什麼的高低點?
請明確定義, 謝謝!


由 jely0210 在 2011-08-23 13:17 發表:

回覆: 回覆: 回覆: 回覆: [求救]請問寫法??

引用:
最初由 cgjj 發表
'高低點' 是指什麼的高低點?
請明確定義, 謝謝!



謝謝版主大力的幫忙!

高低點指的是
每天的盤中的高點是否有突破基準點+20點後
才出現U2、U3 這幾條線

盤中的低點是否有跌破基準點-20點後
才出現D2 、D3這幾條線


由 cgjj 在 2011-08-23 18:34 發表:

回覆: 回覆: 回覆: 回覆: 回覆: [求救]請問寫法??

引用:
最初由 jely0210 發表
謝謝版主大力的幫忙!

高低點指的是
每天的盤中的高點是否有突破基準點+20點後
才出現U2、U3 這幾條線

盤中的低點是否有跌破基準點-20點後
才出現D2 、D3這幾條線

原碼:

HH
:=HLL:=L;
CK:=date<>ref(date,1);
MM:Open*(CKlinethick COLORYELLOW;
SP:=barslast(CK); SM:=ref(MM,SP);
CKU:=HHV(H,SP+1)-SM>20;
CKU:=sum(sum(CKU,SP+1)>0,2)=2;
CKD:=SM-LLV(L,SP+1)>20;
CKD:=sum(sum(CKD,SP+1)>0,2)=2;
StNo:=lbound(BARSSINCE(MM>0));
for 
i=StNo to datacount do begin
  
if MM[i]>0 then begin
    SS
:=MM[i];
  
end else if HH[i]-SS>50 then begin
    SS
:=SS+50MM[i]:=SS;
  
end else if SS-LL[i]>50 then begin
    SS
:=SS-50MM[i]:=SS;
  
end;
end;
MM:=ref(MM,barslast(MM>0))COLORYELLOW;
U1:MM+15 linethick0 COLORFF00FF;
U2:MM+25 linethick0 COLORFF88FF;
U3:MM+50 linethick0 COLORFFCCFF;
D1:MM-15 linethick0 COLOR00FF00
D2:MM-25 linethick0 COLOR88FF00;
D3:MM-50 linethick0 COLORCCFF00;
PARTLINE(CK=0,MMlinedot COLORYELLOW;
PARTLINE(CKU,U1linedot COLORFF00FF;
PARTLINE(CKU,U2linedot COLORFF88FF;
PARTLINE(CKU,U3linedot COLORFFCCFF;
PARTLINE(CKD,D1linedot COLOR00FF00;
PARTLINE(CKD,D2linedot COLOR88FF00;
PARTLINE(CKD,D3linedot COLORCCFF00;


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


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

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