Professional Documents
Culture Documents
一、 資料源
目前各位將即時資料(包含 DDE)轉進 GlobalServer 使用 MetaServer 的部份,
小弟家則另行開發一項資料仲介軟體(KnowHowServer),將國外券商所提供
的資料源,轉換為 GS 可讀取的格式,來與 GS 進行溝通﹗當然,我們針對
國內即時源的部份,同樣有設計一個 DDE Server(包含多資料源),可供交易
內期的交易人使用,但因為考量國內程式交易環境的法令限制,及 DDE 資
料交換格式的時效性,故目前不開放對外使用,也許待那一天主管機管看清
楚現況,或是 KH 可以取得比 DDE 更即時的資料時,我們會將這項產品推
上線﹗
當然,有了即時源,實際上是可以自行開發平台,使資料+策略引擎+訊號+
下單同時在一個平台下完成。但小弟家沒有開發 EL 的語法,所以必須要以
高階語言編譯程式,因此本產品也沒有規劃要推出。
當然,這部份還包含了另外兩個功能,第一是可直接將由券商所提供的歷史資料
回補至 GS 所存放在電腦中的記憶體位置(短時間);另外,就是提供將歷史資料
轉成 XPO 的格式(近期開發中),再讓 GS 讀取(長時間)。
二、 KnowHowEvent.dll
使用 TS 所提供的類別庫進行連結,只是小弟家使用的方法是寫一個動態連
結檔(KnowHowEvent.dll),來命令 TS 中的.mdb 檔案有新的資料寫入時,同步
將.mdb 中的新資料寫出至外部的下單系統,以最即時的方法取得下單訊號
且由下單系統來執行下單動作。
而關於國外券商所提供的資源,我們將他與 TS 整體的規劃如下圖流程所示,
提供給各位參考,此流程簡單易懂,有興趣的網大也可以依此架構進行開發。這
也就是小弟說,為什麼國外比較好玩的主要原因,只要您會寫程式,其它的或說
小弟覺得最重要的”即時源”,國外券商都已經幫你解決了﹗效能遠高於一般國內
以 DDE 連結的方式,程式實作上也較國內某資訊廠商開發的報價接口來的好使
用。
所以小弟家由以上我們所開發的小玩具,針對 FXCM 及 IB 分別設計了兩套
下單工具,如下:
A、FXCM 外匯自動下單交易系統
在主程式之下,各位同樣可以看到一個“報價表單”,為提供客戶手動下單
之用,同樣即時源一樣取自 FXCM 的伺服器(免費)。另外,主程式之下,包含了
“回報視窗”,就是讀回 FXCM 伺服器內傳回的成交回報,並且同樣保留可執行
手動平倉功能;“訊息表單”,讀取 FXCM 回傳給你的訊息,例如保證金不足、
下單單位錯誤等訊息;“帳戶資訊”,讀取登錄該帳戶的所有資訊,包含目前持
有部份的浮動損益及帳戶的總權益等。
“掛單表單”,主要的功能就是顧及客戶於下單時(無論手動或自動),都有
可能因為價格已經跑掉而沒辨法成交(或是您可以將它視為委回,但一旦成交該
筆掛單即會被刪除),此時,該筆下單即會呈現在此,讓您知道您還有一筆預掛
單在系統內,當然這部份是保留客製化的主要功能,例如我們可以為客戶設計刪
單,及再追單等類似演算法的功能;“策略表單”,主要用於自動交易,提供客
戶策略建表,因為客戶在 TS 上可能同時跑多組策略,但不一定每組策略都會實
際作單,故設計此表單提供客戶做確認的功能,一旦由 TS 讀回的訊號與此表單
中的欄位互相對應,且欄位一已勾選確認,則此筆單將會正確的被送出。主程式
畫面如下,
上述的主程式“回報表單”中,尚包含了三張表單,為“目前部位表單”、
“平倉表單”及“總表單”。基本上,主程式是完全根據 FXCM 提供的 AP 來設
計,表單功能幾乎與其相同。
手動下單及刪單,委回及成回會同時取回,且在成回取得的情況下,而刪單時,
只要填入未成交回報的委託單 Ticks ID 即可。另外,只要點選閃電下單,則游標
指向 bid 價且按左鍵時即賣出,同理 ask 價即買進。
手動取得某商品的報價及手動取得某商品的歷史資料(可轉出 txt 檔),在與
手動下單的介面均可實現。而在介面取得報價的目的在於,可針對某些商品來進
行套利及價差交易。
當然,此系統我們同樣提供簡訊功能,讓我們可以確實掌握系統及下單目前
的現況,哈﹗不過因為沒有在 ts 上跑策略所以畫面右方的訊號表單沒有東西寫
入,但我們自己測試的結果,在 ts 下以 1tick 跑策略,下單系統的單一樣僅跟,
這好像是廢話,要是自己寫的 ap 跑的比 ts 慢,那就是一個天大的笑話了。