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

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


由 tycoon868 在 2023-08-25 11:01 發表:

如何作出指標數據的排名次?

原碼開始

M1:=MA(C,20),linethick0,colorff6633,precision2;
M2:=MA(C,40),linethick0,colorff00ff,precision2;
M3:=MA(C,80),linethick0,colorblue,precision2;
M4:=MA(C,160),linethick0,colorff0066,precision2;
M5:=MA(C,320),linethick0,colorred,precision2;
M6:=MA(C,640),linethick0,color0066ff,precision2;

Partline(1,M1),colorgreen,LINETHICK1; //註:每一條均線需要對應到左列的顏色,粗細度一共分為六級,由名次決定粗細度//
Partline(1,M2),colorff00ff,LINETHICK2;
Partline(1,M3),colorblue,LINETHICK10;
Partline(1,M4),colorff0066,LINETHICK8;
Partline(1,M5),colorred,LINETHICK5;
Partline(1,M6),color0066ff,LINETHICK3;

M1P:M1-ref(M1,1),linethick0,colorgreen,precision3;
M2P:M2-ref(M2,1),linethick0,colorff00ff,precision3;
M3P:M3-ref(M3,1),linethick0,colorblue,precision3;
M4P:M4-ref(M4,1),linethick0,colorff0066,precision3;
M5P:M5-ref(M5,1),linethick0,colorred,precision3;
M6P:M6-ref(M6,1),linethick0,color0066ff,precision3;

原碼結束

想請總版主支援以下: 請您直接給我原碼,感謝!

1. 根據 M1P~M6P 六個數據的絕對值,排出第一~第六名,並且根據這六個名次畫出六條均線,六條均線請依照上方註解所使用的顏色,粗細度則根據名次來決定(一共有六種粗細度 10、8、5、3、2、1),例如: 第一名採用10號粗細度,第四名則採用3號。

2. 畫線的名次規則一律以不啟用游標的畫面最右方那一筆數據(註:啟用游標不改變畫面上的均線排名與粗細度)

3. 將名次輸出國字 一~六到畫面最右方往前推算30筆的均線下方(註:不啟用游標的的名次標示位置)

4. 承3. 允許啟用游標後,動態輸出該游標所在的六個MP名次(採用絕對值排序),名次的輸出位置放在該游標所在的六條均線下方


由 cgjj 在 2023-08-25 11:51 發表:

回覆: 如何作出指標數據的排名次?

引用:
最初由 tycoon868 發表
原碼開始

M1:=MA(C,20),linethick0,colorff6633,precision2;
M2:=MA(C,40),linethick0,colorff00ff,precision2;
M3:=MA(C,80),linethick0,colorblue,precision2;
M4:=MA(C,160),linethick0,colorff0066,precision2;
M5:=MA(C,320),linethick0,colorred,precision2;
M6:=MA(C,640),linethick0,color0066ff,precision2;

Partline(1,M1),colorgreen,LINETHICK1; //註:每一條均線需要對應到左列的顏色,粗細度一共分為六級,由名次決定粗細度//
Partline(1,M2),colorff00ff,LINETHICK2;
Partline(1,M3),colorblue,LINETHICK10;
Partline(1,M4),colorff0066,LINETHICK8;
Partline(1,M5),colorred,LINETHICK5;
Partline(1,M6),color0066ff,LINETHICK3;

M1P:M1-ref(M1,1),linethick0,colorgreen,precision3;
M2P:M2-ref(M2,1),linethick0,colorff00ff,precision3;
M3P:M3-ref(M3,1),linethick0,colorblue,precision3;
M4P:M4-ref(M4,1),linethick0,colorff0066,precision3;
M5P:M5-ref(M5,1),linethick0,colorred,precision3;
M6P:M6-ref(M6,1),linethick0,color0066ff,precision3;

原碼結束

想請總版主支援以下: 請您直接給我原碼,感謝!

1. 根據 M1P~M6P 六個數據的絕對值,排出第一~第六名,並且根據這六個名次畫出六條均線,六條均線請依照上方註解所使用的顏色,粗細度則根據名次來決定(一共有六種粗細度 10、8、5、3、2、1),例如: 第一名採用10號粗細度,第四名則採用3號。

2. 畫線的名次規則一律以不啟用游標的畫面最右方那一筆數據(註:啟用游標不改變畫面上的均線排名與粗細度)

3. 將名次輸出國字 一~六到畫面最右方往前推算30筆的均線下方(註:不啟用游標的的名次標示位置)

4. 承3. 允許啟用游標後,動態輸出該游標所在的六個MP名次(採用絕對值排序),名次的輸出位置放在該游標所在的六條均線下方



Re1:
未必可行,先釐清一下
六條均線您是畫 M1P~M6P ? 還是畫 M1~M6 ?

Re2:
最右方那一筆數據?? 語意不明
您要歷史最末根? 還是畫面最末根?
兩者是不一定是相同的!
因為畫面最末根未必是歷史最末根

Re3:
畫面最右方往前推算30筆?
不建議如此做,因為畫面不一定都有30根以上的K棒
建議直接標示在最末的右方


由 tycoon868 在 2023-08-25 12:45 發表:

ANS1:
六條均線是畫 M1~M6

ANS2:
我要的是畫面最末根(手動拖曳畫面時的最右方那筆數據),不必然是歷史最後一根

ANS3:
1. 不啟用游標時,請直接標示在最末的右方
2. 啟用游標時,則標示在游標那一根
3. 國字一~六請比照該MA的顏色(重疊太相近的時候方便比對)

感謝


由 cgjj 在 2023-08-25 13:37 發表:

引用:
最初由 tycoon868 發表
ANS1:
六條均線是畫 M1~M6

ANS2:
我要的是畫面最末根(手動拖曳畫面時的最右方那筆數據),不必然是歷史最後一根

ANS3:
1. 不啟用游標時,請直接標示在最末的右方
2. 啟用游標時,則標示在游標那一根
3. 國字一~六請比照該MA的顏色(重疊太相近的時候方便比對)

感謝



如果您是要輸出成
M1:xxx M2:xxx M3:xxx ...(略)
然後依據M1P~M6P排名,去改變 M1~M6 均線的顏色和粗細
這是不可行的!!!
因為變數直接繪出的線,是無法中途變換顏色或粗細的(其為固定)

若您是要輸出成
S1:xxx S2:xxx S3:xxx ...(略)
S1 為畫面最末根排名第1名之相對應的 Mn,採第1名之顏色和粗細繪製
S2 為畫面最末根排名第2名之相對應的 Mn,採第2名之顏色和粗細繪製
這是可行的!
因為S1~S6 粗細和顏色是固定的,例如:
畫面最末根排名第1的是 M3P,那麼 S1 這條線會相等於M3那條均線,採第1名之顏色和粗細繪製
畫面最末根排名第2的是 M1P,那麼 S2 這條線會相等於M1那條均線,採第2名之顏色和粗細繪製
畫面最末根排名第3的是 M2P,那麼 S3 這條線會相等於M2那條均線,採第3名之顏色和粗細繪製
...(略)

此外
用到 LINETHICK10 這麼粗的線
K棒可能被遮蔽不少部分,且可能會線疊線,難以觀看
您可要先想清楚呀~~


由 tycoon868 在 2023-08-25 14:47 發表:

請忽略以上,我重新規劃以下需求

原碼開始

M1:=MA(C,20),linethick0,colorff6633,precision2;
M2:=MA(C,40),linethick0,colorff00ff,precision2;
M3:=MA(C,80),linethick0,colorblue,precision2;
M4:=MA(C,160),linethick0,colorff0066,precision2;
M5:=MA(C,320),linethick0,colorred,precision2;
M6:=MA(C,640),linethick0,color0066ff,precision2;

Partline(1,M1),colorgreen,LINETHICK3;
Partline(1,M2),colorff00ff,LINETHICK3;
Partline(1,M3),colorblue,LINETHICK3;
Partline(1,M4),colorff0066,LINETHICK3;
Partline(1,M5),colorred,LINETHICK3;
Partline(1,M6),color0066ff,LINETHICK3;

M1P:M1-ref(M1,1),linethick0,precision3;
M2P:M2-ref(M2,1),linethick0,precision3;
M3P:M3-ref(M3,1),linethick0,precision3;
M4P:M4-ref(M4,1),linethick0,precision3;
M5P:M5-ref(M5,1),linethick0,precision3;
M6P:M6-ref(M6,1),linethick0,precision3;

原碼結束

想請總版主支援以下: 請您直接給我原碼,感謝!

1. 根據 M1P~M6P 六個數據的絕對值,由大到小排出第一~第六名

2. 不啟用游標時,排名的依據為畫面上最末根數值(允取手動拖曳畫面時的最右方那筆數據),請將名次輸出到最末根的均線右方處

3. 啟用游標時則排名的依據為該游標處,名次輸出在各自均線的下方處

4. 承第2、3點國字一~六請比照該MA的顏色(重疊太相近的時候方便比對)

5. 以上的六條均線粗細、顏色都採用原碼方式,無須作改變,只需輸出名次


由 cgjj 在 2023-08-25 15:46 發表:

引用:
最初由 tycoon868 發表
請忽略以上,我重新規劃以下需求

原碼開始

M1:=MA(C,20),linethick0,colorff6633,precision2;
M2:=MA(C,40),linethick0,colorff00ff,precision2;
M3:=MA(C,80),linethick0,colorblue,precision2;
M4:=MA(C,160),linethick0,colorff0066,precision2;
M5:=MA(C,320),linethick0,colorred,precision2;
M6:=MA(C,640),linethick0,color0066ff,precision2;

Partline(1,M1),colorgreen,LINETHICK3;
Partline(1,M2),colorff00ff,LINETHICK3;
Partline(1,M3),colorblue,LINETHICK3;
Partline(1,M4),colorff0066,LINETHICK3;
Partline(1,M5),colorred,LINETHICK3;
Partline(1,M6),color0066ff,LINETHICK3;

M1P:M1-ref(M1,1),linethick0,precision3;
M2P:M2-ref(M2,1),linethick0,precision3;
M3P:M3-ref(M3,1),linethick0,precision3;
M4P:M4-ref(M4,1),linethick0,precision3;
M5P:M5-ref(M5,1),linethick0,precision3;
M6P:M6-ref(M6,1),linethick0,precision3;

原碼結束

想請總版主支援以下: 請您直接給我原碼,感謝!

1. 根據 M1P~M6P 六個數據的絕對值,由大到小排出第一~第六名

2. 不啟用游標時,排名的依據為畫面上最末根數值(允取手動拖曳畫面時的最右方那筆數據),請將名次輸出到最末根的均線右方處

3. 啟用游標時則排名的依據為該游標處,名次輸出在各自均線的下方處

4. 承第2、3點國字一~六請比照該MA的顏色(重疊太相近的時候方便比對)

5. 以上的六條均線粗細、顏色都採用原碼方式,無須作改變,只需輸出名次



原碼:
M1:=MA(C,20),linethick0,colorff6633,precision2; M2:=MA(C,40),linethick0,colorff00ff,precision2; M3:=MA(C,80),linethick0,colorblue,precision2; M4:=MA(C,160),linethick0,colorff0066,precision2; M5:=MA(C,320),linethick0,colorred,precision2; M6:=MA(C,640),linethick0,color0066ff,precision2; Partline(1,M1),colorgreen,LINETHICK3; Partline(1,M2),colorff00ff,LINETHICK3; Partline(1,M3),colorblue,LINETHICK3; Partline(1,M4),colorff0066,LINETHICK3; Partline(1,M5),colorred,LINETHICK3; Partline(1,M6),color0066ff,LINETHICK3; M1P:M1-ref(M1,1),linethick0,precision3; M2P:M2-ref(M2,1),linethick0,precision3; M3P:M3-ref(M3,1),linethick0,precision3; M4P:M4-ref(M4,1),linethick0,precision3; M5P:M5-ref(M5,1),linethick0,precision3; M6P:M6-ref(M6,1),linethick0,precision3; PP:=SYSPARAM(1); if PP<lbound(M6P) or lbound(M6P)=0 then exit; VARIABLE:SS[6]=0; slist:='一二三四五六'; SS[1]:=ABS(M1P[PP]); SS[2]:=ABS(M2P[PP]); SS[3]:=ABS(M3P[PP]); SS[4]:=ABS(M4P[PP]); SS[5]:=ABS(M5P[PP]); SS[6]:=ABS(M6P[PP]); X:=SORTPOS(SS,1,1,6); EXPLAIN(1,strmid(slist,SS[3]*2-1,2)); CK:=(barpos=PP)*((PP=SYSPARAM(3))+1); DRAWTEXT(CK=1,M1,strmid(slist,SS[1]*2-1,2)) colorgreen pxdn8; DRAWTEXT(CK=2,M1,strmid(slist,SS[1]*2-1,2)) colorgreen shift1; DRAWTEXT(CK=1,M2,strmid(slist,SS[2]*2-1,2)) colorff00ff pxdn8; DRAWTEXT(CK=2,M2,strmid(slist,SS[2]*2-1,2)) colorff00ff shift1; DRAWTEXT(CK=1,M3,strmid(slist,SS[3]*2-1,2)) colorblue pxdn8; DRAWTEXT(CK=2,M3,strmid(slist,SS[3]*2-1,2)) colorblue shift1; DRAWTEXT(CK=1,M4,strmid(slist,SS[4]*2-1,2)) colorff0066 pxdn8; DRAWTEXT(CK=2,M4,strmid(slist,SS[4]*2-1,2)) colorff0066 shift1; DRAWTEXT(CK=1,M5,strmid(slist,SS[5]*2-1,2)) colorred pxdn8; DRAWTEXT(CK=2,M5,strmid(slist,SS[5]*2-1,2)) colorred shift1; DRAWTEXT(CK=1,M6,strmid(slist,SS[6]*2-1,2)) color0066ff pxdn8; DRAWTEXT(CK=2,M6,strmid(slist,SS[6]*2-1,2)) color0066ff shift1;


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


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

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