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

註冊日期: Feb 2009
來  自:
文章數量: 7

SORT寫成迴圈的問題

var1:=high;
N:=12;
N2:=datacount;
N1:=N2-N+1;
if N1<0 then N1:=1;
X := var1;
X_tmp:=SORT(X,0,N1,N2);
Q_C:X[N1+5];
Q_D:X[N1+6];

以上是某位大大曾經問過的問題解答, 正巧小弟爬文看到
這也是我想要問的, 因為我想計算中位數, 不過這如何寫成
迴圈啊?小弟寫了許久都失敗, 麻煩解答了... 感恩

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

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

回覆: SORT寫成迴圈的問題

引用:
最初由 Ruchael 發表
var1:=high;
N:=12;
N2:=datacount;
N1:=N2-N+1;
if N1<0 then N1:=1;
X := var1;
X_tmp:=SORT(X,0,N1,N2);
Q_C:X[N1+5];
Q_D:X[N1+6];

以上是某位大大曾經問過的問題解答, 正巧小弟爬文看到
這也是我想要問的, 因為我想計算中位數, 不過這如何寫成
迴圈啊?小弟寫了許久都失敗, 麻煩解答了... 感恩



不用 SORT 改用 迴圈, 自行處理排序
可參考此例
http://www.chiefox.com.tw/bbs/showt...d=7436#post7436
該例計算速度, 會比用 SORT 慢上十幾倍以上

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

註冊日期: Feb 2009
來  自:
文章數量: 7

對不起, 以小弟舉的例子來說, 它只會run資料最後那一段, 並不是
整段資料都計算, 所以是不是用迴圈它才能計算全部資料?抑或是
其他的問題.....因為原來的公式算出來只有條平行線...@@

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

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

引用:
最初由 Ruchael 發表
對不起, 以小弟舉的例子來說, 它只會run資料最後那一段, 並不是
整段資料都計算, 所以是不是用迴圈它才能計算全部資料?抑或是
其他的問題.....因為原來的公式算出來只有條平行線...@@



SORT(X,0,N1,N2);
僅排序 X 數列中 N1 到 N2 間的元素, 不是排序所有的元素

要排序 X 數列中所有的元素, 要用
SORT(X,0,lbound(X),datacount);

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

註冊日期: Feb 2009
來  自:
文章數量: 7

小弟的表達可能有誤...我是想要所有的最高價資料以每12筆為單位
進行排序...並且計算中位數, 也就是排序完的第六高、第七高資料
加以平均, 而獲得該筆資料中位數....因為資質駑鈍...怎麼寫都錯, 請
大大開示一下...感恩

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

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

引用:
最初由 Ruchael 發表
小弟的表達可能有誤...我是想要所有的最高價資料以每12筆為單位
進行排序...並且計算中位數, 也就是排序完的第六高、第七高資料
加以平均, 而獲得該筆資料中位數....因為資質駑鈍...怎麼寫都錯, 請
大大開示一下...感恩



看看 MH 值, 是否為是您要的

原碼:

ck
:=mod(barpos,12)=0;
SH:HMH:C*0 linethick coloryellow;
for 
i=lbound(ckto datacount do begin
  
if ck[ithen begin
   tmp
:=SORT(SH,0,i-12+1,i);
   
MH[i]:=(SH[i-6]+SH[i-5])/2;   
  
end;
end;
MH:=SETVAL(ck,MH,-11,MH);
PARTLINE(MH>0,MHcoloryellow;
VERTLINE(cklinedot;

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

註冊日期: Feb 2009
來  自:
文章數量: 7

引用:
最初由 cgjj 發表
看看 MH 值, 是否為是您要的

原碼:

ck
:=mod(barpos,12)=0;
SH:HMH:C*0 linethick coloryellow;
for 
i=lbound(ckto datacount do begin
  
if ck[ithen begin
   tmp
:=SORT(SH,0,i-12+1,i);
   
MH[i]:=(SH[i-6]+SH[i-5])/2;   
  
end;
end;
MH:=SETVAL(ck,MH,-11,MH);
PARTLINE(MH>0,MHcoloryellow;
VERTLINE(cklinedot;




大大太厲害了, 不過應該又是小弟沒表達完整, 計算中位數
可以像MA一樣每天橫移一個資料點重新計算排序嗎?
|************| 算出A
*|************| 算出B
** |***********| 算出C
中位數資料: ABCDE.........
像上面這樣..每天就有不一樣的中位數資料串成一個數列
感激不盡

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

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

引用:
最初由 Ruchael 發表
大大太厲害了, 不過應該又是小弟沒表達完整, 計算中位數
可以像MA一樣每天橫移一個資料點重新計算排序嗎?
|************| 算出A
*|************| 算出B
** |***********| 算出C
中位數資料: ABCDE.........
像上面這樣..每天就有不一樣的中位數資料串成一個數列
感激不盡



這樣計算量可是會變的很重唷 (CPU計算速度要能跟的上)

原碼:

if datacount<12 then exit;
SH:=HMH:C*0 coloryellowDH:=MH;
for 
i=12 to datacount do begin
   
for ji downto i-12+do begin
     DH
[j]:=SH[j];
   
end;
   
tmp:=SORT(DH,0,i-12+1,i);
   
MH[i]:=(DH[i-6]+DH[i-5])/2;   
end;
x:=SETLBOUND(MH,12);

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

註冊日期: Feb 2009
來  自:
文章數量: 7

其實我也很擔心CPU會跑的很辛苦......感激大大的關心...謝謝

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

論壇跳轉:
主題評分:

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