全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1356
推到 Plurk!
推到 Facebook!

股巿程式問題1:如何突破array[1..100000,1..8]的限制

答題得分者是:acqua
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-06 22:26:32 IP:61.216.xxx.xxx 未訂閱
各位大大: 離上次發問已是1年半的時間了 這些日子在研究股巿,也遇到了不少問題,當然也收獲不少 近日想以程式開發自己的簡單看盤系統 如跑歷史資料,以驗証自已的模式 但對於一個delphi新手而言,似乎不太容易 所以標題將以股巿程式為題,發問所遇到的問題 在此,先感謝各位前輩們的幫忙與指導 若有任何股巿方面的問題,亦可來信詢問(必竟ktop不是一個股巿綱站) 廢話一堆,下面是我的問題 但當我想一口氣將歷史資料抓到array分析時,卻無法做到 原先想設定成 StockData:array[1..100000,1..8] of Integer 其中100000為主要的問題 只好更改成 StockData:array[1..4500,1..8] of Integer 如此就將資料分割成數段做分析模擬,但也相當麻煩 不知要如何在定義變數時,來突破此一個問題 1.是delphi的限制還是和電腦的記憶體容量有關 若和記憶體有關,要如何計算可使用陣列的大小呢 2.還是要用資料結構中的動態連結呢(15年前學的,好像是這個名詞吧,哈) 3.或是有什麼好方法呢?對新手而言,當然是越簡單越好啦!嘻! 感謝前輩們的幫忙與指導
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-06 22:36:50 IP:60.248.xxx.xxx 未訂閱
為啥是靜態宣告而不是用動態宣告ㄋ delphi我不會,但除非明確得知變數所需的記憶體空間最大不會大於1K,不然你都應該用Alloc的,需要多少用多少而不是濫無目的的宣告. 這個觀念與程式語言無關,而是寫程式的觀念與應該有的習慣 發表人 - jcjroc 於 2005/11/06 22:40:58
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-07 00:25:19 IP:59.104.xxx.xxx 未訂閱
如果 array 沒法子做到。 那你要去看看用動態配置。 再加上 link list 的方法去解決了。
acqua
一般會員


發表:3
回覆:24
積分:20
註冊:2005-09-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-10 11:56:43 IP:61.218.xxx.xxx 未訂閱
1.你原本在array[0..100000,1..8] of integer會發生錯誤 其原因是因為"堆疊空間不足",,, 到 Delphi Menu-->Project-->Options-->Linker頁籤-->Max stack size的值 由原本的 $00100000==>$01000000 應該可以 不過你出來的程式會比較占RAM的資源 2.在Delphi中 integer預設是(4 bytes) 以你的需求 我猜只需要到word(2 bytes)就好了... Integer -2147483648..2147483647 Word 0..65535 依自己的需求 使用自己要的型態,,別過分浪費記憶體空間 所以該改成 array[0..100000,1..8] of word 3.如果可以的話 盡量不要開這麼大的 array 來存讀資料 很傷電腦效能... 我個人覺得比較好的方式 大概是使用更好的演算法來做資料處理 因為演算法才是一切程式的根本 像前人所說的 動態配置 或 分段處理 也是不錯的嘗試
scotthsiao
高階會員


發表:13
回覆:324
積分:147
註冊:2005-02-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-10 13:47:56 IP:211.74.xxx.xxx 未訂閱
如果資料量很大,也可以匯入資料庫,再經由 SQL 語法去分析,就不會有記憶體不足的問題發生了。
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-10 22:12:43 IP:218.168.xxx.xxx 未訂閱
感謝acqua大大的教導 問題解決了 也感謝jcjroc & 暗黑破壞神 & scotthsiao 大大們指導 在有限的時間內,先以array解決 必竟賺錢較重要,哈 等確認模式ok,穩定收入後 再來學資料庫的方式啦! 再次感謝各位大大們的教導
系統時間:2024-05-17 14:59:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!