问题标签 [fix-protocol]

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 投票
0 回答
1545 浏览

quickfix - 为什么 initator 似乎缺少登录响应并且无法建立稳定的会话?

我今天的 FIX 发起者在默认时间没有收到任何消息,并将 TEST 消息发送到 Acceptor 以测试会话是否处于活动状态,并且没有收到 HEARTBEAT 响应,因此它认为会话已损坏,然后断开会话并启动 LOGON请求,虽然没有从接受者那里得到登录响应,但 acceport 似乎已经发送了响应。可能是什么问题呢。我正在使用 QuickFIXJ 和 FIX 4.2

以下是事件日志:

启动器事件日志:

接受者事件日志:

发起者消息日志

接受者消息日志:

消息日志显示客户端登录频繁,为什么?

0 投票
4 回答
1852 浏览

java - desiging a FIX message encoder and decoder

I am trying to design a simple FIX message encoder and decoder to encode (convert to FIX) and decode (convert from FIX) my business domain Order objects. I have designed something, but I am not able to achieve the beautiful design I want. Wanted to see if others who have experience building this kind of things have any better design ideas.

This is what I roughly have: a business Object Order, QuickFIX object Message. I need to generate NewOrder/Cancel/Replace messages and the message could be different for different exchanges. I can have ReplaceEncoder --> NewOrderEncoder --> AbstractEncoder, CancelEncoder --> AbstractEncoder. But if I want another dimension to this, like having custom message generation for different exchanges, then it results in too many combinations of hierarchies.

Is my only bet is to mundanely write different code for different exchanges? How others achieve this? Thanks.

0 投票
2 回答
888 浏览

fix-protocol - 什么是“NoMDEntries”?

在 FAST 增量更新消息中,我找到了“NoMDEntries”字段。它的描述是“市场数据消息中的条目数”。

它是什么?我应该如何使用这个字段?

0 投票
2 回答
2941 浏览

php - 在 PHP 中计算模 256 校验和

我已经搜索过 Stackoverflow,不幸的是什么也没找到。我正在使用 FIX 协议,我需要生成一个模 256 校验和,如http://fixwiki.fixprotocol.org/fixwiki/CheckSum中所述。

使用 FIX 字符串:

8=FIX.4.2|9=42|35=0|49=A|56=B|34=12|52=20100304-07:59:30

它应该返回:

8=FIX.4.2|9=42|35=0|49=A|56=B|34=12|52=20100304-07:59:30|10=185|

但是我的脚本返回:

8=FIX.4.2|9=42|35=0|49=A|56=B|34=12|52=20100304-07:59:30|10=199|

如果有人能指出我正确的方向,我将不胜感激!

0 投票
2 回答
3934 浏览

java - java.lang.Error:无效的 UTF-8 编码

我在尝试通过我的交易应用程序处理交易以及与 FIX 通信时收到此错误。

我使用 UTF-8 编码,它已在我的应用程序的每个 POM 文件中指定。当交易进入应用程序时就会发生这种情况。有没有人遇到过这个错误?

0 投票
1 回答
1396 浏览

java - 为什么使用 quickfix 的 FIX 字段为空?

我是 FIX 的新手。我有一条 FIX 消息:

我正在使用 quickfixJ。这是我的课程代码:

当我调用此方法时,我 2012 null 我尝试了针对不同字段的各种方法,但我得到了 null。我很困惑为什么我没有得到 null 的日期以及如何让它正确解释其他字段?

我不明白在哪里将我拥有的字符串(顶部)输入到消息中

0 投票
1 回答
7087 浏览

quickfix - 在 FIX 字典中添加用户定义的字段

我需要在 FIX4.4 字典中添加/修改字段。我还没有找到任何有用的文档或教程。

我猜我必须修改 FIX44.xml 文件,但我不确定该怎么做。在<message></message>标签中,我看不到任何定义该字段的数字或类型(格式)的属性。我只看到nameandrequired属性。

<fields></fields>我想我找到了我在标签中寻找的属性。

我不确定我是否在寻找正确的地方或者我是否在做正确的事情,但根据这个我应该在必要时修改字典。

请帮忙。一个可以帮助我的初学者教程的链接也将不胜感激。

0 投票
1 回答
159 浏览

fix-protocol - FIX 协议:ClearingBusinessDate 字段

我对 FIX 协议有疑问。我计划在没有收到 PositionReportRequest 消息的情况下发送 PositionReport 消息。但是我必须在 PositionReport 消息中填写一个字段 ClearingBusinessDate,我不知道该字段的用途是什么。尽管 PositionReportRequest 具有该字段,但在发送报告消息之前我不会收到请求消息。所以,我不知道它应该是什么。最糟糕的是它是一个必填字段。 ClearingBusinessDate 字段的值应该是多少?

谢谢

0 投票
1 回答
4090 浏览

pcap - tshark 导出 FIX 消息

目标

我正在努力实现以下目标:

  • 捕获包含FIX 协议中的对话的网络流量
  • 将网络流量中的单个 FIX 消息提取为“好”格式,例如 CSV
  • 对导出的“nice”格式数据做一些数据分析

我通过以下方式实现了这一目标:

  • 使用 pcap 捕获网络流量
  • 使用 tshark 将相关数据打印为 CSV
  • 使用 Python (pandas) 分析数据

问题

问题是一些捕获的 TCP 数据包包含多个 FIX 消息,这意味着当我使用 tshark 导出到 CSV 时,我没有每行收到一条 FIX 消息。这使得使用 CSV 变得困难。

这是我用来提取相关 FIX 字段的 tshark 命令行,因为 CSV 是:

请注意,如果数据包中出现多个字段,我目前使用“-Eoccurrence=l”来获取命名字段的最后一次出现。这不是一个可接受的解决方案,因为当数据包中有多个 FIX 消息时,信息将被丢弃。

这是我希望在导出的 CSV 文件中每行看到的内容(来自一条 FIX 消息的字段):

这是我在 TCP 数据包中有多个 FIX 消息(这种情况下是三个)并且使用命令行标志“-Eoccurrence=a”时看到的:

问题

有没有办法(不一定使用 tshark)从 pcap 文件中提取每个单独的协议特定消息?

0 投票
1 回答
1779 浏览

java - 如何从 quickfixj FIX.4.2 执行报告中检索标签值

我想通过检索每个标签的值将fix4.2消息持久化到数据库。我有修复消息的ExecutionReport对象。我正在使用exec.getString(1)检索帐户的标记值,并且该标记值不存在于消息中,因此它会引发 FieldNotFound 异常。在 Fiximate 中,我发现 account 不是必填字段。

我也尝试过exec.getAccount().getValue()但遇到了同样的异常。我发现所有这些方法都会引发 FieldNotFound 异常。

如果修复消息中不存在该非强制性字段,是否有任何方法可以将标记值检索为null 。

任何帮助将不胜感激。

提前致谢。

问候,沙达布