我正在与经纪人合作,该经纪人告诉我不要在登录时重置序列号,除非在本周初。 但是,如果序列号没有出现问题,我应该在登录消息中使用标记141来请求序列号重置。显然我可以检查被拒绝的登录因为序列号被拒绝而被拒绝,并在onlogon中设置标签,但是如何告诉quickfix它需要重置它的序列号?这是一个难以测试的功能,因为连接问题使得序列号不会经常发生。
我正在使用Quickfix的C ++版本。
答案 0 :(得分:1)
您可以在LOGOUT
消息中监控正确的消息。如果它类似于" msgseqnum太低"设置一个标志以重置下一个LOGON
消息。这来自FIX::Application::fromAdmin
实施。
然后在FIX::Application::toAdmin
实施中检查消息是否为LOGON
并且设置了重置标志。如果是,请查找您的会话(FIX::Session::lookupSession
)并致电setNextSenderMsgSeqNum(1)
和setNextTargetMsgSeqNum(1)
。同时重置你的旗帜:)