linsf0717 發表於 19-3-1 14:52

MultiCharts 接收文字檔即時報價的方法

本帖最後由 linsf0717 於 19-3-1 15:17 編輯

MultiCharts 可接收的資料源中,有一個「對應ASCII」(ASCII Mapping) 的方法,我查了官方說明是可以接收 tick ~ 日線 範圍的歷史與即時報價 (Real-Time),這引起我的高度興趣,如果能實現的話,就可以把群益的行情 API 轉成文字檔,餵給 MultiCharts 來用,不論是歷史資料或是即時報價,都可以在購買付費的報價源之前,有一個比 DDE 更好的報價來進行測試,當然要正式下單也可以。

首先用手動測試,發現新增一筆報價到文字檔,圖表卻不會動,上網爬文,竟然連凱衛都說不行,只能重新 Reload,甚至還有人分享定時Reload 的 code 出來,這是凱衛的回答:


但明明官方的文件是說可以的 ... 經過一翻努力,終於找出方法,確定是可以即時更新的,根本不必 Reload。以下使用方法分享大家:
1.可接受的 K 線週期:單一商品的 tick 線,日線,分時線(N分線)。
   (同一檔案內不能有多種時間或多個商品或日線以上的資料)
2.把最新一筆報價加在文字檔的最後一行,MC 就會自動在圖表上顯示新的 K 線。
3.在即時報價模式下,不能同時使用超過60個資料夾。
4.每個報價檔案不能超過 4G。(建議放在 RAMDisk)

重點來了,為何很多人失敗,因為還要符合下面三個最重要的條件:
5.已讀過的時間,MC 會存放在記憶體不會再更新,所以若更改已讀過的價格資料,圖表也不會更新,除非重新 Reload。(換句話說,若回補資料後 K 線資料有變,重新輸出文字檔給 MC,圖表也不會跟著變,只會變動最新的一根 K 線)
6.加在文字檔最後一行的報價時間,必須大於 MC 開啟的時間,圖表才會顯示一個新的 K 線,否則會當成是已讀過的歷史資料,圖表就不會更新。(例如 MC 是 10:00 打開的,加上 09:59:00 的資料,圖表就不會動,加上 10:01:00 的資料,圖表就會出現 10:01 分的新 K 線)
7.當根 K 線的價格異動,圖表也會更新,但比較慢,而且文字檔要加個空白行再刪除,讓它變動一下才行。

以上均已測試成功,且適用於 MultiCharts.NET 的版本,第一次發文,謝謝指教。





wanwh 發表於 19-3-3 00:42

Regular multicharts 是否也可做到?

linsf0717 發表於 19-3-3 10:06

wanwh 發表於 19-3-3 00:42
Regular multicharts 是否也可做到?

Regular multicharts 也可以

eric0613 發表於 19-3-3 15:39

謝謝大大無私地分享~~~~~~

Albertbug 發表於 19-3-5 13:38


謝謝大大無私地分享~~~

yopoyuan 發表於 19-3-6 22:01

謝謝大大無私地分享~~~

Albertbug 發表於 19-3-7 17:03

謝謝大大無私地分享~~~

pro999 發表於 19-3-7 17:08

感謝大大分享~~~~~~

bababm 發表於 19-4-3 09:19

太讚了 謝謝大大無私地分享

CoCoRay 發表於 19-11-18 16:34

感謝大大分享新的概念~

但論效能上似乎是API->DDE 大於 API->TXT ?

linsf0717 發表於 19-11-22 12:57

CoCoRay 發表於 19-11-18 16:34
感謝大大分享新的概念~

但論效能上似乎是API->DDE 大於 API->TXT ?

是的,但我的需求是能在 MultiCharts 上跑,DDE 就沒辦法回補 K 線。
頁: [1]
查看完整版本: MultiCharts 接收文字檔即時報價的方法