首页 文章

在quickfix中重置序列号

提问于
浏览
1

我正在与一个经纪人合作,该经纪人告诉我不要在登录时重置序列号,除非在本周初 . 但是,如果序列号没有出现问题,我应该在登录消息中使用标记141来请求序列号重置 . 显然我可以检查被拒绝的登录因为序列号被拒绝而被拒绝,并在onlogon中设置标签,但是如何告诉quickfix它需要重置它的序列号?这是一个难以测试的功能,因为连接问题使得序列号不会经常发生 .

我使用的是Quickfix的C版本 .

1 回答

  • 1

    您可以在 LOGOUT 消息中监视正确的消息 . 如果它像"msgseqnum too low"那样设置一个标志来重置下一个 LOGON 消息 . 这是来自 FIX::Application::fromAdmin 实现 .

    然后在 FIX::Application::toAdmin 实现中检查消息是否为 LOGON 并且设置了重置标志 . 如果是,请查找您的会话( FIX::Session::lookupSession )并调用 setNextSenderMsgSeqNum(1)setNextTargetMsgSeqNum(1) . 同时重置你的旗帜:)

相关问题