2014-09-24 77 views
1

我正在使用QuickFix和Python連接一個特殊的數據提供程序。他們已經定義了一個新的重複組NoChartData,這是我無法閱讀的,因爲我在QuickFix中定義組的方式是,例如,group = fix42.MarketDataIncrementalRefresh().NoMDEntries()。當我將NoMDEntries()替換爲NoChartData()時,我收到屬性錯誤,因爲NoChartData()不存在。如何重新定義自定義組的QuickFix類?

我已經得到了我需要重建的QuickFix類,我這裏大概看了一些模糊的概念:

http://quickfix-j.364392.n2.nabble.com/How-to-avoid-ordering-group-fields-td7132898.html

我發現的ant.jar在quickfix/lib中/罐文件夾,但有不知道如何運行它。

我修改了數據字典,一切都應該沒問題,如果我可以弄清楚如何創建一個自定義組。也許有一個更簡單的方法?

BTW: 我知道這個網站有一個相關的問題。 這傢伙得到downvoted和他的問題關閉問一個非常清楚的問題,但沒有解釋它:How to generate message classes from new custom FIX dictionary(但我必須這樣做在Python等相關環節也沒有什麼幫助)

--- UPDATE 24 SEP '14 -

我安裝了ant,但不知道如何使用它!顯而易見的是,將它應用到我的數據字典中,並沒有達到預期的結果。

C:\的quickfix \規格>蟻-f FIX42_CTS.xml構建文件: C:\的quickfix \規格\ FIX42_CTS.xml

BUILD FAILED C:\的quickfix \規格\ FIX42_CTS.xml:1 :意想不到的元素 「{} fix」{antlib:org.apache。 tools.ant}修復

總時間:0秒

也許這個問題可以幫助其他用戶資歷與經驗不足Java和螞蟻。

+0

我很困惑。你使用的是QF/C++還是QF/J?好像你正在使用後者,但使用我不知道存在的Python綁定。 Jython也許? – 2014-09-24 21:03:18

+0

我總是認爲這是C++。我不知道它是如何成爲Java的。我在這裏得到它:http://www.lfd.uci。edu /〜gohlke/pythonlibs /。你爲什麼認爲我使用QF/J?任何簡單的方法來告訴它是哪一個? – Wapiti 2014-09-24 21:15:13

+0

Ew。是的,這是C++版本。 'ant'是一個Java構建工具,所以這就是我爲什麼使用Java的原因,並且您的鏈接來自QF/j郵件列表。 – 2014-09-24 22:12:08

回答

2

有對此處的QF/J維基的用戶常見問題產生QF/J源基本指令: http://www.quickfixj.org/confluence/display/qfj/User+FAQ

(奇怪的是,這個FAQ目前大約有這一點,大多是相同的兩個問題,我會的。不得不考慮將它們結合起來,這有點令人尷尬,因爲看起來我是該頁面的唯一編輯:))

您必須編輯您的DataDictionary XML文件。該文件的結構非常簡單;花幾分鐘瀏覽它,以便了解佈局。 (首先是關於消息定義的大部分,然後是大部分字段定義,您需要編輯這兩個部分以添加新的組)。

編輯:原來你沒有使用QF/j派生版本,所以這個答案可能不會對你有幫助。

+0

是的,DD很簡單。我過去改變了它,沒有任何問題。儘管如此,從該文件創建新類讀取非標準消息對我來說是新的。我已經安裝了ant,但我不確定如何使用它。你說要運行'ant jar'命令,但是返回'build.xml不存在!'該命令似乎將一個文件作爲參數。我可以從任何地方運行它,還是必須從特定的QF文件夾運行它?謝謝。 – Wapiti 2014-09-24 19:59:57

+0

此外 - 我可以讀取自定義重複組,而無需在DD中定義它們並重建QF?是否有類似於製作自定義組的類似於非類型安全的解決方法? (我正在考慮鏈接到的常見問題末尾的示例。) – Wapiti 2014-09-24 20:10:03

+1

如果'build.xml'在您的工作目錄中,'ant'應該自動嘗試使用它。你在QF/j項目根目錄下運行它嗎? (假設你使用QF/j) – 2014-09-24 21:08:14