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

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


由 Markchu7 在 2014-01-11 15:07 發表:

[問題]求低為支撐高為壓力

CK:=DATE<>REF(DATE,1);
SP:=BARSLAST(CK)+1;

MM:=IF(SP>3,3,SP);
NN:=IF(SP>9,9,SP);
XC:=(3*C+H+L+O)/6;
L34SP:BARSLAST(RL=LLV(RL,IF(DATATYPE<4,NN,9)))+1,COLORRED,LINETHICK;
L34RH:=hhv(RL,L34SP),COLORRED,LINETHICK;
L34RL:=llv(RL,L34SP),COLORRED,LINETHICK;

H34SP:BARSLAST(RH=HHV(RH,IF(DATATYPE<4,NN,9)))+1,COLORBLUE,LINETHICK;
H34RH:=hhv(RH,H34SP),COLORBLUE,LINETHICK;
H34RL:=llv(RH,H34SP),COLORBLUE,LINETHICK;
高:REF(H34RH,BARSLAST(REFX(H34RH<>H34RL,1)=1)),COLORBLUE,LINEDOT;
低:REF(L34RL,BARSLAST(REFX(L34RH<>L34RL,1)=1)),COLORRED,LINEDOT;
求貼圖中符合條件的低為支撐,相同規則高為壓力,請指導,感謝!


由 cgjj 在 2014-01-13 09:22 發表:

回覆: [問題]求低為支撐高為壓力

引用:
最初由 Markchu7 發表
CK:=DATE<>REF(DATE,1);
SP:=BARSLAST(CK)+1;

MM:=IF(SP>3,3,SP);
NN:=IF(SP>9,9,SP);
XC:=(3*C+H+L+O)/6;
L34SP:BARSLAST(RL=LLV(RL,IF(DATATYPE<4,NN,9)))+1,COLORRED,LINETHICK;
L34RH:=hhv(RL,L34SP),COLORRED,LINETHICK;
L34RL:=llv(RL,L34SP),COLORRED,LINETHICK;

H34SP:BARSLAST(RH=HHV(RH,IF(DATATYPE<4,NN,9)))+1,COLORBLUE,LINETHICK;
H34RH:=hhv(RH,H34SP),COLORBLUE,LINETHICK;
H34RL:=llv(RH,H34SP),COLORBLUE,LINETHICK;
高:REF(H34RH,BARSLAST(REFX(H34RH<>H34RL,1)=1)),COLORBLUE,LINEDOT;
低:REF(L34RL,BARSLAST(REFX(L34RH<>L34RL,1)=1)),COLORRED,LINEDOT;
求貼圖中符合條件的低為支撐,相同規則高為壓力,請指導,感謝!



要像黑線那樣的畫法, 需要向後Check( 未來數據)唷
您可要先想清楚


由 Markchu7 在 2014-01-13 09:48 發表:

是的!感謝總版主提醒!運用上自己會小心!


由 cgjj 在 2014-01-13 10:41 發表:

引用:
最初由 Markchu7 發表
是的!感謝總版主提醒!運用上自己會小心!

尾端加入
原碼:

MCK
:=0M低:=C*0Old高:=[datacount];
StNo:=lbound(); 
for 
i=datacount downto StNo do begin
  
if Old高<>[ithen begin
    Old高
:=[i]; MCK:=1;
  
end;
  if 
i>StNo then begin
    
if [i]<>[i-1then M低[i]:=MCK;
  
end else begin
    M低
[i]:=MCK;
  
end;
  if 
M低[ithen MCK:=0;
end;
M低:ref(,barslast(M低));


由 Markchu7 在 2014-01-13 11:09 發表:

感謝指導,來去學習學習!


由 Markchu7 在 2014-01-13 11:31 發表:

感謝總版主指導支撐線的部分!
有關壓力線自己依樣畫葫蘆試了一下,結果出現'指標數組下標越界....'的警語,可否請指導要如何改正?(因為您指導的源碼還不太懂,所以我的做法就是'高'的部分全部改成'低','低'的部分全部改成'高'!)


由 cgjj 在 2014-01-13 12:38 發表:

引用:
最初由 Markchu7 發表
感謝總版主指導支撐線的部分!
有關壓力線自己依樣畫葫蘆試了一下,結果出現'指標數組下標越界....'的警語,可否請指導要如何改正?(因為您指導的源碼還不太懂,所以我的做法就是'高'的部分全部改成'低','低'的部分全部改成'高'!)



原碼:

MCK
:=0M低:=C*0Old高:=[datacount];
StNo:=lbound(); 
for 
i=datacount downto StNo do begin
  
if Old高<>[ithen begin
    Old高
:=[i]; MCK:=1;
  
end;
  if 
i>StNo then begin
    
if [i]<>[i-1then M低[i]:=MCK;
  
end else begin
    M低
[i]:=MCK;
  
end;
  if 
M低[ithen MCK:=0;
end;
M低:ref(,barslast(M低));
MCK:=0M高:=C*0Old低:=[datacount];
StNo:=lbound(); 
for 
i=datacount downto StNo do begin
  
if Old低<>[ithen begin
    Old低
:=[i]; MCK:=1;
  
end;
  if 
i>StNo then begin
    
if [i]<>[i-1then M高[i]:=MCK;
  
end else begin
    M高
[i]:=MCK;
  
end;
  if 
M高[ithen MCK:=0;
end;
M高:ref(,barslast(M高));


由 Markchu7 在 2014-01-13 13:02 發表:

一樣出現'指標數組下標越界....'的警語!


由 cgjj 在 2014-01-13 13:09 發表:

引用:
最初由 Markchu7 發表
一樣出現'指標數組下標越界....'的警語!


若您的 高 與 低 起點各自不同
就會產生應用上的問題

偷懶的解決方式, 是將
StNo:=lbound(低);

改為
StNo:=MAX( lbound(低) , lbound(高));

這樣改, 算出的歷史首個壓力線請不要看


由 Markchu7 在 2014-01-13 13:12 發表:

OK!我試試!


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


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

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