奇狐社區論壇 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 28 個文章

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


由 Markchu7 在 2014-03-25 15:25 發表:

[問題]如何只顯示最後一個循環的編號?

源碼如下:
STDBKH:=REF(REF(H,BARSLAST(O>C)),1),COLORBLUE;
N1BK:=O>C AND H>STDBKH;
N1BKL:=REF(L,BARSLAST(N1BK));
N2BK:=L<N1BKL AND O>C AND SUM(L<N1BKL AND O>C,BARSLAST(N1BK)+1)=1;
N2BKL:=REF(L,BARSLAST(N2BK));
N3BK:=L<N2BKL AND O>C AND SUM(L<N2BKL AND O>C,BARSLAST(N2BK)+1)=1;
N3BKL:=REF(L,BARSLAST(N3BK));
N4BK:=L<N3BKL AND O>C AND SUM(L<N3BKL AND O>C,BARSLAST(N3BK)+1)=1;
N4BKL:=REF(L,BARSLAST(N4BK));
N5BK:=L<N4BKL AND O>C AND SUM(L<N4BKL AND O>C,BARSLAST(N4BK)+1)=1;
DRAWTEXT(N1BK,H,'1'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N2BK,H,'2'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N3BK,H,'3'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N4BK,H,'4'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N5BK,H,'5'),COLORBLACK,PXUP65,ALIGN0;
請指導:1.有無簡潔的寫法不需要一根一根地寫下去?
2.如何只顯示最後一個循環的編號?而不會重疊?(以上是指繪圖效果)如果可以有只保留單獨一個循環(是連續的單獨一個循環!而非歷史的最後一個循環)的寫法更好!(以上是指公式效果)


由 cgjj 在 2014-03-26 09:09 發表:

回覆: [問題]如何只顯示最後一個循環的編號?

引用:
最初由 Markchu7 發表
源碼如下:
STDBKH:=REF(REF(H,BARSLAST(O>C)),1),COLORBLUE;
N1BK:=O>C AND H>STDBKH;
N1BKL:=REF(L,BARSLAST(N1BK));
N2BK:=L<N1BKL AND O>C AND SUM(L<N1BKL AND O>C,BARSLAST(N1BK)+1)=1;
N2BKL:=REF(L,BARSLAST(N2BK));
N3BK:=L<N2BKL AND O>C AND SUM(L<N2BKL AND O>C,BARSLAST(N2BK)+1)=1;
N3BKL:=REF(L,BARSLAST(N3BK));
N4BK:=L<N3BKL AND O>C AND SUM(L<N3BKL AND O>C,BARSLAST(N3BK)+1)=1;
N4BKL:=REF(L,BARSLAST(N4BK));
N5BK:=L<N4BKL AND O>C AND SUM(L<N4BKL AND O>C,BARSLAST(N4BK)+1)=1;
DRAWTEXT(N1BK,H,'1'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N2BK,H,'2'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N3BK,H,'3'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N4BK,H,'4'),COLORBLACK,PXUP65,ALIGN0;
DRAWTEXT(N5BK,H,'5'),COLORBLACK,PXUP65,ALIGN0;
請指導:1.有無簡潔的寫法不需要一根一根地寫下去?
2.如何只顯示最後一個循環的編號?而不會重疊?(以上是指繪圖效果)如果可以有只保留單獨一個循環(是連續的單獨一個循環!而非歷史的最後一個循環)的寫法更好!(以上是指公式效果)



原碼:

OO
:=OCC:=CLL:=L;
STDBKH:=REF(REF(H,BARSLAST(O>C)),1),COLORBLUE;
N1BK:=O>AND H>STDBKH;
SNo:=C*0;
For 
iLbound(N1BKto datacount do begin
  
if N1BK[ithen begin
    CN
:=1SNo[i]:=CNRL:=LL[i];
  
end else begin
    
if LL[i]<RL and OO[i]>CC[ithen begin
      CN
:=CN+1SNo[i]:=CNRL:=LL[i];
    
end;
  
end;
end;
DRAWNUMBER(SNo>0,H,SNo,0),COLORBLACK,PXUP65,ALIGN0;


由 Markchu7 在 2014-03-26 18:43 發表:

感謝指導!正合所需!


由 Markchu7 在 2014-03-27 14:54 發表:

再請指導:如果兩個循環中至少要包含一根C>=O的K棒要如何寫?(我想到的是:SUM(C>=O,BARSLAST(SNo<>0)+1)>0,的方式,可是這樣應該要用迴圈,我就不會了!
附圖框框處就是例子(只不過是紅棒罷了),請指導!


由 Markchu7 在 2014-03-27 15:07 發表:

補一個黑K棒的圖!


由 cgjj 在 2014-03-27 16:23 發表:

引用:
最初由 Markchu7 發表
再請指導:如果兩個循環中至少要包含一根C>=O的K棒要如何寫?(我想到的是:SUM(C>=O,BARSLAST(SNo<>0)+1)>0,的方式,可是這樣應該要用迴圈,我就不會了!
附圖框框處就是例子(只不過是紅棒罷了),請指導!



何謂兩個循環?
看不是很懂您意思


由 Markchu7 在 2014-03-27 16:52 發表:

SNo=1為一次循環的開始SNo=2,SNo=3......到下一次SNo=1之間至少要包含一根C>=O的K棒!謝謝!


由 cgjj 在 2014-03-27 17:23 發表:

引用:
最初由 Markchu7 發表
SNo=1為一次循環的開始SNo=2,SNo=3......到下一次SNo=1之間至少要包含一根C>=O的K棒!謝謝!


原碼:

OO
:=OCC:=CLL:=L;
STDBKH:=REF(REF(H,BARSLAST(O>C)),1),COLORBLUE;
N1BK:=O>AND H>STDBKH;
SNo:=C*0Rst:=1;
For 
iLbound(N1BKto datacount do begin
  
if N1BK[i] and Rst=1 then begin
    CN
:=1SNo[i]:=CNRL:=LL[i]; Rst:=0;
  
end else begin
    
if CC[i]>=OO[ithen begin
      Rst
:=1;
    
end else if LL[i]<RL and OO[i]>CC[ithen begin
      CN
:=CN+1SNo[i]:=CNRL:=LL[i];
    
end;
  
end;
end;
DRAWNUMBER(SNo>0,H,SNo,0),COLORBLACK,PXUP65,ALIGN0;


由 Markchu7 在 2014-03-27 22:21 發表:

感謝總版主辛勞,為狐友解惑!
比對總版主指導的公式發現有些疑問,再請指導!
附圖虛線的源碼如下:
VERTLINE(ALL(C<O,2) AND H>REF(H,1) AND L<REF(L,1)),COLORBLUE,LINEDOT;
請教:1.為何左邊是由1到2繼續算,而右邊則是由2跳回1重新算?
2.左邊由1到2繼續算是我希望呈現的效果!
再次感謝總版主的辛勞!


由 cgjj 在 2014-03-28 08:37 發表:

引用:
最初由 Markchu7 發表
感謝總版主辛勞,為狐友解惑!
比對總版主指導的公式發現有些疑問,再請指導!
附圖虛線的源碼如下:
VERTLINE(ALL(C<O,2) AND H>REF(H,1) AND L<REF(L,1)),COLORBLUE,LINEDOT;
請教:1.為何左邊是由1到2繼續算,而右邊則是由2跳回1重新算?
2.左邊由1到2繼續算是我希望呈現的效果!
再次感謝總版主的辛勞!



正常的唷
因為右邊虛線的前面區域
SNo1~SNo2之間, 有包含1根 C>=O 的K棒(紅K)

故右邊虛線那根(SNo1)是新的循環開始


由 Markchu7 在 2014-03-28 09:25 發表:

喔!原來如此!那就是我的錯!
我的原意是:
SNo<>0跟SNo=1之間包含至少一根C>=O而非SNo=1跟SNo=1之間包含至少一根C>=O!讓右邊可以呈現出左邊的效果!可以麻煩總版主再次協助嗎?感謝您!


由 cgjj 在 2014-03-28 09:43 發表:

引用:
最初由 Markchu7 發表
喔!原來如此!那就是我的錯!
我的原意是:
SNo<>0跟SNo=1之間包含至少一根C>=O而非SNo=1跟SNo=1之間包含至少一根C>=O!讓右邊可以呈現出左邊的效果!可以麻煩總版主再次協助嗎?感謝您!



原碼:

OO
:=OCC:=CLL:=L;
STDBKH:=REF(REF(H,BARSLAST(O>C)),1),COLORBLUE;
N1BK:=O>AND H>STDBKH;
SNo:=C*0Rst:=1;
For 
iLbound(N1BKto datacount do begin
  
if N1BK[i] and Rst=1 then begin
    CN
:=1SNo[i]:=CNRL:=LL[i]; Rst:=0;
  
end else begin
    
if CC[i]>=OO[ithen begin
      Rst
:=1;
    
end else if LL[i]<RL and OO[i]>CC[ithen begin
      CN
:=CN+1SNo[i]:=CNRL:=LL[i]; Rst:=0;
    
end;
  
end;
end;
DRAWNUMBER(SNo>0,H,SNo,0),COLORBLACK,PXUP65,ALIGN0;


由 Markchu7 在 2014-03-28 10:26 發表:

感謝指導!有您真好!


由 cgjj 在 2014-03-28 10:37 發表:

引用:
最初由 Markchu7 發表
感謝指導!有您真好!


不客氣 ^^


由 Markchu7 在 2014-03-28 15:50 發表:

附圖虛線源碼:DATE<>REF(DATE,1);
請問規則可以針對開盤作個別的處理嗎?
我知道開盤當根無法形成新的循環是因為'SNo<>0跟SNo=1之間包含至少一根C>=O'這個條件!也就是說如果是開盤當根K棒,不需受此條件限制!如此的規則效果是否能實現?
不好意思再次麻煩,都怪自己的思考邏輯不夠慎密,盤面狀況又很多,沒法子一次全部考慮進去,只好再次麻煩您!謝謝!


全部時間均為台灣時間, 現在時間為22:37 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 28 個文章


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

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