DDE 即時接收幾百檔股價 的效能問題?
以下是google 找到的範例,我略作修改//建立1000條dde
DdeClient[] ddecon = new DdeClient ;
//註冊1000個更新事件
ddecon.StartAdvise();
.
.
.
ddecon.StartAdvise();
//
private void OnAdvise(object sender, DdeAdviseEventArgs args)
{
if (args.Item == "dde1") 作一些事情;
.
.
.
else if (args.Item == "dde1000") 作一些事情;
}
請問有何方式可以提升效能,讓程式可以在1~5秒內,監控數百支股票,
可否給予方向,小弟會去嘗試的,寫thread嗎?1000支thread?
若是用 dde , 有何好的方式去作呢?若不用dde , 有何好的方式呢?
小弟會寫程式,但卻找不到好的方向,處理上面的問題
請問..您這是用 Excel VBA 寫的嗎?? keymaker 發表於 15-4-29 11:27 static/image/common/back.gif
請問..您這是用 Excel VBA 寫的嗎??
這是 c# ,
google [ dde 連結超級大三元],就可找到上面的程式範例 ,
順便請教, 用excel vba 的話,如何用c#或它程式 把資料取出來呢
kuolung 發表於 15-4-29 13:02 static/image/common/back.gif
我用 rtd 看 800檔 速度還 ok
有一些 小掉 tick
用 c++ 寫的
kuolung 大大,可否加您好友 或 加fb , 留信箱等等,
有關這方面,我有很多問題,是否可向您請教
過去有寫過 回想當初用了個笨方法
2000檔 死回圈
跑完一圈 花不到0.01秒 再去執行分析
不過這指令很重要 https://msdn.microsoft.com/zh-tw/library/system.windows.forms.application.doevents(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
另 測試過所有方式 而不掉 tick 方式
還是 "交易商" >DDE Excel > 程式DDE link Ecel
因為Excel 已經幫你整理好訊息 不用在程式中還要拆解 twcs666 發表於 15-4-29 13:52 static/image/common/back.gif
另 測試過所有方式 而不掉 tick 方式
還是 "交易商" >DDE Excel > 程式DDE link Ecel
t大 ,目前也是用 程式 dde link excel 的方式,
在交易嗎?
evo 發表於 15-4-29 14:32 static/image/common/back.gif
t大 ,目前也是用 程式 dde link excel 的方式,
在交易嗎?
是啊 多了一項 API
最後決策還是得下單
最好找卷商可以配合下單的 API
twcs666 發表於 15-4-29 14:42 static/image/common/back.gif
是啊 多了一項 API
最後決策還是得下單
我程式 連 dde 就卡住了 .. 掉tick 無所謂,
重要的連幾百檔 的程式 ,要怎麼弄 才不會 太慢,我還在原地踏步
1 將Excel 連上提供資訊商
2 先連上 資訊商 的"時間" (這時Excel 可以看見時間跳動)
3 打開程式 寫入 thread
程式的視窗 是否可以看見跟 Execl 同步的時間跳動 ? 這不是有教 只不過改為 "時間"
http://andy.diimii.com/2009/11/c%E8%88%87ndde-%E5%A6%82%E4%BD%95%E9%80%A3%E7%B5%90%E8%B6%85%E7%B4%9A%E5%A4%A7%E4%B8%89%E5%85%83/
twcs666 發表於 15-4-29 15:26 static/image/common/back.gif
這不是有教 只不過改為 "時間"
http://andy.diimii.com/2009/11/c%E8%88%87ndde-%E5%A6%82%E4%BD%95%E9%80 ...
是我口誤,
連 dde 沒問題 ,連很多檔股票,然後廻圈,
一檔檔跑 ,取資料 ,問題就大了..
板上大家都是怎麼作的.. 不懂啊 ,陷入長考
再解釋一下好了 怎麼會難呢
開一個報表 將1000檔使用迴圈 一次讀入
這時報表會有DDE行情 1000檔一直在跳動
再使用迴圈 讀出報表的行情欄你都可以算出要的指數了
每一筆在行情欄只要變更資料 會敲擊Change 自動跳入存檔
更可以自動進入單股運算
現在電腦跑1000檔???
我每秒都在處理數拾萬資料 怎會有問題?
我認為想程式交易 至少將程式學完整
且交易商有配合 C# 下單的API
否則還要用別人家交易機 才冤花了那麼多功夫 twcs666 發表於 15-4-29 16:08 static/image/common/back.gif
再解釋一下好了 怎麼會難呢
開一個報表 將1000檔使用迴圈 一次讀入
每秒都在處理數拾萬資料 ?!
T大,你的程式行數 也好幾千行嗎 ,
我是這樣想的,幾千行程式,要在1秒內處理完,
若再加上,每一筆資料還要存入資料庫,
不會lag嗎? 我還沒試過,但光用想的就覺得會有問題 ..
4核 電腦 ,16G 不知能否應付
程式不在於寫了多少行 而是執行效率
要說一組程式上萬行 是可能都不只 重點是寫法
沒試過怎知道不行 ? 因為不行才要改良
以上次回文...用4核 一核心就沒問題 才1-2000檔
記住 : 程式可以透過API 或程式內建 ; 將高密度運算 交給另一個核心運算
這寫法要功力 且單一程式會很亂
我是四組程式 每組占用一個核心 當運算完畢 再丟入另一程式
想一下 如果你想一秒跑500萬筆資料 會如何運算
當然是拆給不同核心 再透過區域網路 傳給主機
所以資料庫跟網路功夫 一定要純熟
當你下的功夫深 沒什麼辦不到
頁:
[1]
2