到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 數據排序
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

數據排序

********************************************原碼開始
M1:=MA(C,15),linethick2,colorff00ff,precision2;
M2:=MA(C,30),linethick2,colorff00ff,precision2;
M3:=MA(C,60),linethick2,colorff00ff,precision2;
M4:=MA(C,120),linethick0,colorff0066,precision2;
M5:=MA(C,240),linethick0,color0066ff,precision2;
M6:=MA(C,480),linethick0,colorblue,precision2;

StickLine( O<C , HIGH , LOW , 0.2 , 0 ) , Color6600ff ;
StickLine( O<C , CLOSE , OPEN , 8 , 0 ) , Color6600ff;

StickLine( O=C , HIGH , LOW , 0.2 , 0 ) , Coloryellow ;
StickLine( O=C , CLOSE , OPEN , 8 , 0 ) , Coloryellow ;

StickLine( O>C , HIGH , LOW , 0.2 , 0 ) , Colorffcc33 ;
StickLine( O>C , CLOSE , OPEN , 8 , 0 ) , Colorffcc33;

DP1:=C-REF(C,15),linethick0,precision0,colorgreen;
DP2:=C-REF(C,30),linethick0,precision0,colorff00ff;
DP3:=C-REF(C,60),linethick0,precision0,colorff0000;
DP4:=C-REF(C,120),linethick0,precision0,colorff0066;
DP5:=C-REF(C,240),linethick0,precision0,colorred;
DP6:=C-REF(C,480),linethick0,precision0,color0066ff;

第一:DP1,linethick,colorgreen;
第二:DP2,linethick,colorff00ff;
第三:DP3,linethick,colorff0000;
第四:DP4,linethick,colorff0066;
第五:DP5,linethick,colorred;
第六:DP6,linethick,color0066ff;
**************************************原碼結束
請總版主協助以下需求

需求一 希望根據 附圖將六個數據重新排序,排序原則為取絕對值最大者為第一,並且根據原碼
第一~第六顏色 顯示在主圖上方(例如:第三名如果為DP2則應顯示粉紅色)

需求二 希望達到 合分=(第一+取第二名)/2,條件如下:
1. [第一]為六個數據當中無條件取出絕對值最大者
2. 如果[第一]為正數值,但第二為負數(第三為正數),則取第三當成[取第二名],如果連第三都是負數,則只取 [第一]作 合分=第一 (不需要除以2)
3. 第2點的意思是: 永遠只取需求一的前三名,忽略第四~第六
4. 如果[第一]為負數值,處理流程同2..................
第二為正數(第三為負數),則取第三當成[取第二名],如果連第三都是正數,則只取 第一名 合分=第一 (不需要除以2)

感謝協助

tycoon868 附帶上了此圖片:

最後由 tycoon868 在 2024-11-06 11:19 編輯 向版主報告此篇 | 查IP位址
Old Post 2024-11-06 11:15
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

回覆: 數據排序

引用:
最初由 tycoon868 發表
********************************************原碼開始
M1:=MA(C,15),linethick2,colorff00ff,precision2;
M2:=MA(C,30),linethick2,colorff00ff,precision2;
M3:=MA(C,60),linethick2,colorff00ff,precision2;
M4:=MA(C,120),linethick0,colorff0066,precision2;
M5:=MA(C,240),linethick0,color0066ff,precision2;
M6:=MA(C,480),linethick0,colorblue,precision2;

StickLine( O<C , HIGH , LOW , 0.2 , 0 ) , Color6600ff ;
StickLine( O<C , CLOSE , OPEN , 8 , 0 ) , Color6600ff;

StickLine( O=C , HIGH , LOW , 0.2 , 0 ) , Coloryellow ;
StickLine( O=C , CLOSE , OPEN , 8 , 0 ) , Coloryellow ;

StickLine( O>C , HIGH , LOW , 0.2 , 0 ) , Colorffcc33 ;
StickLine( O>C , CLOSE , OPEN , 8 , 0 ) , Colorffcc33;

DP1:=C-REF(C,15),linethick0,precision0,colorgreen;
DP2:=C-REF(C,30),linethick0,precision0,colorff00ff;
DP3:=C-REF(C,60),linethick0,precision0,colorff0000;
DP4:=C-REF(C,120),linethick0,precision0,colorff0066;
DP5:=C-REF(C,240),linethick0,precision0,colorred;
DP6:=C-REF(C,480),linethick0,precision0,color0066ff;

第一:DP1,linethick,colorgreen;
第二:DP2,linethick,colorff00ff;
第三:DP3,linethick,colorff0000;
第四:DP4,linethick,colorff0066;
第五:DP5,linethick,colorred;
第六:DP6,linethick,color0066ff;
**************************************原碼結束
請總版主協助以下需求

需求一 希望根據 附圖將六個數據重新排序,排序原則為取絕對值最大者為第一,並且根據原碼
第一~第六顏色 顯示在主圖上方(例如:第三名如果為DP2則應顯示粉紅色)

需求二 希望達到 合分=(第一+取第二名)/2,條件如下:
1. [第一]為六個數據當中無條件取出絕對值最大者
2. 如果[第一]為正數值,但第二為負數(第三為正數),則取第三當成[取第二名],如果連第三都是負數,則只取 [第一]作 合分=第一 (不需要除以2)
3. 第2點的意思是: 永遠只取需求一的前三名,忽略第四~第六
4. 如果[第一]為負數值,處理流程同2..................
第二為正數(第三為負數),則取第三當成[取第二名],如果連第三都是正數,則只取 第一名 合分=第一 (不需要除以2)

感謝協助



排序只需要計算最新值嗎?
還是需要隨十字游標移動,排序相對應的值?

若要以變數形式輸出在頂端(第一列)
其輸出的顏色是固定的,程式無法中途改變顏色! 無法做到您需求一想要的換色效果。

若是顯示在頂端的下方(第二列的下方)
另以文字來做顯示,則可以做到換色
(會增加許多額外處理)

向版主報告此篇 | 查IP位址
Old Post 2024-11-06 11:53
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

回覆1

需要隨十字游標移動,排序相對應的值


回覆2

希望保留現有的第一列(我的原碼)

然後顯示在頂端的下方(第二列的下方)
另以文字來做顯示以達到換色,我的電腦CPU很強,可以試試看效能如何

謝謝哦

向版主報告此篇 | 查IP位址
Old Post 2024-11-06 12:45
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

引用:
最初由 tycoon868 發表
回覆1

需要隨十字游標移動,排序相對應的值


回覆2

希望保留現有的第一列(我的原碼)

然後顯示在頂端的下方(第二列的下方)
另以文字來做顯示以達到換色,我的電腦CPU很強,可以試試看效能如何

謝謝哦




原碼:
M1:=MA(C,15),linethick2,colorff00ff,precision2; M2:=MA(C,30),linethick2,colorff00ff,precision2; M3:=MA(C,60),linethick2,colorff00ff,precision2; M4:=MA(C,120),linethick0,colorff0066,precision2; M5:=MA(C,240),linethick0,color0066ff,precision2; M6:=MA(C,480),linethick0,colorblue,precision2; StickLine( O<C , HIGH , LOW , 0.2 , 0 ) , Color6600ff ; StickLine( O<C , CLOSE , OPEN , 8 , 0 ) , Color6600ff; StickLine( O=C , HIGH , LOW , 0.2 , 0 ) , Coloryellow ; StickLine( O=C , CLOSE , OPEN , 8 , 0 ) , Coloryellow ; StickLine( O>C , HIGH , LOW , 0.2 , 0 ) , Colorffcc33 ; StickLine( O>C , CLOSE , OPEN , 8 , 0 ) , Colorffcc33; DP1:=C-REF(C,15),linethick0,precision0,colorgreen; DP2:=C-REF(C,30),linethick0,precision0,colorff00ff; DP3:=C-REF(C,60),linethick0,precision0,colorff0000; DP4:=C-REF(C,120),linethick0,precision0,colorff0066; DP5:=C-REF(C,240),linethick0,precision0,colorred; DP6:=C-REF(C,480),linethick0,precision0,color0066ff; if datacount<6 then exit; //K棒不足6根跳離 DPV:=C*0; DPV[1]:=lbound(DP1); DPV[2]:=lbound(DP2); DPV[3]:=lbound(DP3); DPV[4]:=lbound(DP4); DPV[5]:=lbound(DP5); DPV[6]:=lbound(DP6); x:=SORT(DPV,0,1,6); if DPV[1]=0 then exit; //DP不足6條跳離 DPLB:=DPV[6]; PP:=SYSPARAM(1); if PP>datacount or PP<DPLB then exit; //十字游標未在有效範圍跳離(需DP1-DP6皆有) DPV[1]:=DP1[PP]; DPV[2]:=DP2[PP]; DPV[3]:=DP3[PP]; DPV[4]:=DP4[PP]; DPV[5]:=DP5[PP]; DPV[6]:=DP6[PP]; DPN:=ABS(DPV); x:=SORTPOS(DPN,1,1,6); 一:DPV[DPN[1]] linethick0 color777777; 二:DPV[DPN[2]] linethick0 color777777; 三:DPV[DPN[3]] linethick0 color777777; 四:DPV[DPN[4]] linethick0 color777777; 五:DPV[DPN[5]] linethick0 color777777; 六:DPV[DPN[6]] linethick0 color777777; 合分:0 linethick0 color777777; if SGN(DPV[DPN[1]])=1 then begin 合分:=DPV[DPN[1]]; if SGN(DPV[DPN[2]])=1 then begin 合分:=(合分+DPV[DPN[2]])/2; end else if SGN(DPV[DPN[3]])=1 then begin 合分:=(合分+DPV[DPN[3]])/2; end; end else if SGN(DPV[DPN[1]])=-1 then begin 合分:=DPV[DPN[1]]; if SGN(DPV[DPN[2]])=-1 then begin 合分:=(合分+DPV[DPN[2]])/2; end else if SGN(DPV[DPN[3]])=-1 then begin 合分:=(合分+DPV[DPN[3]])/2; end; end; //排版輸出文字 VARIABLE:DPT[6]='',DPW[6]='',PrDP[6]=''; PN:=0; //小數位數 TSP:=' '; //間隔字元 DPT[1]:='一:'+numtostr(一,PN); DPT[2]:='二:'+numtostr(二,PN); DPT[3]:='三:'+numtostr(三,PN); DPT[4]:='四:'+numtostr(四,PN); DPT[5]:='五:'+numtostr(五,PN); DPT[6]:='六:'+numtostr(六,PN); for i=1 to 6 do DPW[i]:=strleft(' ',strlen(DPT[i])); for i=1 to 6 do begin for j= 1 to 6 do begin if j=i then PrDP[i]:=PrDP[i]+DPT[i]+TSP; else PrDP[i]:=PrDP[i]+DPW[j]+TSP; end; end; PrTXT:=PrDP[1]+'\n'+PrDP[2]+'\n'+PrDP[3]+'\n'+PrDP[4]+'\n'+PrDP[5]+'\n'+PrDP[6]+'\n'; DRAWTEXTEX(DPN[1]=1,0,0,0,PrDP[1]) colorgreen; DRAWTEXTEX(DPN[1]=2,0,0,0,PrDP[1]) colorff00ff; DRAWTEXTEX(DPN[1]=3,0,0,0,PrDP[1]) colorff0000; DRAWTEXTEX(DPN[1]=4,0,0,0,PrDP[1]) colorff0066; DRAWTEXTEX(DPN[1]=5,0,0,0,PrDP[1]) colorred; DRAWTEXTEX(DPN[1]=6,0,0,0,PrDP[1]) color0066ff; DRAWTEXTEX(DPN[2]=1,0,0,0,PrDP[2]) colorgreen; DRAWTEXTEX(DPN[2]=2,0,0,0,PrDP[2]) colorff00ff; DRAWTEXTEX(DPN[2]=3,0,0,0,PrDP[2]) colorff0000; DRAWTEXTEX(DPN[2]=4,0,0,0,PrDP[2]) colorff0066; DRAWTEXTEX(DPN[2]=5,0,0,0,PrDP[2]) colorred; DRAWTEXTEX(DPN[2]=6,0,0,0,PrDP[2]) color0066ff; DRAWTEXTEX(DPN[3]=1,0,0,0,PrDP[3]) colorgreen; DRAWTEXTEX(DPN[3]=2,0,0,0,PrDP[3]) colorff00ff; DRAWTEXTEX(DPN[3]=3,0,0,0,PrDP[3]) colorff0000; DRAWTEXTEX(DPN[3]=4,0,0,0,PrDP[3]) colorff0066; DRAWTEXTEX(DPN[3]=5,0,0,0,PrDP[3]) colorred; DRAWTEXTEX(DPN[3]=6,0,0,0,PrDP[3]) color0066ff; DRAWTEXTEX(DPN[4]=1,0,0,0,PrDP[4]) colorgreen; DRAWTEXTEX(DPN[4]=2,0,0,0,PrDP[4]) colorff00ff; DRAWTEXTEX(DPN[4]=3,0,0,0,PrDP[4]) colorff0000; DRAWTEXTEX(DPN[4]=4,0,0,0,PrDP[4]) colorff0066; DRAWTEXTEX(DPN[4]=5,0,0,0,PrDP[4]) colorred; DRAWTEXTEX(DPN[4]=6,0,0,0,PrDP[4]) color0066ff; DRAWTEXTEX(DPN[5]=1,0,0,0,PrDP[5]) colorgreen; DRAWTEXTEX(DPN[5]=2,0,0,0,PrDP[5]) colorff00ff; DRAWTEXTEX(DPN[5]=3,0,0,0,PrDP[5]) colorff0000; DRAWTEXTEX(DPN[5]=4,0,0,0,PrDP[5]) colorff0066; DRAWTEXTEX(DPN[5]=5,0,0,0,PrDP[5]) colorred; DRAWTEXTEX(DPN[5]=6,0,0,0,PrDP[5]) color0066ff; DRAWTEXTEX(DPN[6]=1,0,0,0,PrDP[6]) colorgreen; DRAWTEXTEX(DPN[6]=2,0,0,0,PrDP[6]) colorff00ff; DRAWTEXTEX(DPN[6]=3,0,0,0,PrDP[6]) colorff0000; DRAWTEXTEX(DPN[6]=4,0,0,0,PrDP[6]) colorff0066; DRAWTEXTEX(DPN[6]=5,0,0,0,PrDP[6]) colorred; DRAWTEXTEX(DPN[6]=6,0,0,0,PrDP[6]) color0066ff;

向版主報告此篇 | 查IP位址
Old Post 2024-11-06 17:10
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

感謝總版主,套入主圖部分正確,麻煩協助修改副圖顯示問題

*****************************副圖原碼

M1:=MA(C,15),linethick2,colorff00ff,precision2;
M2:=MA(C,30),linethick2,colorff00ff,precision2;
M3:=MA(C,60),linethick2,colorff00ff,precision2;
M4:=MA(C,120),linethick0,colorff0066,precision2;
M5:=MA(C,240),linethick0,color0066ff,precision2;
M6:=MA(C,480),linethick0,colorblue,precision2;

DP1:=C-REF(C,15),linethick0,precision0,colorgreen;
DP2:=C-REF(C,30),linethick0,precision0,colorff00ff;
DP3:=C-REF(C,60),linethick0,precision0,colorff0000;
DP4:=C-REF(C,120),linethick0,precision0,colorff0066;
DP5:=C-REF(C,240),linethick0,precision0,colorred;
DP6:=C-REF(C,480),linethick0,precision0,color0066ff;

綠:DP1,linethick,colorgreen;
粉:DP2,linethick,colorff00ff;
藍:DP3,linethick,colorff0000;
紫:DP4,linethick,colorff0066;
紅:DP5,linethick,colorred;
橘:DP6,linethick,color0066ff;

if datacount<6 then exit; //K棒不足6根跳離
DPV:=C*0;
DPV[1]:=lbound(DP1); DPV[2]:=lbound(DP2); DPV[3]:=lbound(DP3);
DPV[4]:=lbound(DP4); DPV[5]:=lbound(DP5); DPV[6]:=lbound(DP6);
x:=SORT(DPV,0,1,6); if DPV[1]=0 then exit; //DP不足6條跳離
DPLB:=DPV[6]; PP:=SYSPARAM(1);
if PP>datacount or PP<DPLB then exit; //十字游標未在有效範圍跳離(需DP1-DP6皆有)
DPV[1]:=DP1[PP]; DPV[2]:=DP2[PP]; DPV[3]:=DP3[PP];
DPV[4]:=DP4[PP]; DPV[5]:=DP5[PP]; DPV[6]:=DP6[PP];
DPN:=ABS(DPV); x:=SORTPOS(DPN,1,1,6);
一:=DPV[DPN[1]] linethick0 color777777;
二:=DPV[DPN[2]] linethick0 color777777;
三:=DPV[DPN[3]] linethick0 color777777;
四:=DPV[DPN[4]] linethick0 color777777;
五:=DPV[DPN[5]] linethick0 color777777;
六:=DPV[DPN[6]] linethick0 color777777;
合分:0 linethick0 coloryellow;
if SGN(DPV[DPN[1]])=1 then begin
合分:=DPV[DPN[1]];
if SGN(DPV[DPN[2]])=1 then begin
合分:=(合分+DPV[DPN[2]])/2;
end else if SGN(DPV[DPN[3]])=1 then begin
合分:=(合分+DPV[DPN[3]])/2;
end;
end else if SGN(DPV[DPN[1]])=-1 then begin
合分:=DPV[DPN[1]];
if SGN(DPV[DPN[2]])=-1 then begin
合分:=(合分+DPV[DPN[2]])/2;
end else if SGN(DPV[DPN[3]])=-1 then begin
合分:=(合分+DPV[DPN[3]])/2;
end;
end;


//排版輸出文字
VARIABLE:DPT[6]='',DPW[6]='',PrDP[6]='';
PN:=0; //小數位數
TSP:=' '; //間隔字元
DPT[1]:='一:'+numtostr(一,PN); DPT[2]:='二:'+numtostr(二,PN);
DPT[3]:='三:'+numtostr(三,PN); DPT[4]:='四:'+numtostr(四,PN);
DPT[5]:='五:'+numtostr(五,PN); DPT[6]:='六:'+numtostr(六,PN);
for i=1 to 6 do DPW[i]:=strleft(' ',strlen(DPT[i]));
for i=1 to 6 do begin
for j= 1 to 6 do begin
if j=i then PrDP[i]:=PrDP[i]+DPT[i]+TSP; else PrDP[i]:=PrDP[i]+DPW[j]+TSP;
end;
end;
PrTXT:=PrDP[1]+'\n'+PrDP[2]+'\n'+PrDP[3]+'\n'+PrDP[4]+'\n'+PrDP[5]+'\n'+PrDP[6]+'\n';
DRAWTEXTEX(DPN[1]=1,0,0,0,PrDP[1]) colorgreen;
DRAWTEXTEX(DPN[1]=2,0,0,0,PrDP[1]) colorff00ff;
DRAWTEXTEX(DPN[1]=3,0,0,0,PrDP[1]) colorff0000;
DRAWTEXTEX(DPN[1]=4,0,0,0,PrDP[1]) colorff0066;
DRAWTEXTEX(DPN[1]=5,0,0,0,PrDP[1]) colorred;
DRAWTEXTEX(DPN[1]=6,0,0,0,PrDP[1]) color0066ff;
DRAWTEXTEX(DPN[2]=1,0,0,0,PrDP[2]) colorgreen;
DRAWTEXTEX(DPN[2]=2,0,0,0,PrDP[2]) colorff00ff;
DRAWTEXTEX(DPN[2]=3,0,0,0,PrDP[2]) colorff0000;
DRAWTEXTEX(DPN[2]=4,0,0,0,PrDP[2]) colorff0066;
DRAWTEXTEX(DPN[2]=5,0,0,0,PrDP[2]) colorred;
DRAWTEXTEX(DPN[2]=6,0,0,0,PrDP[2]) color0066ff;
DRAWTEXTEX(DPN[3]=1,0,0,0,PrDP[3]) colorgreen;
DRAWTEXTEX(DPN[3]=2,0,0,0,PrDP[3]) colorff00ff;
DRAWTEXTEX(DPN[3]=3,0,0,0,PrDP[3]) colorff0000;
DRAWTEXTEX(DPN[3]=4,0,0,0,PrDP[3]) colorff0066;
DRAWTEXTEX(DPN[3]=5,0,0,0,PrDP[3]) colorred;
DRAWTEXTEX(DPN[3]=6,0,0,0,PrDP[3]) color0066ff;
DRAWTEXTEX(DPN[4]=1,0,0,0,PrDP[4]) colorgreen;
DRAWTEXTEX(DPN[4]=2,0,0,0,PrDP[4]) colorff00ff;
DRAWTEXTEX(DPN[4]=3,0,0,0,PrDP[4]) colorff0000;
DRAWTEXTEX(DPN[4]=4,0,0,0,PrDP[4]) colorff0066;
DRAWTEXTEX(DPN[4]=5,0,0,0,PrDP[4]) colorred;
DRAWTEXTEX(DPN[4]=6,0,0,0,PrDP[4]) color0066ff;
DRAWTEXTEX(DPN[5]=1,0,0,0,PrDP[5]) colorgreen;
DRAWTEXTEX(DPN[5]=2,0,0,0,PrDP[5]) colorff00ff;
DRAWTEXTEX(DPN[5]=3,0,0,0,PrDP[5]) colorff0000;
DRAWTEXTEX(DPN[5]=4,0,0,0,PrDP[5]) colorff0066;
DRAWTEXTEX(DPN[5]=5,0,0,0,PrDP[5]) colorred;
DRAWTEXTEX(DPN[5]=6,0,0,0,PrDP[5]) color0066ff;
DRAWTEXTEX(DPN[6]=1,0,0,0,PrDP[6]) colorgreen;
DRAWTEXTEX(DPN[6]=2,0,0,0,PrDP[6]) colorff00ff;
DRAWTEXTEX(DPN[6]=3,0,0,0,PrDP[6]) colorff0000;
DRAWTEXTEX(DPN[6]=4,0,0,0,PrDP[6]) colorff0066;
DRAWTEXTEX(DPN[6]=5,0,0,0,PrDP[6]) colorred;
DRAWTEXTEX(DPN[6]=6,0,0,0,PrDP[6]) color0066ff;

多發:StickLine(合分>=0,0,合分,7,0),Color0099ff;
動力:合分,linethick0,colorgreen,precision1;
空發:StickLine(合分<0,0,合分,7,0),Colorff0000;

****************************************************原碼

目前錯誤: 所有柱狀都顯示游標當下的合分數據

希望改成: 柱狀值顯示每一筆K棒對應的合分數值,並且允許啟用游標之後查閱數值,但柱狀圖維持固定顯示(不需要隨著游標改變)

感謝

tycoon868 附帶上了此圖片:

向版主報告此篇 | 查IP位址
Old Post 2024-11-07 08:10
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

引用:
最初由 tycoon868 發表
感謝總版主,套入主圖部分正確,麻煩協助修改副圖顯示問題

*****************************副圖原碼

M1:=MA(C,15),linethick2,colorff00ff,precision2;
M2:=MA(C,30),linethick2,colorff00ff,precision2;
......... 略 ............
多發:StickLine(合分>=0,0,合分,7,0),Color0099ff;
動力:合分,linethick0,colorgreen,precision1;
空發:StickLine(合分<0,0,合分,7,0),Colorff0000;

****************************************************原碼

目前錯誤: 所有柱狀都顯示游標當下的合分數據

希望改成: 柱狀值顯示每一筆K棒對應的合分數值,並且允許啟用游標之後查閱數值,但柱狀圖維持固定顯示(不需要隨著游標改變)

感謝



前面的公式是設計成 "僅算當下十字游標位置"
不是給您畫連續歷史值用的,這樣可以節省許多CPU資源

若您要計算連續的歷史值,那麼計算負荷將會很沉重唷!

向版主報告此篇 | 查IP位址
Old Post 2024-11-07 08:37
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

我將需求調整如下:

1. 昨天給的主圖維持不變( 我從這取得 一~六排名即可)

2. 副圖可以不需要顯示排名結果,只需要取得每一筆K棒數據的正確 [合分]

副圖的重點是正確顯示柱狀值,游標允許查閱合分即可

感謝哦

最後由 tycoon868 在 2024-11-07 09:27 編輯 向版主報告此篇 | 查IP位址
Old Post 2024-11-07 09:24
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

引用:
最初由 tycoon868 發表
我將需求調整如下:

1. 昨天給的主圖維持不變( 我從這取得 一~六排名即可)

2. 副圖可以不需要顯示排名結果,只需要取得每一筆K棒數據的正確 [合分]

副圖的重點是正確顯示柱狀值,游標允許查閱合分即可

感謝哦



副圖專用公式(本公式計算負荷很重!!!)

原碼:
KN:=100; //設定僅算近期N根K棒(設0算全部) DP1:=C-REF(C,15); DP2:=C-REF(C,30); DP3:=C-REF(C,60); DP4:=C-REF(C,120); DP5:=C-REF(C,240); DP6:=C-REF(C,480); 合分:C*0 COLORSTICK; VARIABLE:DPV[6]=0, DPN[6]=0; DPV[1]:=lbound(DP1); DPV[2]:=lbound(DP2); DPV[3]:=lbound(DP3); DPV[4]:=lbound(DP4); DPV[5]:=lbound(DP5); DPV[6]:=lbound(DP6); x:=SORT(DPV,0,1,6); if DPV[1]=0 then exit; //DP不足6條跳離 DPLB:=DPV[6]; StKNo:=datacount-KN+1; if StKNo<DPLB or KN=0 then StKNo:=DPLB; for PP = StKNo to datacount do begin DPV[1]:=DP1[PP]; DPV[2]:=DP2[PP]; DPV[3]:=DP3[PP]; DPV[4]:=DP4[PP]; DPV[5]:=DP5[PP]; DPV[6]:=DP6[PP]; DPN[1]:=ABS(DP1[PP]); DPN[2]:=ABS(DP2[PP]); DPN[3]:=ABS(DP3[PP]); DPN[4]:=ABS(DP4[PP]); DPN[5]:=ABS(DP5[PP]); DPN[6]:=ABS(DP6[PP]); x:=SORTPOS(DPN,1,1,6); if SGN(DPV[DPN[1]])=1 then begin 合分[PP]:=DPV[DPN[1]]; if SGN(DPV[DPN[2]])=1 then begin 合分[PP]:=(合分[PP]+DPV[DPN[2]])/2; end else if SGN(DPV[DPN[3]])=1 then begin 合分[PP]:=(合分[PP]+DPV[DPN[3]])/2; end; end else if SGN(DPV[DPN[1]])=-1 then begin 合分[PP]:=DPV[DPN[1]]; if SGN(DPV[DPN[2]])=-1 then begin 合分[PP]:=(合分[PP]+DPV[DPN[2]])/2; end else if SGN(DPV[DPN[3]])=-1 then begin 合分[PP]:=(合分[PP]+DPV[DPN[3]])/2; end; end; end; x:=SETLBOUND(合分,StKNo);

向版主報告此篇 | 查IP位址
Old Post 2024-11-07 10:56
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
tycoon868
資深會員

註冊日期: Oct 2008
來  自:
文章數量: 313

謝謝總版主,i7 CPU 跑起來效能很OK,但指標結果不如預期,今天晚上重新思考條件邏輯

感謝

向版主報告此篇 | 查IP位址
Old Post 2024-11-07 15:35
tycoon868 現在離線 點選這裡查看 tycoon868 的個人資料 點選這裡給 tycoon868 傳送一條短訊 查找更多關於 tycoon868 的文章 增加 tycoon868 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為06:56 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們