问题标签 [quickfixn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

quickfixn - QuickFIX/n: Detect errors

I've implemented an acceptor service using QuickFIX/n, and it seems like whenever any type of error, like a malformed incoming message or bad sequence numbers, occurs, QuickFIX/n hides the message and deals with the error internally.

Is there a way of programmatically detecting these errors without having to look in the logs?

0 投票
1 回答
638 浏览

quickfix - Fix.4.2 协议实现(Fiximulator - Banzai(client)) 消息日志

我正在尝试实现 Fix.4.2 协议,但是我在下面附加的消息日志很难理解。这里 Logon(35=A) 请求是从客户端与 MsgSeqNum(34=1) 一起发送的。然后为了测试 ResendRequest 和 SequenceReset 会话级消息,我发送了一个带有 MsgSeqNum=7 的 NewOrderSingle 请求(而不是 MsgSeqNum=2,因为后续消息应该在登录请求后增加 msgseqnum)。正如预期的那样,MsgSeqNum 太高了,一个 Fiximulator 响应了 ResendRequest(35=2),无法从 2 发送到 0(即从 2 到 7)。这里为什么 Fiximulator 不等待客户的回复?相反,它正在发送心跳消息。为什么客户端发送 ResendRequest 以响应 Fiximulator 的 ResendRequest 而不是发送 SequenceReset 消息?

如果可能,还要解释剩余的情况。

提前致谢。在此处输入图像描述

0 投票
1 回答
1811 浏览

quickfix - QuickFIX 发起程序发送注销请求并且不重新连接

我正在使用 FIX 会话来获取 TradeCaptureReports。建立连接后,我会收到对 TradeCaptureRequest 的响应。登录后,心跳消息正在发送和接收。

但是随后 FIX 发起者发送注销请求并且不重新连接,即使 ReconnectInterval 在会话配置中设置为 1。

事件簿:

我需要保持 QuickFIX 连接并继续发送预定的 TradeCaptureRequests。您有什么想法,什么会导致此注销?


登录请求和响应后的消息日志:

会话配置:

0 投票
1 回答
669 浏览

fix-protocol - 在 QuickFIXn 上重置序列号

我无法使用 quickFIXn 引擎找到这个确切场景的答案。我将在这里设置为发起人,并将为为期一周的会议设置开始日、结束日、开始时间和结束时间。在一周结束时,序列号会被重置,这非常好。现在我需要完成的事情是每天重置消息序列号,保持每周会话继续进行。从我读到现在,在特定时间重置消息序列号的唯一方法是设置开始时间,它会重置,但如果我设置开始日,它只会在开始日重置开始时间,将忽略在其余日期重置序列号。我的问题是,我怎样才能同时拥有一个为期一周的会话并且每天重置消息序列号。

0 投票
2 回答
131 浏览

quickfix - IntelliSense/ReSharper 和自定义 Quickfixn 库生成

我正在开发一个 Quickfix/n 启动器,在同一实例中与多个交易对手一起使用,它们都使用相同版本的 FIX(在此实例中为 4.2),但使用独特的消息传递规范,我想使用 Intellisense/ReSharper 来开发发起人说。

以前我使用 generate.rb 脚本从修改后的 FIX##.xml 文件创建源代码,但想使用 FIX42.DeutcheBank.xml、FIX42.CME.xml、FIX42.Whatever 之类的东西来生成源代码generate.rb ruby​​ 脚本或其修改版本,以便它们可以被 IntelliSense/ReSharper 解析,我遇到了问题,因为它们都使用“FIX.4.2”作为开始字符串,从而导致编译错误。

我知道我可以通过诸如 Tags["BidForwardPointsCME"] 之类的键或与 DataDictionary 类似的键来引用字段/组,但如前所述,我希望能够使用 IntelliSense/ReSharper 并引用消息字段/具有 Quickfix.CounterParty.WhateverField 之类的组并使用相同的 dll。

我已经在互联网上猛烈抨击了 3-4 天的答案,但没有运气 - 我想做的事情可能吗?如果是这样,一个人会怎么做?

提前致格兰特·伯奇迈尔 <:-]

0 投票
2 回答
2262 浏览

c# - 在 QUICKFIX N 中向特定会话发送消息

我最近的任务是为新交易者制作一个基本的交易平台。我正在连接到银行 FIX 4.4 实施。

银行已指定 2 个会话。一个用于报价数据,一个用于交易执行。

我在 c# 中使用 QuickfixN 和编码

我已经设置了我的启动器会话配置,以便在其中包含两个会话。端口不同,目标comp ids 和sender comp ids 不同。我可以连接到两者都很好。我正在努力解决的是如何通过一个会话而不是另一个会话发送我的订单请求。

两个会话都需要 FIX 4.4。默认情况下,它只使用第一个会话。

0 投票
1 回答
650 浏览

c# - 在 C# 中处理来自 Quickfix 的 MassQuote 响应

我正在开发一个带有买/卖按钮和买/卖显示的基本交易平台。

我正在成功发送 MarketDataRequest -> 获得 MassQuote 响应 -> 发回 MassQuoteAcknowledgement 并获取更新。

我只是不知道如何使用 QuickFixn 从响应中获取价格

下面的示例响应

我看到那里的价格,但我不知道如何在我的 c# 应用程序中提取它。

有没有人有这方面的经验可以为我指明正确的方向?我假设我错过了一些如此明显的东西,但我还没有意识到

0 投票
1 回答
46 浏览

c# - 纽约从英国关闭后休息 SeqNum

我正在从英国运行 DropCopy 会话。

  1. API 要求我在纽约时间下午 5 点之后重置 SeqNum。如何在我的配置中指定这个?请注意我的时间将在伦敦。我可以指定 EST/EDT 吗?

  2. 另外,我对 ResetSeqNumFlag=N 感到困惑。我每天要开关数百次。然而,我的 SeqNum 每天只重置一次。由于我已将此设置为 N,为什么它甚至会重置一次?

如果有人可以解释开始时间结束时间和登录之间的区别 - 我将不胜感激。我想我想在 StartTime NOT Logon 时重置SeqNum(因为我一整天都在反复登录)。如何配置为每天在 StartTime 仅 ResetSeqNum 一次?

0 投票
0 回答
199 浏览

login - Quickfix\N 登录前注销

我有一个快速修复服务,一些客户在早上连接。一切正常,除了一个原因:早上的第一条连接消息(35 = A)被拒绝:

8=FIX.4.49=74 35=5 34=1 49=xxxFIXMDFServer 52=20160520 12:40:02.882 56=CLIENTyyy 10=106

然后,在下一次尝试登录时,一切正常:

8=FIX.4.4 9=88 35=A 34=2 49=CLIENTyyy 52=20160520-12:40:02 56=xxxFIXMDFServer 98=0 108=30 141=N 10=231

8=FIX.4.4 9=86 35=A 34=1 49=xxxFIXMDFServer 52=20160520-12:40:03.163 56=CLIENTyyy 98=0 108=30 10=139

除了:

  • 所有序列号在夜间重置为 1

  • 即使在日志中看不到,也会在断开连接消息(35=5)之前发送 35=A,34=1 消息

  • 登录后,即使客户端在晚上断开连接,一切正常。

有任何想法吗?也许是 quickfix 库中的错误?

谢谢!

0 投票
1 回答
529 浏览

c# - 如何重新排列 FIX 消息中的标签?

我将我的修复市场数据请求消息发送为:

在此,我遵循了 35=V 的顺序,如下所示:

我想重新排列我的消息序列,如下所示:

我正在使用 Quickfix DLL。