c++ - quickfix 中 SecurityListRequest 的“标签未定义”
问题描述
尝试使用以下代码在 quickfix 中发送 SecurityListRequest
void FixApplication::SendSecurityListRequest()
{
FIX44::SecurityListRequest request(SecurityReqID(NextRequestID()), SecurityListRequestType(4));
Session::sendToTarget(request, sessionID(false));
}
得到
8=FIX.4.49=12435=334=349=nik52=20211015-19:40:29.47256=DERIBITSERVER57=U100D145=258=Tag appears more than once371=15372=y373=1310=011
在调用 sendToTarget 后的 toAdmin 函数中
372=y表示问题出现在消息类型“y”中,即 SecurityList 371=15表示问题出现在标签 15 中,即货币。
有人可以告诉这里出了什么问题吗?
我也尝试使用 settings.cfg 设置 DataDictionary 但它导致
8=FIX.4.49=13435=334=349=nik52=20211015-19:46:29.29256=DERIBITSERVER57=U100D145=258=Tag not defined for this message type371=15372=y373=210=247
我当前的配置文件
[DEFAULT]
ConnectionType=initiator
HeartBtInt=20
FILESTOREPATH=store
FileLogPath=Logs
StartDay=TUESDAY
StartTime=00:00:00
EndDay=TUESDAY
EndTime=00:00:00
UseDataDictionary=Y
DataDictionary=FIX44.xml
ValidateUserDefinedFields=N
ValidateFieldsHaveValues=N
ValidateFieldsOutOfOrder=N
ValidateUnorderedGroupFields=N
ValidateLengthAndChecksum=N
ReconnectInterval=60
ResetOnDisconnect=Y
ResetSeqNumFlag=Y
ResetOnLogout=Y
ResetOnLogon=Y
SendResetSeqNumFlag=Y
ContinueInitializationOnError=Y
PrintIncoming=Y
PrintOutgoing=Y
PrintEvents=Y
IgnorePossDupResendRequests=Y
TargetSubID=U100D1
Username=
Password=
[SESSION]
SocketConnectHost=www.deribit.com
SocketConnectPort=9881
BeginString=FIX.4.4
SenderCompID=nik
TargetCompID=DERIBITSERVER
MDEntryType=Y
解决方案
推荐阅读
- ajax - 在 ajax 请求期间排除树枝中的块
- hadoop - 如何从配置单元表插入分区表(作为镶木地板)?
- url - 使用 Telegram 通过 url 发送类似消息
- jhipster - 'pacman' 风格的加载图标在哪里?
- android - Facebook Android SDK 警告:“删除无令牌接入点”
- javascript - 比较两个数组的id,然后将值设置为一个数组
- java - 在 Java 中区分 SEIR 模型
- python - Python3递归参数麻烦
- spss-modeler - SPSS Modeler 分组并选择前 n 行
- javascript - react如何汇总渲染组件中的数据?