c# - QuickFIX 对手方 DataDictionary 给出无效类型异常

标签 c# quickfix fix-protocol data-dictionary

我正在用 C# 开发 FIX4.4 消息传递应用程序并尝试使用交易对手提供的数据字典。在项目中,我使用 QuickFIX 作为库,当使用库中提供的原始字典 (FIX44.xml) 时,一切正常。

但是,使用这样的字典会导致一些拒绝,根据对方的说法,一旦我切换到他们自己的数据字典,这些拒绝应该会消失。

现在,当我这样做时,我得到以下“QuickFix.DictionaryParseException”类型的异常:

"invalid type: TENOR"

下面是我的配置文件,如果有帮助的话...

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=20
FileStorePath=store
FileLogPath=log
StartTime=07:00:00
EndTime=00:00:00
UseDataDictionary=Y
ValidateFieldsHaveValues=N
ValidateFieldsOutOfOrder=N
ValidateUserDefinedFields=N
AllowUnknownMsgFields=Y
# DataDictionary=P:\...\FixSource\bin\spec\fix\FIX44.xml
#HttpAcceptPort=0000

[SESSION]
# inherit ConnectionType, ReconnectInterval and SenderCompID from default
BeginString=FIX.4.4
ResetOnLogon=Y
SenderCompID=MyID
TargetCompID=MyCPID
SocketConnectHost=xxx
# SocketConnectHost=yyy
SocketConnectPort=000
HeartBtInt=30 
DataDictionary=P:\...\MyCounterpartyDataDictionary.xml

此外,在 DD xml 中导致问题的行如下:

<field number="6215" name="Tenor" type="TENOR"/>

另外两行给出相同的异常类型结果是:

<field number="41135" name="OptionExerciseLatestTime" type="LOCALMKTTIME"/>
<field number="41510" name="LegOptionExerciseLatestTime" type="LOCALMKTTIME"/>

非常感谢您的帮助,

GPP

最佳答案

您的问题是直到 FIX 4.4 EP-1 才引入 Tenor FIX 数据类型

http://fixwiki.org/fixwiki/TenorDataType

关于c# - QuickFIX 对手方 DataDictionary 给出无效类型异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38182680/

相关文章:

fix-protocol - 未为 MarketDataRequest 的此消息类型定义标签

c# - 用完整的字符串分隔符拆分字符串

c++ - quickfix 会自动响应测试请求消息吗?

c++ - 关于QuickFIX报文破解的问题

java - 使用 Java 的 MetaTrader 4 修复协议(protocol)

wrapper - 供所有主要经纪商提交订单和获取价格的开源包装库?

c# - StringWriter 与 StreamWriter 包装 MemoryStream - 区别

c# - 应用程序配置为使用 IIS (Visual Studio 2017/2019)

c# - 搜索字典的值

c# - QuickFix/N 如何最好地处理多个 FIX 版本