 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1509 |
[問題]如何只顯示最後一個循環的編號?
源碼如下:
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.如何只顯示最後一個循環的編號?而不會重疊?(以上是指繪圖效果)如果可以有只保留單獨一個循環(是連續的單獨一個循環!而非歷史的最後一個循環)的寫法更好!(以上是指公式效果)
|
|
向版主報告此篇 |  |
|
2014-03-25 15:25 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18133 |
回覆: [問題]如何只顯示最後一個循環的編號?
引用: 最初由 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:=O; CC:=C; LL:=L;
STDBKH:=REF(REF(H,BARSLAST(O>C)),1),COLORBLUE;
N1BK:=O>C AND H>STDBKH;
SNo:=C*0;
For i= Lbound(N1BK) to datacount do begin
if N1BK[i] then begin
CN:=1; SNo[i]:=CN; RL:=LL[i];
end else begin
if LL[i]<RL and OO[i]>CC[i] then begin
CN:=CN+1; SNo[i]:=CN; RL:=LL[i];
end;
end;
end;
DRAWNUMBER(SNo>0,H,SNo,0),COLORBLACK,PXUP65,ALIGN0;
|
|
向版主報告此篇 |  |
|
2014-03-26 09:09 |
|
|
|  |
 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1509 |
SNo=1為一次循環的開始SNo=2,SNo=3......到下一次SNo=1之間至少要包含一根C>=O的K棒!謝謝!
|
|
向版主報告此篇 |  |
|
2014-03-27 16:52 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18133 |
引用: 最初由 Markchu7 發表
SNo=1為一次循環的開始SNo=2,SNo=3......到下一次SNo=1之間至少要包含一根C>=O的K棒!謝謝!
原碼:
OO:=O; CC:=C; LL:=L;
STDBKH:=REF(REF(H,BARSLAST(O>C)),1),COLORBLUE;
N1BK:=O>C AND H>STDBKH;
SNo:=C*0; Rst:=1;
For i= Lbound(N1BK) to datacount do begin
if N1BK[i] and Rst=1 then begin
CN:=1; SNo[i]:=CN; RL:=LL[i]; Rst:=0;
end else begin
if CC[i]>=OO[i] then begin
Rst:=1;
end else if LL[i]<RL and OO[i]>CC[i] then begin
CN:=CN+1; SNo[i]:=CN; RL:=LL[i];
end;
end;
end;
DRAWNUMBER(SNo>0,H,SNo,0),COLORBLACK,PXUP65,ALIGN0;
|
|
向版主報告此篇 |  |
|
2014-03-27 17:23 |
|
|
|  |
 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1509 |
喔!原來如此!那就是我的錯!
我的原意是:
SNo<>0跟SNo=1之間包含至少一根C>=O而非SNo=1跟SNo=1之間包含至少一根C>=O!讓右邊可以呈現出左邊的效果!可以麻煩總版主再次協助嗎?感謝您!
|
|
向版主報告此篇 |  |
|
2014-03-28 09:25 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|