 |
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 編輯 |
向版主報告此篇 |  |
|
2024-11-06 11:15 |
|
|
|  |
 |
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)
感謝協助
排序只需要計算最新值嗎?
還是需要隨十字游標移動,排序相對應的值?
若要以變數形式輸出在頂端(第一列)
其輸出的顏色是固定的,程式無法中途改變顏色! 無法做到您需求一想要的換色效果。
若是顯示在頂端的下方(第二列的下方)
另以文字來做顯示,則可以做到換色
(會增加許多額外處理)
|
|
向版主報告此篇 |  |
|
2024-11-06 11:53 |
|
|
|  |
 |
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;
|
|
向版主報告此篇 |  |
|
2024-11-06 17:10 |
|
|
|  |
 |
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 附帶上了此圖片:
|
|
向版主報告此篇 |  |
|
2024-11-07 08:10 |
|
|
|  |
 |
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資源
若您要計算連續的歷史值,那麼計算負荷將會很沉重唷!
|
|
向版主報告此篇 |  |
|
2024-11-07 08:37 |
|
|
|  |
 |
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);
|
|
向版主報告此篇 |  |
|
2024-11-07 10:56 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|