最近有個老客戶給了我完全沒碰過,但一直很感興趣的案子,就是關於股票期貨走勢預測的軟體。聽完他對這案子的想法,覺得應該不會太難做,就放正事不幹先衝下去玩這有趣的東西(一方面想說這以後應該挺有搞頭的)…
C#與NDde-一週白工甘苦記

只玩台指期(近十年),八成都是當日沖(挺猛的),所以即時資訊源是必需的…


Day 1
剛開始我也和每個人一樣摸不著頭緒,但沒關係照例去搜搜google,嗯,很多券商都有提供免費DDE(Dynamic Data Exchange)的即時股市資訊,就是要用這個啦…

最初在開發上有兩個選擇,一是用Excel與VBA,一是用C#與NDde;心想,難得有這機會,就玩玩C#(C Sharp)吧,都沒碰過,不也剛好是個機會^^


Day 2
當然,有長時間累積的程式撰寫經驗,大部份的程式語言也不過就是開發工具及語法上的差異…找到官方網站提供的Visual C#入門手冊,內容詳盡如同得到大補帖,很快就上手…

感謝有前人在種樹(參閱此文談談 C#.NET 連結 DDE Server 的設計觀 ),拿台証超級大三元測一下連線及Item取值沒有問題,就去編寫其它邏輯運算式和使用者介面…


Day 5
三天後,差不多寫完七七八八,還加上可以選擇其它券商做備援連線(元大yeswin、永豐e-leader),便想來測看看趨勢預測邏輯有沒有問題,這時苦難降臨…

接收台指期即時資訊跑了一陣子就不動?沒關係,程式寫這麼久,bug怎麼可能不會排除,就抽絲撥繭一步步往上查…啊咧,怎麼只剩下最單純的一個連線一個item都會跑到掛點?


Day 7
由於台指期近日都是數萬口的量,一秒產生七、八次的advise是常有的事,這時就會發現它停掉不動T_T

連兩日與google苦戰,甚至改寫NDde的原始碼,依然無法抵抗一個事實:NDde的設計有效能瓶頸!

若針對特定券商去改寫NDde,讓它變為專屬,效能應該可以改善不少,但,也沒那興致…還是回頭改用Excel+VBA去玩DDE吧!

註1:這裡的C#資源(VB/ VBA/ C#/ Java/ C++ 語言學習筆記 美妙人生)也很不錯,簡單易懂還附範例

註2:DDE本身會有lost資訊的問題,看來後續還是苦難呀

 
  • Hemidemi
  • MyShare
  • Udn
  • funP
  • Furl