由于官方 QuickFix 网站不工作,我在这里问。我正在努力满足我的经纪商 (FXCM) 对 API 就绪的要求。我正在使用 quickfix .NET v1.13.3。其中一个要求是我需要每天重置一次序列号,并且连接必须仍在工作。但是当我使用以下方法重置序列号时:
QuickFix.Session.lookupSession(mSessionID).setNextSenderMsgSeqNum(1);
QuickFix.Session.lookupSession(mSessionID).setNextTargetMsgSeqNum(1);
连接重新连接。有什么方法可以在不注销的情况下重置它?
我的配置文件:
[DEFAULT]
#client connection
ConnectionType=initiator
#Logon & Logout timers
LogonTimeout=1
LogoutTimeout=1
ValidateFieldsOutOfOrder=Y
ValidateUserDefinedFields=Y
ValidateFieldsHaveValues=Y
AllowUnknownMsgFields=Y
SocketTcpNoDelay=Y
FileStorePath=Store
CheckLatency=N
CheckCompID=Y
SendRedundantResendRequests=Y
ContinueInitializationOnError=Y
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y
ForceResync=Y
[SESSION]
#login info
username=****
password=****
#protocol version 4.4
BeginString=FIX.4.4
#database and compid
SenderCompID=*****
TargetCompID=*****
TargetSubID=******
HeartBtInt=30
StartTime=01:00:00
EndTime=22:00:00
StartDay=Mon
EndDay=Fri
UseLocalTime=Y
ReconnectInterval=20
#data dictionary
UseDataDictionary=Y
DataDictionary=FXService.FXCM.xml
我在注销消息的日志中发现此错误:
MsgSeqNum too low, expecting 12 but received 3
所以我相信错误在于我的重置时间。何时可以安全地重置序列号以及如何操作?