2012-07-11 70 views
1

我們有一個實現FIX 4.2標準來發送executionReport消息(35 = 8)的交易對手。FIX 4.2和ExecReportAck

在他們的規範中,他們需要一條消息來檢查正確的傳輸。奇怪的是,消息類型是「BN」,這不是4.2規範。

我已經實現了一種方法來發送這種類型的消息,並且所有工作都很好,但quickfix會將此消息放入錯誤日誌中。

有一種方法可以告訴quickfix從錯誤日誌中排除這些「BN」消息嗎?

回答

3

嘗試編輯DataDictionary。我會創建一個新文件。並將DataDictionary位置設置爲您的quickfix配置文件中的新文件。

在數據字典的XML文件中,添加一個附加的消息類型以匹配您的對方發送給您的消息類型。

在消息類型字段:

<field number="35" name="MsgType" type="STRING"> 

添加一行是這樣的:

<value enum="BN" description="MESSAGE_TYPE_NAME" /> 

其中MESSAGE_TYPE_NAME是正確描述

然後添加一個類型

<message name="ExecutionReportAck" msgtype="BN" msgcat="app"> 
    <field name="OrderID" required="Y"/> 
    <field name="SecondaryOrderID" required="N"/> 
    <field name="ClOrdID" required="N"/> 
    ... 
</message> 
+0

我已經編輯DataDictionary並插入以下行:' '但沒有成功。 stexcec 2012-07-11 12:45:12

+0

不知道,但可以在配置文件中添加以下內容有幫助ValidateUserDefinedFields = N – Groovy 2012-07-12 04:44:13

+0

我曾考慮過這個問題,但由於MsgType不是UserDefinedField我不認爲這會起作用 – robthewolf 2012-07-12 04:48:48