tonyhsiao 發表於 19-7-2 16:29

下單機 訊號接收

小弟最近在開發下單機, 接收MC訊號方法想到3種
1. MC產生文字檔輸出訊號 => 此方法似乎須搭配RAM disk軟體
2. MC用TCP Sock輸出訊號 => 此方法可以透過網路將訊號傳給其他電腦, 但似乎會延遲快1秒
3. MC用File Mapping => 次方法我同時輸出即時行情, 讓下單機可以即時透過MC接收行情計算每一單即時損益, 但是還沒長時測試穩定度

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

tonyhsiao 發表於 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傳送給下單機

kuolung 發表於 19-7-10 15:15

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

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

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

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



tonyhsiao 發表於 19-7-10 15:02

mick 發表於 19-7-10 13:58
下單大師 的 萬用 API 可能就是 sendmessage的應用了。

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

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

mick 發表於 19-7-10 13:58

下單大師 的 萬用 API 可能就是 sendmessage的應用了。

kuolung 發表於 19-7-4 22:48

Simon 發表於 19-7-4 20:43
透過c++下單速度最快

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

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

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


Simon 發表於 19-7-4 20:43

透過c++下單速度最快

wonderboy 發表於 19-7-2 17:25

這個好高深至板凳學習

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 sendmessage wm_copydata

comewish 發表於 19-7-3 07:45

寫dll把訊號傳給其他程式

tonyhsiao 發表於 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訊號自動下單
也可以用下單機手動下單, 即時計算損益, 設定停利停損點幫忙執行停利停損
這也是我想自己寫下單機的原因,依自己需求開發

tonyhsiao 發表於 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訊號並可下單了

tonyhsiao 發表於 19-7-10 18:21

kuolung 發表於 19-7-10 15:15
程式寫得出來,可以正常跑都是很好的方式,

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


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


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

mori868 發表於 19-8-7 10:41

看盤軟體(MC)+excel下單機 而中間介面如何利用sendmessage 可以接收MC訊號並可下單
敬請賜教   謝謝

jasonchantk 發表於 19-8-24 13:01

如連IB 玩autotrade...有幾多delay?
頁: [1] 2
查看完整版本: 下單機 訊號接收