COCO研究院

 找回密碼
 註冊
搜索
查看: 8536|回復: 7

[API] 凱基API在C#單一視窗整合報價與下單

[複製鏈接]
發表於 15-10-4 11:32 | 顯示全部樓層 |閱讀模式
應用版上googleandy發問及ambercrystal提供的精簡整合程式後,發現在下單登入後,隨即斷線。有"執行緒已經從等候狀態中斷"及crossThreadMessageException
[原文]
請教如何將兩個C#專案合併成一個?
http://www.coco-in.net/forum.php?mod=viewthread&tid=38520&fromuid=25481


中斷點在下單trade的OnGetStatus的this.Invoke這行
private void OnGetStatus(object sender, COM_STATUS staus, byte[] msg)
        {
            
            TaiFexCom com = (TaiFexCom)sender;
            // com.WriterLog("OnGetStatus step [0] COM_STATUS-> " + staus);
            if (this.InvokeRequired)
            {
                //com.WriterLog("OnGetStatus step [1] COM_STATUS-> " + staus);
                Smart.OnGetStatus_EventHandler d = new Smart.OnGetStatus_EventHandler(OnGetStatus);
                //com.WriterLog("OnGetStatus step [2] COM_STATUS-> " + staus);
                this.Invoke(d, new object[] { sender, staus, msg });
                //com.WriterLog("OnGetStatus step [3] COM_STATUS-> " + staus);
                return;
            }
            //TaiFexCom com = (TaiFexCom)sender;
            //com.WriterLog("OnGetStatusUpdateUI before COM_STATUS-> " + staus);
            OnGetStatusUpdateUI(sender, staus, msg);
            //com.WriterLog("OnGetStatusUpdateUI after COM_STATUS-> " + staus);
        }

請前輩指導如何解決這樣的問題?或提示可以尋找的關鍵字
謝謝
發表於 15-10-5 00:29 | 顯示全部樓層
本帖最後由 ambercrystal 於 15-10-5 00:53 編輯

1. 附件更新凱基今年七月最新版交易和報價 dll 檔案,顯示窗口設定改為置於視窗最上方。在論壇分享版本已移除個人的策略部分,僅留必要的報價下單,快市警報提示,顯示即時線圖和用MT4 DDE連接摩臺報價和與台指即時價差功能,但對於利用裏面的 source codes 進一步寫你的功能應該足夠。
2. 在 account.ini 檔案內請自行填入你自己的開戶帳戶密碼等信息
3. 不要在 debug mode 執行程式,在 KGITaiwan folder (這個是改名後的 release folde) 內執行 TradeCenter.exe, 因為 debug folder 沒有執行需要的 dll, 而且 cross-thread 的程式不要用設斷點的方式來找問題.
4. 如果你還沒有在凱基那裡簽署API協議書並開通API服務,需要完成這些事才能使用API服務。

KGITwnShare.zip (1.3 MB, 下載次數: 495)





評分

參與人數 2金錢 +4 收起 理由
cukie + 2 感謝分享
dahlia1981 + 2 感謝分享

查看全部評分

 樓主| 發表於 15-10-6 22:37 | 顯示全部樓層
ambercrystal 發表於 15-10-5 00:29
1. 附件更新凱基今年七月最新版交易和報價 dll 檔案,顯示窗口設定改為置於視窗最上方。在論壇分享版本已移 ...

謝謝ambercrystal大再次大方協助,

這個版本初次登入測試的環境,

下單伺服器回應的訊息如下,


[22:25:54:3321] 凱基下單登入成功:
F004000,8XXXXX9,F,,False,True,1


在最後一個1 之後,就沒有逗點了。
前一版在測試時,會有一個逗點在1之後,
持續的找,卻沒有找到問題在哪裏。
後來勉強用官方的報價跟下單範例程式去兜好一陣子,
把報價跟下單的幾個事件個別處理,
勉強沒有執行緒衝突的問題。

不過我比較喜歡大大設計的介面,簡單又直覺易用。

不過更新報價數值的UI label部分,需要每個都用委託的方式才能正確的顯示嗎?
之前克難的用您的程式在報價部分用好幾個委託才把數值正確的顯示出來,
看來我還有很大的進步空間
會仔細研究您的程式
一方面增長自己在C#上面的能力

明天早上會試著連線測試這個程式

先謝謝大大願意幫忙後進
感恩您的幫忙
 樓主| 發表於 15-11-3 00:13 | 顯示全部樓層
ambercrystal大您好,
在測試環境使用此程式以委派的方式使得報價與下單都可以正常,

目前在正式環境下,該程式一登入後,報價登入隨即斷線,請問這問題如何排除?
另前文大大有說cross thread的問題不要用監控的方式追蹤,還請大大明示方法,謝謝
發表於 15-11-3 11:03 | 顯示全部樓層
感謝分享.........
 樓主| 發表於 15-11-4 07:11 | 顯示全部樓層
抱歉,之前一直在C#的編譯模式下測試連線登入,今天上午以執行檔執行登入後,報價登入正常。
發表於 18-1-4 17:06 | 顯示全部樓層
ambercrystal 發表於 15-10-5 00:29
1. 附件更新凱基今年七月最新版交易和報價 dll 檔案,顯示窗口設定改為置於視窗最上方。在論壇分享版本已移 ...

請問大大,我注意到你是用QuoteComAPI註冊商品後,回傳回來的委託簿揭示(DT.QUOTE_I080 / PI20080)五檔價量的最佳第一檔買價作為現價,請問要如何才能註冊到當下Tick的成交價量(DT.QUOTE_I020 / PI20020)資訊呢? 謝謝
發表於 18-2-21 21:20 | 顯示全部樓層
BeLikeCheetah 發表於 18-1-4 17:06
請問大大,我注意到你是用QuoteComAPI註冊商品後,回傳回來的委託簿揭示(DT.QUOTE_I080 / PI20080)五檔價 ...

不好意思,發現是我眼殘,沒看到有少量的Tick資料...
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-24 23:00

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |