Я разрабатываю приложение обмена сообщениями FIX4.4 на C# и пытаюсь использовать предоставленный контрагентом словарь данных. В проекте я использую QuickFIX в качестве библиотеки, а при использовании оригинального словаря, предоставляемого в библиотеке (FIX44.xml), все работает нормально.Контрагент QuickFIX DataDictionary исключает недопустимое исключение типа
Однако использование такого словаря вызывает некоторые отклонения, которые, по мнению контрагента, должны исчезнуть после переключения на их собственный словарь данных.
Теперь, когда я делаю, что я получаю следующее исключение типа '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 5.0, исправлено это. Тем не менее, я был бы заинтересован сохранить версию протокола до 4.4, любое предложение о том, как включить EP-1? Я использую QuickFIXn 1.3, будет ли обновление до любой более поздней версии решить проблему? – GPP
Очень легко настроить DataDictionary. Просто добавьте эти поля EP-1 в файл FIX4.4.xml. См. [Эта страница документа] (http://quickfixn.org/tutorial/custom-fields-groups-and-messages.html). –
Проблема заключается не в добавлении поля, которое достаточно просто, а в том, что тип поля («TENOR») не распознается. Поэтому вопрос заключается в том, как добавлять новые типы полей (а не типы сообщений). – GPP