shunyulu 發表於 17-8-4 23:20

chang91348 發表於 17-8-2 18:36
又來麻煩版主了,不好意思,因為學C#才幾個月的時間,對於物件導向訊息傳遞還不太清楚,我先說明我對於 ...

在OSQuote事件裡面當你的下單條件到達後, 呼叫SendOverSeaFutureOrder.


如果您程式不熟, 在SendOverSeaFutureOrder程式中不要去下單, 丟訊息出來看就好. 否則...嘿嘿嘿....錢錢拿來花.


benlee1104 發表於 17-8-6 16:14

感謝分享, 很實用, 謝謝!!!

chang91348 發表於 17-8-6 22:12

本帖最後由 chang91348 於 17-8-6 22:15 編輯

      謝謝版主和先進的回覆,因為不是科班出身,所以都是買書以及網路拼湊出來程式,經由網路google 的結果,得到一個複雜的結果,還請各位指教...

      經由檢視程式碼後,海期下單原本一開始以為是從 OverseaFutureOrderControl下單,可是卻是在skOrder下有一個事件
      private void overseaFutureOrderControl1_OnOverseaFutureOrderSignal(string strLogInID, bool bAsyncOrder, OVERSEAFUTUREORDER pStock)
      {
            string strMessage = "";
            m_nCode = m_pSKOrder.SendOverseaFutureOrder(strLogInID, bAsyncOrder, pStock, out strMessage);
            WriteMessage("海期委託:" + strMessage);
            SendReturnMessage("Order", m_nCode, "SendOverseaFutureOrder");
      }

   似乎是海期下單後,在skOrder接受到訊息在此用SendOverseaFutureOrder下單的; 所以我在SKOSQuote 內新增了
    public Form1 Mainform();

然後在 Form1 內
    skosQuote1.Mainform=this;
   //再自設一段程式碼
      public void SendOFOrder(string strLogInID, bool bAsyncOrder, OVERSEAFUTUREORDER pStock)
      {
            skOrder1.SendOFOrder(strLogInID, bAsyncOrder, pStock);
      }

而 SKOrder 內則定義 SendOFOrder如下(其實就是overseaFutureOrderControl1_OnOverseaFutureOrderSignal事件的程式碼)
      public void SendOFOrder(string strLogInID, bool bAsyncOrder, OVERSEAFUTUREORDER pStock)
      {
            string strMessage = "";
            m_nCode = m_pSKOrder.SendOverseaFutureOrder(strLogInID, bAsyncOrder, pStock, out strMessage);
            WriteMessage("海期委託:" + strMessage);
            SendReturnMessage("Order", m_nCode, "SendOverseaFutureOrder");
      }

   在SKOSQuote 內運算達到條件時,則呼叫
   Mainform.SendOFOrder(ID,Yes,OSOrder);

   請教諸位,這樣的程式碼可行嗎?

alexliou 發表於 17-8-7 19:16

應該可行

不過我想你這行可能是Typo
public Form1 Mainform();===> public Form1 Mainform;
另外在呼叫SendOFOrder()時, 你會提供適當的參數;

chang91348 發表於 17-8-7 22:29

謝謝版主的糾正,確實是寫錯了,半路出師,常常把C#和VB搞錯,什麼時候要加()到現在還不是很清楚,常常是Visual studio提醒我的,感謝你

cory8249 發表於 17-8-9 15:37

小弟最近也剛碰程式交易
但覺得 MultiChart 功能太陽春
決定來自己接API

目前我把部份C#報價轉成 REST API 透過 Python 結合資料庫
感覺未來比較有彈性

不知道板大有沒有考慮這方向 ?

alexliou 發表於 17-8-10 08:04

cory8249 發表於 17-8-9 15:37
小弟最近也剛碰程式交易
但覺得 MultiChart 功能太陽春
決定來自己接API


我目前是用MultiChart 在作策略的回測與開發
其實也是滿簡便好用的
但正如你說的 MC的功能有點陽春(不過原廠經常在update 與upgrade)
缺乏目前正夯的AI (deep learning)的功能

Python 我不熟, 不過我知道它有許多 支援deep learning 及其他功能的 Package
擴充性是非常高的
您所提及的方法應該是一個不錯的solution
唯一需要注意的是Python是一個Interpreted language, 天生的限制是速度不夠快

以下這個部落格文章 有做一個簡單比較
http://www.financial-hacker.com/hackers-tools-zorro-and-r/#more-89
他所推薦的platform "zorro" 有免費的版本可以使用
但學習使用的門檻不低, 而且要自寫資訊源又得使用付費版
所以你如果Python很熟, 而且交易頻率不適非常高的話, 我認為你的approach 較佳

cukie 發表於 17-8-10 08:49

感謝兩位的分享{:4_113:}

kingwang 發表於 17-8-10 22:37


感謝分享, 很實用, 謝謝!!!

vaca1 發表於 17-8-17 23:17

太強了
還open source
給你一個讚
本人註冊帳號第一推就給你了

chang91348 發表於 17-8-27 22:26

請教版主,國內報價要GetTick時,須輸入Market/Stockidx/nPtr, 如果要查選擇權時,須輸入什麼
?

chang91348 發表於 17-8-28 13:31

剛才試了一下,可以從OnNotifyTick裡得到MarketNo,Stockidx,可是nPtr不知如何得知最近一筆是在那個位址,這樣GetTick的目的是?

alexliou 發表於 17-8-29 13:40

chang91348 發表於 17-8-28 13:31
剛才試了一下,可以從OnNotifyTick裡得到MarketNo,Stockidx,可是nPtr不知如何得知最近一筆是在那個位址,這樣 ...

27樓最後一段有討論到GetTick
http://www.coco-in.net/forum.php?mod=redirect&goto=findpost&ptid=51908&pid=732669&fromuid=9430
我認為這個function很少有機會使用到

唯一可能是把它包在迴圈裡, 用來回補部分資料

chang91348 發表於 17-8-29 15:47

謝謝版主,看來GetTick的用處真的不大,原本以為可以拿來最後一筆的資料,看來還是得從OnNotifyQuote來拿了

alexliou 發表於 17-8-30 23:46

本帖最後由 alexliou 於 17-8-31 00:19 編輯

chang91348 發表於 17-8-29 15:47
謝謝版主,看來GetTick的用處真的不大,原本以為可以拿來最後一筆的資料,看來還是得從OnNotifyQuote來拿了 ...
剛去群益官網看了一下, 發現新版的API(2.13.7)出來了,
新版增加了一個功能RequestLiveTick(), 可以僅訂閱即時報價,      
主機傳回的報價資料不再必然包括Historical Ticks,
這使得利用GetTick()來回補Historical Ticks的 機會提高

群益這次把Historical Ticks 和 RealTime Ticks 區分開來 在架構上算是一個進步
因為有的User只需要RealTime Ticks, 不需要餵他多餘的東西, 浪費傳輸資源

但這樣的區分還不夠, 因為如果User 還需要RealTime Best5的資料
新版並沒有提供單獨訂閱Best5的 function, 還是得透過RequstTicks()
而RequestTick()是個三合一套餐(RealTime Ticks, Historical Ticks, Best5)
Historical Ticks 又和RealTime Tick綁在一起了
(但2.13.7版的傳輸速度極快, 而且需要三合一綁定的機會頗多, 綁在一起的impact不大 )

















頁: 1 2 3 4 5 [6] 7 8 9 10 11 12
查看完整版本: 群益API 2.13.5 C#實作