2012-02-07 121 views
4

我已經在我的機器上安裝了MT4客戶端,並且可以成功檢索提要。不過,我已經使用Java編寫了一個使用FIX協議來提取數據的程序。我想知道我的Java程序如何提取我在MT4客戶端上看到的數據。MetaTrader 4使用Java的修復協議

+1

聽起來像是在MetaTrader論壇上最好的問題。 – 2012-02-07 09:15:53

+0

我也在尋找這個問題的解決方案。導出使用歷史中心感興趣的所有符號的數據是一個無聊的過程。我想直到找到答案,我會寫一個MQL腳本來做到這一點。但Java解決方案將是最好的。 – 2013-01-26 16:17:14

+2

@SzilagyiDonat - 閱讀**的'ZeroMQ **綁定'並使用Austen Conrad的'MQL4ZMQ'包裝來整合這兩種節點之間的在線合作。最好從Pieter Hintjens的書[Code Connected,Vol.1]中的圖60和圖62開始(可以在線獲取pdf格式),首先獲得更大的圖片,然後深入到您的架構需要自上而下,而不是自下而上的代碼行。值得一試。 – user3666197 2014-06-13 12:25:43

回答

1

當我說Metatrader不適合認真交易者時請相信我。
Bucketshops讓新手們對代碼片斷感到興奮,這些代碼片段爲MetaTrader拼湊在一起。

如果它只是您想要的圖表數據,則不需要重新發明輪子,而只需訂閱通用數據服務。

有提供各種免費的圖表數據顯示包,jfree.org可以顯示各種數據的...

如果你想通過Java接口下訂單,有幾個選項:

怪獸商 http://developer.berlios.de/projects/manticore/

開放的Java交易系統 http://sourceforge.net/projects/ojts/

當然,上述所有的作爲因爲你可以花更多的時間通過使用正確的工具將更直接和更連貫的編程思想學習到結果方法中,因此我建議你不要花費時間進行交易。

例如: Ninjatrader可以自由使用,並且可以直接連接到交換機(還有數據選項)。代碼是dot Net,並且會進行編譯,因此與解釋的任何內容相比,您的執行都會非常棒。

Kinetick有自由結束日期數據。

2

的MetaTrader到任何 -Process整合

MT4可以溝通兩個你javaFIX-Protocol_MEDIATOR,並列入任何其他任何過程Node複雜的分佈式異構處理基礎設施建設與使用優良的ZeroMQ的無代理的可擴展正式通信模式消息傳遞框架。

好處

這樣的方法節省了我們的時間,因爲地面是堅如磐石的。 這種做法提高了系統的魯棒性,非停止能夠&故障恢復高級別的抽象通信行爲可以開發許多不同節點之間分配 - 無論是javaC#/C++PythonPHPErlang和許多其他的生產級系統

集成約束

MT4有幾個給定的限制。兩者都缺乏對進程流程的軟實時控制和有限的線程間同步,使其成爲整個分佈式解決方案的輕量級精簡版的候選者。 ZeroMQ具有低延遲&負載平衡功能對於已經內置的這種架構具有很多優勢。