COCO研究院

 找回密碼
 註冊
搜索
查看: 8099|回復: 15

[工具] 下單機 訊號接收

[複製鏈接]
發表於 19-7-2 16:29 | 顯示全部樓層 |閱讀模式
小弟最近在開發下單機, 接收MC訊號方法想到3種
1. MC產生文字檔輸出訊號 => 此方法似乎須搭配RAM disk軟體
2. MC用TCP Sock輸出訊號 => 此方法可以透過網路將訊號傳給其他電腦, 但似乎會延遲快1秒
3. MC用File Mapping => 次方法我同時輸出即時行情, 讓下單機可以即時透過MC接收行情計算每一單即時損益, 但是還沒長時測試穩定度

除了以上方法, 不知道是否有哪位大大還有其他方法建議?

 樓主| 發表於 19-8-7 13:44 | 顯示全部樓層
mori868 發表於 19-8-7 10:41
看盤軟體(MC)+excel下單機 而中間介面如何利用sendmessage 可以接收MC訊號並可下單
敬請賜教   謝謝

我只會VB.net 所以我是寫一個sendmessage的執行檔
此執行檔所做的流程如下:
1. MC用shellexec呼叫此執行檔, 同時將MC訊號送給此執行檔
2. findwindow找下單機
3. 找到下單機後將重MC收到的訊號用sendmessage傳送給下單機
回復 支持 1 反對 0

使用道具 舉報

發表於 19-7-10 15:15 | 顯示全部樓層
tonyhsiao 發表於 19-7-8 17:21
也許是因為我是用VB.net寫的
小弟我不是寫程式的, 對於C++完全一竅不通
下單機是我第一支Windows程式, 所 ...

程式寫得出來,可以正常跑都是很好的方式,

不過給您一點觀念上的修正,

Filemapping 的方式,並沒有真的建一個檔案,是用檔案方式,在程式間交換資料,所以不會有"不用輸出檔案, 避免長時間運作損壞硬碟或SSD" 的問題



回復 支持 1 反對 0

使用道具 舉報

 樓主| 發表於 19-7-10 15:02 | 顯示全部樓層
mick 發表於 19-7-10 13:58
下單大師 的 萬用 API 可能就是 sendmessage  的應用了。

我看過下單大師 的 萬用 API說明
似乎還是靠輸出文字檔方式在傳輸資訊而不太像sendmessage

也許是因為我不是寫軟體的專家, 所以沒完全看懂單大師 的 萬用 API
這是我第一個程式, 而且90%是google來的, 用拼湊的
回復 支持 1 反對 0

使用道具 舉報

發表於 19-7-10 13:58 | 顯示全部樓層
下單大師 的 萬用 API 可能就是 sendmessage  的應用了。
回復 支持 1 反對 0

使用道具 舉報

發表於 19-7-4 22:48 | 顯示全部樓層
Simon 發表於 19-7-4 20:43
透過c++下單速度最快

理論上是 C++ 最快,但是還是要看您的程式怎麼寫的

我比較好奇的是,為什麼用 winsock 會有1sec 的延遲,

我現在也在用 winsock 的方式寫下單機,應該不會 delay 到那麼久才對


回復 支持 1 反對 0

使用道具 舉報

發表於 19-7-4 20:43 來自手機 | 顯示全部樓層
透過c++下單速度最快
回復 支持 1 反對 0

使用道具 舉報

發表於 19-7-2 17:25 | 顯示全部樓層
這個好高深  至板凳學習
發表於 19-7-2 17:53 | 顯示全部樓層
h t t p s: / / w w w.codeproject.com/Articles/115/Inter-Process-Communication-using-WM-COPYDATA

mfc sendmessage wm_copydata
發表於 19-7-3 07:45 | 顯示全部樓層
寫dll把訊號傳給其他程式
 樓主| 發表於 19-7-8 17:21 | 顯示全部樓層
本帖最後由 tonyhsiao 於 19-7-8 17:29 編輯
kuolung 發表於 19-7-4 22:48
理論上是 C++ 最快,但是還是要看您的程式怎麼寫的

我比較好奇的是,為什麼用 winsock 會有1sec 的延遲 ...

也許是因為我是用VB.net寫的
小弟我不是寫程式的, 對於C++完全一竅不通
下單機是我第一支Windows程式, 所以用VB.net算是對入門者最容易懂的
*下單功能是券商給的sample code
*Winsock是Google找來拼湊的, 用眼睛觀察看不出有延遲, 但用輸出檔案方式記錄MC發出訊號時間及下單機收到訊號正式下單出去的時間, 不是全部都有差異, 但是有差異的話, 可以發現最長是差到快1秒
*Filemapping也是Google找來拼湊的

感謝3樓的Mick, 這幾天我google了sendmessage wm_copydata, 也拚出了可以接收MC訊號並可下單
這方法似乎是目前我嘗試使用的方法中最好的方法
不用輸出檔案, 避免長時間運作損壞硬碟或SSD
也無像Winsock有delay現象

現在我用sendmessage 方式將MC產生的賣買訊號直接輸出給下單機, 同時也直接輸出即時報價給下單機(等於下單機串接MC報價)
我下單機現在已經可以依MC訊號自動下單
也可以用下單機手動下單, 即時計算損益, 設定停利停損點幫忙執行停利停損
這也是我想自己寫下單機的原因,依自己需求開發

 樓主| 發表於 19-7-8 18:22 | 顯示全部樓層
mick 發表於 19-7-2 17:53
h t t p s: / / w w w.codeproject.com/Articles/115/Inter-Process-Communication-using-WM-COPYDATA

mfc ...

感謝Mick, 這幾天我google了sendmessage 已經拚出了可以接收MC訊號並可下單了
 樓主| 發表於 19-7-10 18:21 | 顯示全部樓層
kuolung 發表於 19-7-10 15:15
程式寫得出來,可以正常跑都是很好的方式,

不過給您一點觀念上的修正,

感謝kuolung的觀念修正
才剛剛開始學習程式, 對於程式的行為還在摸索中(也許完成下單機後就不會再繼續研究)
畢竟程式交易的重點是在策略開發而不是造車(下單程式...etc.)


感謝各位高手讓我在此論壇找出我要的方法

發表於 19-8-7 10:41 | 顯示全部樓層
看盤軟體(MC)+excel下單機 而中間介面如何利用sendmessage 可以接收MC訊號並可下單
敬請賜教   謝謝

發表於 19-8-24 13:01 | 顯示全部樓層
如連IB 玩autotrade...有幾多delay?
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-22 07:21

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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