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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

收盤價在排序中的位置標註紅色

有N個(N>100)數據列 當中包含一個收盤價 經過排序後 使用DRAWTEXTEX做排序後的列表 並以每10行做換行

N:=131;
DTC:=DATACOUNT;
CC:=C;
VARIABLE:SLN[N]=0, SLNPOS[N]=0, SS[N]='', QQ[N]='';//SS=變數名稱
ss[1]:='收盤:'; ss[2]:='AW01: '; ss[3]:='AW02: '; ss[4]:='AW03: '; ss[5]:='AW04: '; ss[6]:='AW05: ';
ss[7]:='BW01: '; ...... ss[131]:='ZW05: ';
tmp:=SORT(SLN,1,1,N);
//===上述 列表 沒問題

FOR i=1 TO N DO BEGIN
SLNPOS[i]:=SLN[i];
tmp:=SORTPOS(SLNPOS,1,1,N);
END;
DRAWTEXTEX(1,0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[1],XS2)),Coloryellow;

請協助
1) 如何用不同顏色(例如 紅色)標示出 收盤價 的數值和收盤價的變數名稱
2) 不知哪錯了 對應的變數名稱全亂套了

謝謝您

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

前述 SORTPOS書寫方式 經過DRAWTEXTEX列出後 還會出現變數名稱相同的現象 照說 變數名稱為唯一 不該有任何重複

peter109 附帶上了此圖片:

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

花了點時間進行比對
另外使用130條均線(參數從1到130並放大5倍 如 NX:=5; A1:=MA(C,1*NX),PRECISION3; A2:=MA(C,2*NX),PRECISION3; )做列表
經過逐一比對 變數名稱全部都有出現且沒重複 因此 前面SORTPOS會出現變數名稱重複"估計"主要是因為不同的變數出現相同的數值所導致

但是 變數名稱和他所對應的數值則錯的很厲害 也許是我在SORTPOS甚麼地方有錯誤 還請您指正

peter109 附帶上了此圖片:

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

引用:
最初由 peter109 發表
前述 SORTPOS書寫方式 經過DRAWTEXTEX列出後 還會出現變數名稱相同的現象 照說 變數名稱為唯一 不該有任何重複


拍謝 剛發現 這部分是因為我的疏忽所造成
變數名稱 全部都有出現

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

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


FOR i=1 TO N DO BEGIN
SLNPOS[i]:=SLN[i];
tmp:=SORTPOS(SLNPOS,1,1,N);
END;
DRAWTEXTEX(1,0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[1],XS2)),Coloryellow;


改這樣試試
FOR i=1 TO N DO BEGIN
SLNPOS[i]:=SLN[i];
END;
tmp:=SORTPOS(SLNPOS,1,1,N);
DRAWTEXTEX(1,0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[SLNPOS[1]],XS2)),Coloryellow;

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

已經試過 變數名稱依然無法和相對應數值在同一位置

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

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

引用:
最初由 peter109 發表
已經試過 變數名稱依然無法和相對應數值在同一位置


tmp:=SORT(SLN,1,1,N); 此行是多餘的

精簡範例
原碼:
N:=6; XS2:=1; DTC:=DATACOUNT; CC:=C; VARIABLE:SLN[N]=0, SLNPOS[N]=0, SS[N]='', QQ[N]='';//SS=變數名稱 ss[1]:='收盤: '; ss[2]:='AW01: '; ss[3]:='AW02: '; ss[4]:='AW03: '; ss[5]:='AW04: '; ss[6]:='AW05: '; SLN[1]:=666;SLN[2]:=222; SLN[3]:=111;SLN[4]:=333; SLN[5]:=999; SLN[6]:=777; // tmp:=SORT(SLN,1,1,N); <== 請刪掉這行 FOR i=1 TO N DO SLNPOS[i]:=SLN[i]; tmp:=SORTPOS(SLNPOS,1,1,N); DRAWTEXTEX(1,0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[SLNPOS[1]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,20,SS[SLNPOS[2]]+NUMTOSTR(SLN[SLNPOS[2]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,40,SS[SLNPOS[3]]+NUMTOSTR(SLN[SLNPOS[3]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,60,SS[SLNPOS[4]]+NUMTOSTR(SLN[SLNPOS[4]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,80,SS[SLNPOS[5]]+NUMTOSTR(SLN[SLNPOS[5]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,100,SS[SLNPOS[6]]+NUMTOSTR(SLN[SLNPOS[6]],XS2)),Coloryellow;

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

引用:
最初由 cgjj 發表
tmp:=SORT(SLN,1,1,N); 此行是多餘的

精簡範例
原碼:
N:=6; XS2:=1; DTC:=DATACOUNT; CC:=C; VARIABLE:SLN[N]=0, SLNPOS[N]=0, SS[N]='', QQ[N]='';//SS=變數名稱 ss[1]:='收盤: '; ss[2]:='AW01: '; ss[3]:='AW02: '; ss[4]:='AW03: '; ss[5]:='AW04: '; ss[6]:='AW05: '; SLN[1]:=666;SLN[2]:=222; SLN[3]:=111;SLN[4]:=333; SLN[5]:=999; SLN[6]:=777; // tmp:=SORT(SLN,1,1,N); <== 請刪掉這行 FOR i=1 TO N DO SLNPOS[i]:=SLN[i]; tmp:=SORTPOS(SLNPOS,1,1,N); DRAWTEXTEX(1,0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[SLNPOS[1]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,20,SS[SLNPOS[2]]+NUMTOSTR(SLN[SLNPOS[2]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,40,SS[SLNPOS[3]]+NUMTOSTR(SLN[SLNPOS[3]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,60,SS[SLNPOS[4]]+NUMTOSTR(SLN[SLNPOS[4]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,80,SS[SLNPOS[5]]+NUMTOSTR(SLN[SLNPOS[5]],XS2)),Coloryellow; DRAWTEXTEX(1,0,5,100,SS[SLNPOS[6]]+NUMTOSTR(SLN[SLNPOS[6]],XS2)),Coloryellow;



收到 謝謝您

請問 如何將收盤價的數值和其變數標註為紅色
目前 我是使用
CCP:IF(SLN[1]=CC[DTC],1,0); CCP:=IF(SLN[2]=CC[DTC],2,CCP); .....
也許您有比較好的解決方案

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

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

引用:
最初由 peter109 發表
收到 謝謝您

請問 如何將收盤價的數值和其變數標註為紅色
目前 我是使用
CCP:IF(SLN[1]=CC[DTC],1,0); CCP:=IF(SLN[2]=CC[DTC],2,CCP); .....
也許您有比較好的解決方案



DRAWTEXTEX(SLNPOS[1]=1,0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[SLNPOS[1]],XS2)),Colorred;
DRAWTEXTEX(SLNPOS[1]>1,0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[SLNPOS[1]],XS2)),Coloryellow;
DRAWTEXTEX(SLNPOS[2]=1,0,5,20,SS[SLNPOS[2]]+NUMTOSTR(SLN[SLNPOS[2]],XS2)),Colorred;
DRAWTEXTEX(SLNPOS[2]>1,0,5,20,SS[SLNPOS[2]]+NUMTOSTR(SLN[SLNPOS[2]],XS2)),Coloryellow;
DRAWTEXTEX(SLNPOS[3]=1,0,5,40,SS[SLNPOS[3]]+NUMTOSTR(SLN[SLNPOS[3]],XS2)),Colorred;
DRAWTEXTEX(SLNPOS[3]>1,0,5,40,SS[SLNPOS[3]]+NUMTOSTR(SLN[SLNPOS[3]],XS2)),Coloryellow;
DRAWTEXTEX(SLNPOS[4]=1,0,5,60,SS[SLNPOS[4]]+NUMTOSTR(SLN[SLNPOS[4]],XS2)),Colorred;
DRAWTEXTEX(SLNPOS[4]>1,0,5,60,SS[SLNPOS[4]]+NUMTOSTR(SLN[SLNPOS[4]],XS2)),Coloryellow;
........ 略 .........

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

您辛苦了 謝謝您

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

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

引用:
最初由 peter109 發表
您辛苦了 謝謝您


不客氣 ^^

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

還是忍不住想問

若使用 SORT(SLN,0,1,N)
經過排序後的SLN 是否可以直接和CC比對
若 SLN[i]=CC[DTC] 那麼CC在排序後的位置就是在第 i 個編號

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

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

引用:
最初由 peter109 發表
還是忍不住想問

若使用 SORT(SLN,0,1,N)
經過排序後的SLN 是否可以直接和CC比對
若 SLN[i]=CC[DTC] 那麼CC在排序後的位置就是在第 i 個編號



SORT(SLN,0,1,N) 跑完後
SLN 中的值已經被調換次序(案排列優先次序)
排序後 SLN[1] 存放的是SLN中最小的數

跑這段可體驗一下
CC[1]:=30; CC[2]:=20; CC[3]:=10; CC[4]:=40; CC[5]:=50;
x:=SORT(CC,0,1,5); PP:CC[1];


把 SORT 換成 SORTPOS
則 SLN[1] 得到的是,SLN 中最小的數,其原來在數列中的位置

跑這段可體驗一下
CC[1]:=30; CC[2]:=20; CC[3]:=10; CC[4]:=40; CC[5]:=50;
x:=SORTPOS(CC,0,1,5); PP:CC[1];

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

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

引用:
最初由 cgjj 發表
SORT(SLN,0,1,N) 跑完後
SLN 中的值已經被調換次序(案排列優先次序)
排序後 SLN[1] 存放的是SLN中最小的數

跑這段可體驗一下
CC[1]:=30; CC[2]:=20; CC[3]:=10; CC[4]:=40; CC[5]:=50;
x:=SORT(CC,0,1,5); PP:CC[1];


把 SORT 換成 SORTPOS
則 SLN[1] 得到的是,SLN 中最小的數,其原來在數列中的位置

跑這段可體驗一下
CC[1]:=30; CC[2]:=20; CC[3]:=10; CC[4]:=40; CC[5]:=50;
x:=SORTPOS(CC,0,1,5); PP:CC[1];


您說的我懂
但我不懂的是
經過SORT(不是SORTPOS)的SLN數列 SLN[1] SLN[2]...SLN[N]為何不能和CC[DTC]做等值比較 並因此取得該 i 值也就是CC在SLN排序後的位置 i

__________________
至誠能勝天下至偽
至拙能勝天下至巧

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

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

引用:
最初由 peter109 發表
您說的我懂
但我不懂的是
經過SORT(不是SORTPOS)的SLN數列 SLN[1] SLN[2]...SLN[N]為何不能和CC[DTC]做等值比較 並因此取得該 i 值也就是CC在SLN排序後的位置 i



用 SORTPOS 可以對準原來發生的變數名稱(SS)是哪一個

若單純 SORT 搭配 SLN[i]=CC[DTC] 就會無法對準
抓到的可能不是原來該位置相對應的那個變數名稱(SS)
因為可能有好幾個位置,擁有相同的價格(SLN同值)

我前面給的例子,並沒有考量到多個等價的情況,只考量到相等位置的情況
分色顯示在多個等價時,是有可能會出現問題的。
也沒注意到您是以 CC[DTC] 當基準,而非用 SLN[1]當基準
需要改成以下方式,應該才較合乎您的需求:
DRAWTEXTEX(SLN[SLNPOS[1]]=CC[DTC],0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[SLNPOS[1]],XS2)),Colorred;
DRAWTEXTEX(SLN[SLNPOS[1]]<>CC[DTC],0,5,0,SS[SLNPOS[1]]+NUMTOSTR(SLN[SLNPOS[1]],XS2)),Coloryellow;
DRAWTEXTEX(SLN[SLNPOS[2]]=CC[DTC],0,5,20,SS[SLNPOS[2]]+NUMTOSTR(SLN[SLNPOS[2]],XS2)),Colorred;
DRAWTEXTEX(SLN[SLNPOS[2]]<>CC[DTC],0,5,20,SS[SLNPOS[2]]+NUMTOSTR(SLN[SLNPOS[2]],XS2)),Coloryellow;
DRAWTEXTEX(SLN[SLNPOS[3]]=CC[DTC],0,5,40,SS[SLNPOS[3]]+NUMTOSTR(SLN[SLNPOS[3]],XS2)),Colorred;
DRAWTEXTEX(SLN[SLNPOS[3]]<>CC[DTC],0,5,40,SS[SLNPOS[3]]+NUMTOSTR(SLN[SLNPOS[3]],XS2)),Coloryellow;
...........

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

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們