fix-protocol - 在 MULTIPLECHARVALUE 或 MULTIPLESTRINGVALUE 字段中重复相同的值是否合法?
问题描述
假设 FIX 字段的类型为MULTIPLECHARVALUE
or ,并且MULTIPLESTRINGVALUE
为该字段定义的枚举值是A
、B
和。我知道这是该字段的合法值,但是在该字段中重复的值是否合法?例如,合法吗?如果是,它的语义是什么?C
D
"A C D"
"A C C D"
我能想到三种可能:
"A C C D"
是无效值,因为C
重复。"A C C D"
是有效的并且在语义上与 相同"A C D"
。换句话说,集合语义是有意的。"A C C D"
是有效的并且具有多重集/袋语义。
MULTIPLECHARVALUE
不幸的是,我MULTIPLESTRINGVALUE
在 FIX 规范文档中找不到任何关于预期语义的明确定义。
解决方案
FIX50SP2 规范没有回答你的问题,所以我只能得出结论,这三种解释中的任何一种都可以被认为是有效的。
就像 FIX 的问题一样,真正的答案取决于您正在与之交流的交易对手。
所以我的回答是:
- 如果您是客户端应用程序,请询问您的交易对手他们想要什么(或查看他们的文档)。
- 如果您是服务器应用程序,您可以自行决定。您的文档应该告诉您的客户如何采取行动。
如果有帮助,QuickFIX/n 引擎会将 MultipleCharValue/MultipleStringValue 字段视为字符串,并将其留给应用程序代码来解析各个值。因此,开发人员很容易支持任何解释,甚至支持不同领域的不同解释。(我怀疑其他 QuickFIX 语言实现是相同的。)
推荐阅读
- python - Selenium Python Find Elements by XPath 不会返回所有预期的元素
- flutter - 我怎样才能只在模态底部工作表中执行 Navigator.push(不是父页面)
- vispy - 如何使用 vispy 创建图像动画
- html - Bootstrap 登录和注册页面是一样的
- .net - 如何模拟服务层中使用的 SignalR
- liferay - 是否可以将 Web 内容更改记录为审核事件?
- python-3.x - 有没有办法创建一个可以学习和忘记类似于口袋妖怪的动作的功能?
- c# - AddAuthenticationSchemes 使用 OR,有没有办法让它使用 AND?
- r - 使用 dplyr 管道将列中的最小值或最大值等统计信息返回到行中
- python - 如何在 Python 中读取嵌套的结构 Parquet 文件?