标签: quickfix

Quickfix/n,提取消息类型的最有效方法?

Quickfix/n 1.4 中提取此处定义的消息类型的最有效方法是什么:http : //www.fixprotocol.org/FIXimate3.0/en/FIX.5.0SP2/messages_sorted_by_type.html

我目前使用var msgType = Message.GetMsgType(message.ToString());结果为“A”的登录消息。有没有更好的办法?我尝试确定其中的消息类型ToAdmin(...)以捕获传出的登录请求消息,以便我可以添加用户名和密码。

我很想通过 MessageCracker 来做到这一点,但到目前为止,我还没有找到一种方法来实现捕获所有剩余消息类型,以防我没有实现所有 OnMessage 重载。(请参阅相关问题:Quickfix,是否有“全能”方法 OnMessage 来处理未由重载方法处理的传入消息?)。

谢谢

c# quickfix fix-protocol

6
推荐指数
1
解决办法
4957
查看次数

QuickFix/C++ 中的重复组

我正在编写一个使用快速修复库的程序。文档很差,所以我请求SO研究员的帮助。

我在 Group 类中看到有迭代器。所以我认为有一些类似 STL 的方法来解析重复组。我错了吗?有人可以提供一个简单的例子吗?

预先非常感谢您。

c++ stl quickfix

5
推荐指数
1
解决办法
6153
查看次数

TCP 连接丢失时的预期行为是什么?

我查看了 FIX v4.2 规范,我不清楚当 TCP 连接在会话中间丢失时应该是什么预期行为。

更具体地说,假设当前的序列号是 100 并且此时 TCP 连接丢失,当任何一方尝试恢复会话时,它重新发送消息号 100,或者启动一个新的登录会话?

在描述 FIX 会话时,规范说一个会话有一个登录和一个注销,但可以跨越多个物理连接。这让我认为当 TCP 连接丢失时,恢复过程不应该以登录消息开始,但我对此并不乐观。

提前致谢!

quickfix fix-protocol

5
推荐指数
1
解决办法
4466
查看次数

如何使用 QuickFixJ 将字符串 FIX 消息转换为 FIX FIX50SP2 格式

需要快速帮助。我是 QuickFixJ 的新手。我的 txt 文件中有一条 FIX 消息。我需要将其转换为 FIX50SP2 格式。我附上代码片段。

String fixMsg = "1128=99=25535=X49=CME34=47134052=20100318-03:21:11.36475=20120904268=2279=122=848=336683=607400107=ESU2269=1270=140575271=152273=121014000336=2346=521023=1279=122=848=336683=607401107=ESU2269=1270=140600271=206273=121014000336=2346=681023=210=159";

System.out.println("FixMsg String:"+fixMsg);
Message FIXMessage = new Message();
DataDictionary dd = new DataDictionary("FIX50SP2.xml");
FIXMessage.fromString(fixMsg, dd, false);
System.out.println("FIXMessage Output:" + FIXMessage.toString()); // Print message after parsing
MsgType msgType = new MsgType();
System.out.println(FIXMessage.getField(msgType));
Run Code Online (Sandbox Code Playgroud)

这是输出:

FixMsg String:1128=99=15835=X49=CME34=47164052=2012090312102051175=20120904268=1279=122=848=336683=607745107=ESU2269=1270=140575271=123273=121020000336=2346=501023=110=205
FIXMessage Output:9=6135=X34=47164049=CME52=2012090312102051175=20120904268=110=117
quickfix.FieldNotFound: Field [35] was not found in message.
    at quickfix.FieldMap.getField(FieldMap.java:216)
    at quickfix.FieldMap.getFieldInternal(FieldMap.java:353)
    at quickfix.FieldMap.getField(FieldMap.java:349)
    at MainApp.main(MainApp.java:52)
Run Code Online (Sandbox Code Playgroud)

我想提取 MsgType 字段(字段 35)。你能告诉我我错在哪里吗?我观察到的是,解析为 FIX50SP2 格式后,转换 FIX 消息缺少许多数据元素(有关详细信息,请参阅输出)

谢谢

java quickfix fix-protocol

5
推荐指数
1
解决办法
7045
查看次数

如何在 QuickFixj 中动态地就 SenderCompID 和 TargetCompID 达成一致?

假设我正在运行一个基于网络的交换并且有一个新客户注册。我为该客户提供了一个新的 CompID,现在我想将该 CompID 添加到我的接受方。我是否必须重新启动我的接受器或者可以动态完成吗?

必须提前就 CompID 达成一致,然后将其粘贴到某处的配置中,这似乎不太具有可扩展性。

我见过一些据说可以做到这一点的示例,但它们似乎只是通过将配置设置为*. 还有其他方法可以做到这一点吗?

java quickfix fix-protocol quickfixj

5
推荐指数
2
解决办法
2523
查看次数

QuickFIX/J错误值超出此标记的范围

我已经实现了一个使用QuickFIX/J(版本1.6.0)的Java程序.它从交易对手那里获得一条FIX消息(执行报告),​​其中包含重复的组NoPartyIDs(标签453),其中包含以下值

(Tag 453) NoPartyIDs = 4

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 1

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 66

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 55
(Tag 802) NoPartySubIDs = 1

(Tag 447) PartyIDSource = D
(Tag 448) Party ID = XXX
(Tag 452) PartyRole = 7
Run Code Online (Sandbox Code Playgroud)

消息的这一部分的屏幕截图: 在此输入图像描述

我的程序会自动发送拒绝消息

(Tag 58) Text …
Run Code Online (Sandbox Code Playgroud)

java quickfix fix-protocol quickfixj

5
推荐指数
1
解决办法
2284
查看次数

从快速修复消息中获取字段

我正在使用带有 python 的 quickfix。查看此处的文档页面告诉我们如何获取字段。假设 a message = fix.message(with quickfix as fix) 来自交易对手。我可以通过调用获得 35 (MsgType) 字段

message.getHeader().getField(fix.MsgType())

例如,它返回 35=X.

我的问题是:是否有任何方法可以返回X?或者我是否必须切片所有内容(例如35=X[3:],返回X)并因此知道所有字符串的长度?

python quickfix fix-protocol

5
推荐指数
1
解决办法
4338
查看次数

使用 QuickFIX 获取收到的 FIX 消息的所有现有字段

QuickFIX 是否提供在单个步骤中获取传入 FIX 消息的所有现有字段的可能性?(我为 Python 使用 1.14.3 版。)

根据 QuickFIX 文档,可以通过某种方式获取字段值:

price = quickfix.Price()
field = message.getField(price)
field.getValue()
Run Code Online (Sandbox Code Playgroud)

各种消息类型包含不同的字段,因此对每个字段都这样做会很尴尬。此外,有时不知道消息中是否存在某些字段。如何在不知道消息包含哪些字段的情况下获取消息的所有字段?

python quickfix fix-protocol

5
推荐指数
1
解决办法
1463
查看次数

QuickFIX/n Bloomberg配置

我正在尝试使用QuickFIX/n通过FIX协议(4.4)连接到Bloomberg.

Bloomberg要求使用TLS 1.2协议.我按照说明安装了PFX证书.

我当前的FIX配置文件如下所示:

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=2
FileStorePath=store
FileLogPath=fixlog
StartTime=06:00:00
StartDay=monday
EndTime=22:00:00
EndDay=friday
SocketConnectHost=xxx.xx.xxx.xx
SocketConnectPort=8228

# standard config elements

[SESSION]
BeginString=FIX.4.4
SenderCompID=MY_COMP_ID
TargetCompID=BBG_COMP_ID 
HeartBtInt=60
ValidateFieldsOutOfOrder=N
UseDataDictionary=Y
DataDictionary=FIX_BBG.xml
CheckLatency=N

[SSL]
SSLEnable=Y
SSLProtocols=Tls12
SSLValidateCertificates=Y  
SSLCheckCertificateRevocation=N   
SSLCertificate=C:\Services\FixEngineService\cert\pkcs12\cert.pfx   
SSLCertificatePassword=xxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

当我打开会话时,我立即断开连接.实际上,达到服务器并不是网络问题.布隆伯格告诉我他们有一个"未知协议"的消息.我没有得到任何记录.

你觉得我的配置有问题吗?有没有人成功建立与彭博的quickfix连接?如果是的话,根据您的经验,我的设置可能出现什么问题?

quickfix fix-protocol tls1.2 quickfixn

5
推荐指数
1
解决办法
2325
查看次数

MacOS 上 python 安装失败的快速修复

我正在尝试在 Centos7/Ubuntu16 和 MacOSX 上安装适用于 python 的 QuickFix FIX 引擎模块。我按照http://www.quickfixengine.org/quickfix/doc/html/上的说明进行操作

\n

Centos/Ubuntu 上的安装与 ; 完美配合pip3.6 install quickfix。但是我在 MacOSX Mojave 10.14 上不断收到错误

\n

首先我运行 axcode-select --install来安装命令行工具,然后我brew install gcc.

\n

最后我执行了pip3 install quickfix. 该命令一直失败,并出现很长的错误日志,如下所示:

\n
Collecting quickfix\n  Downloading https://files.pythonhosted.org/packages/62/b0/caf2dfae8779551f6e1d2bc78668d8f5a2303d21311fdd54345722b68cbc/quickfix-1.15.1.tar.gz (1.5MB)\n     |\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88| 1.5MB 8.0MB/s \nBuilding wheels for collected packages: quickfix\n  Building wheel for quickfix (setup.py) ... error\n  ERROR: Command errored out with exit status 1:\n   command: /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c \'import sys, setuptools, tokenize; …
Run Code Online (Sandbox Code Playgroud)

python macos installation quickfix fix-protocol

5
推荐指数
0
解决办法
1513
查看次数

标签 统计

quickfix ×10

fix-protocol ×9

java ×3

python ×3

quickfixj ×2

c# ×1

c++ ×1

installation ×1

macos ×1

quickfixn ×1

stl ×1

tls1.2 ×1