标签: quickfix

如何以人类可读的格式记录 QuickFix 消息

我想以标记名、值等解析模式记录 QuickFix 消息

我找不到现有的功能。我正在使用 QuickFix.Net。

我正在考虑提供某种方法来遍历所有呈现的标签并使用数据字典解析它们。

c# quickfix

4
推荐指数
2
解决办法
6476
查看次数

quickfix/n 错误:MsgSeqNum 太高

我从这个“ http://www.quickfixn.org/download ”站点使用“QuickFIX/n is v1.4.0”创建了一个修复应用程序。当我执行一个应用程序时,我随机得到序列号错误。有时应用程序运行良好,有时出现序列号问题。日志详细信息如下:

20130828-10:28:30.468 : Created session 

20130828-10:28:31.328 :> FIX.4.4:Server->Client Socket Reader 7995840 accepting session >FIX.4.4:Server->Client from 192.168.1.*:7356

20130828-10:28:31.328 :> FIX.4.4:Server->Client Acceptor heartbeat set to 0 seconds

20130828-10:28:31.578 : Received logon 

20130828-10:28:31.625 :> Responding to logon request 

20130828-10:30:28.968 : Created session

20130828-10:30:29.796 : FIX.4.4:Server->Client Socket Reader 36610825 accepting session FIX.4.4:Server->Client from 192.168.1.*:7364

20130828-10:30:29.796 : FIX.4.4:Server->Client Acceptor heartbeat set to 0 seconds 

20130828-10:30:30.625 : Verify failed: MsgSeqNum too low,expecting 94 but received 44 

20130828-10:30:30.625 : Session FIX.4.4:Server->Client disconnecting: Verify …
Run Code Online (Sandbox Code Playgroud)

c# quickfix

4
推荐指数
1
解决办法
5750
查看次数

QuickFIXJ 登录问题

QuickFixJ 出现问题。问题是我无法正确发送登录消息。此外,我很难理解如何设置消息流。我并不是要执行交易,只是检索市场数据。

错误:

20140123-22:55:56: No responder, not sending message:  
Run Code Online (Sandbox Code Playgroud)

这是我的所有详细信息:

传入:猫传入/*

8=FIXT.1.19=11035=A34=149=REDACTED-MD52=20140123-22:55:56.37256=NDXMD98=0108=30141=Y553=REDACTED100554=REDACTED1137=910=231?220140123-22:55:56.470
Run Code Online (Sandbox Code Playgroud)

传出:

20140123-22:55:50: Session FIXT.1.1:REDACTED-MD->NDXMD schedule is weekly, SUN 00:00:00-UTC - FRI 00:00:00-UTC
20140123-22:55:50: Created session: FIXT.1.1:REDACTED-MD->NDXMD
20140123-22:55:53: Initiated logon request
20140123-22:55:56: No responder, not sending message: 8=FIXT.1.19=11035=A34=149=REDACTED-MD52=20140123-22:55:56.37256=NDXMD98=0108=30141=Y553=REDACTED100554=REDACTED1137=910=231
8=FIXT.1.19=8135=A34=149=REDACTED-MD52=20140123-22:55:52.64356=NDXMD98=0108=30141=Y1137=910=114
8=FIXT.1.19=8335=549=NDXMD56=REDACTED-MD52=20140123-22:55:53.75134=158=Missing field. Type 55310=054
8=FIXT.1.19=11035=A34=149=REDACTED-MD52=20140123-22:55:56.37256=NDXMD98=0108=30141=Y553=REDACTED100554=REDACTED1137=910=231
Run Code Online (Sandbox Code Playgroud)

我的标准输出是:J

an 23, 2014 10:55:37 PM REDACTED.REDACTEDMain main
INFO: REDACTED startup
Jan 23, 2014 10:55:49 PM quickfix.SessionSchedule <init>
INFO: [FIXT.1.1:REDACTEDB-MD->NDXMD] weekly, SUN 00:00:00-UTC - FRI 00:00:00-UTC
Successfully called onCreate for sessionId : FIXT.1.1:REDACTEDB-MD->NDXMD
Jan 23, …
Run Code Online (Sandbox Code Playgroud)

java quickfix financial fix-protocol hft

4
推荐指数
1
解决办法
1万
查看次数

更改 FIX 消息中字段的顺序

我使用 QuickFix/n 启动器。我的经纪人拒绝了我的登录消息,理由是消息标题中的字段(标签)顺序错误。顺序应该是 49、56、34、52,而不是 34、49、52、56。

QuickFix/n 似乎在将消息发送到会话时自动按标签号对消息的三个区域(标题、正文、尾部)内的各个字段进行排序。

有没有办法改变发送给接受者的消息中字段的顺序?有没有办法防止排序行为?(向消息添加组或更改数据字典不起作用。)

或者,如果 QuickFix/n 无法做到这一点,是否有 FIX 引擎允许更改消息中字段的顺序?

quickfix fix-protocol

4
推荐指数
1
解决办法
6144
查看次数

获取 QuickFix/n 的会话属性(用户名和密码)

我已将我的用户名和密码放在 FIX 配置文件中。所以我必须认为我应该能够从一些内部变量中获取用户名和密码,比如 session 变量或 SessionSetting 变量或 session.SessionDataDictionary 或其他一些变量。但是,我没有找到任何直接的解决方案来从内部变量中获取用户名和密码。

[SESSION]
BeginString=FIX.4.4
SenderCompID= xxxxx
Username= xxxx
Password= xxxx
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,这可能是非常可行的。但是,没有人建议这样做,或者我没有看到有人在谷歌上这样做。我从谷歌找到的唯一代码是这个。

String username = sessionSettings.getString(sessionId, "Username"); //only works for Java version of QuickFix
Run Code Online (Sandbox Code Playgroud)

然而,以上代码仅适用于 Java 版本的 QuickFix,并且此方法在 QuickFix 的 DotNet 版本(即 QuickFix/n)中不可用

getString(sessionId, "Username"); 
Run Code Online (Sandbox Code Playgroud)

我希望使用 QuickFix/n 为 FIX 4.4 实现类似的结果。如果有人熟悉 QuickFix,这可能是一项非常简单的任务。我将非常感谢您的提示或建议。我不介意你对 Java 或 C++ 版本有什么想法,因为它们都非常相似。我只需要知道这个用户名和密码存储在哪个变量中,以及如何使用 Csharp 代码获取它。

提前致谢。

c# quickfix fix-protocol quickfixj

4
推荐指数
1
解决办法
4076
查看次数

Python - 快速修复:尝试登录时 getHeader() 属性错误

我正在使用 Quickfix,并修改了 toAdmin 函数以将用户名和密码插入登录消息中。我根据 C++ 指令改编了代码,但遇到了奇怪的 getHeader() 属性错误。

回溯如下:

<20151223-10:48:31.142, FIX.4.2:MATHCLIENT1->CSTEST, event>
  (Created session)
Type 1 for order , 2 to exit and d to debug.
<20151223-10:48:31.149, FIX.4.2:CLIENT1->TEST, event>
  (Connecting to hostX on port Y)

Traceback (most recent call last):
  File "initiator.py", line 28, in toAdmin
    message.getHeader ().getField (msgType)
  File "C:\Users\user\Anaconda\lib\site-packages\quickfix.py", line 27015, in <lambda>
    __getattr__ = lambda self, name: _swig_getattr(self, SessionID, name)
  File "C:\Users\user\Anaconda\lib\site-packages\quickfix.py", line 57, in _swig_getattr
    raise AttributeError(name)
AttributeError: getHeader
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

import sys
import time
import thread …
Run Code Online (Sandbox Code Playgroud)

python quickfix python-2.7

4
推荐指数
1
解决办法
1522
查看次数

如何开始使用 QuickFix 库

我已经给出了一个使用c++和quickFix库开发算法交易系统的项目,我在谷歌上搜索了quickFix库,但没有找到任何有用的信息。谁能给我一些信息,我应该从哪里开始?

c++ algorithmic-trading quickfix

4
推荐指数
1
解决办法
2507
查看次数

Quickfix 58=有条件的必填字段缺失

如果我尝试更换或取消订单,我会收到一条消息 58=Conditionally Required Field Missing ,下一条消息包含 58=Invalid MsgType 以下日志:

换单(tgFZctx200U61是我这边的,FG是换的。):

20170203-15:44:04.225 : 8=FIX.4.49=15135=G34=349=tgFZctx200U6152=20170203-15:44:04.22556=FG1=U6111=270071221=138=240=241=2700744=11640054=155=RTS-3.1760=20170203-18:44:04.20510=028
20170203-15:44:04.225 : 8=FIX.4.49=23235=849=FG56=tgFZctx200U6134=352=20170203-15:43:56.98137=572984433198=F:572984433526=$01$11=270071241=2700717=exec-201702031001027616150=E39=E55=RTS-3.17461=FXXXXX54=138=140=2151=114=06=060=19700101-00:00:00.00010=213
20170203-15:44:04.275 : 8=FIX.4.49=11535=j34=449=tgFZctx200U6152=20170203-15:44:04.27556=FG45=358=Conditionally Required Field Missing372=8380=510=065
20170203-15:44:04.275 : 8=FIX.4.49=33335=849=FG56=tgFZctx200U6134=452=20170203-15:43:56.98237=572984753198=F:572984753526=$01$11=270071241=27007453=1448=tgFZctx200U61447=C452=317=3355471052150=539=01=FZ00U6155=RTS-3.1754=138=240=244=116400.00000336=9291151=214=06=060=20170203-15:43:56.98920008=-922337203685372211120018=[51000-3355471052-0]10=100
20170203-15:44:04.285 : 8=FIX.4.49=10335=349=FG56=tgFZctx200U6134=552=20170203-15:43:57.03345=4371=372373=1158=Invalid MsgType372=810=164
Run Code Online (Sandbox Code Playgroud)

取消订单:

20170203-15:26:19.178 : 8=FIX.4.49=15435=F34=349=tgFZctx200U6152=20170203-15:26:19.17856=FG11=270061237=57286383038=141=2700644=116470.0000054=155=RTS-3.1760=20170203-18:26:19.17810=013
20170203-15:26:19.188 : 8=FIX.4.49=20735=849=FG56=tgFZctx200U6134=352=20170203-15:26:11.92437=572863830198=F:572863830526=$01$11=270061241=2700617=exec-201702031001027615150=639=655=RTS-3.17461=FXXXXX54=138=140=2151=114=06=010=239
20170203-15:26:19.418 : 8=FIX.4.49=11535=j34=449=tgFZctx200U6152=20170203-15:26:19.41856=FG45=358=Conditionally Required Field Missing372=8380=510=070
20170203-15:26:19.418 : 8=FIX.4.49=33335=849=FG56=tgFZctx200U6134=452=20170203-15:26:11.92437=572863830198=F:572863830526=$01$11=270061241=27006453=1448=tgFZctx200U61447=C452=317=3354681208150=439=41=FZ00U6155=RTS-3.1754=138=140=244=116470.00000336=9291151=014=06=060=20170203-15:26:11.93120008=-922337203685267353520018=[51000-3354681208-0]10=080
20170203-15:26:19.418 : 8=FIX.4.49=10335=349=FG56=tgFZctx200U6134=552=20170203-15:26:12.16445=4371=372373=1158=Invalid MsgType372=810=161
Run Code Online (Sandbox Code Playgroud)

最好的问候,米哈伊尔

quickfix

4
推荐指数
2
解决办法
2923
查看次数

使用 stunnel 建立与 DUKASCOPY 的连接

寻找一些帮助,通过 FIX4.4 协议使用 stunnel 和 quickfix python 与我的经纪人 DUKASCOPY 建立连接。

这是我的 stunnel 配置:

client = yes
cert = /etc/stunnel/stunnel.pem

[OKSERVER]
accept = 9443
connect = demo-api.dukascopy.com:10443
Run Code Online (Sandbox Code Playgroud)

我的 quickfix cfg 文件:

[DEFAULT]
ConnectionType=initiator
LogonTimeout=30
ReconnectInterval=30
ResetOnLogon=Y
FileLogPath=./Logs/

[SESSION]
BeginString=FIX.4.4
SenderCompID=SENDER_ID # replaced with anonymous value for this post
TargetCompID=TARGET_ID # replaced with anonymous value for this post
StartTime=00:00:00
EndTime=00:00:00
HeartBtInt=30
CheckLatency=N
MaxLatency=240
SocketConnectPort=10443
SocketConnectHost=demo-api.dukascopy.com
UseDataDictionary=Y
DataDictionary=/home/jaspal/qfsample/quickfix/spec/FIX44.xml
FileStorePath=./Sessions/
Run Code Online (Sandbox Code Playgroud)

当我尝试登录时,我得到:

20181002-22:26:23.972817000 : Created session
20181002-22:26:23.978505000 : Connecting to demo-api.dukascopy.com on port 10443 (Source …
Run Code Online (Sandbox Code Playgroud)

python quickfix stunnel fix-protocol

4
推荐指数
1
解决办法
699
查看次数

是什么导致 QuickFIX/J 中出现“Disconnecting: E​​ncountered END_OF_STREAM”会话消息?

我在Apache Camel 2.17.0 中使用QuickFIX/J版本 1.6.4并且我收到会话消息。这不是错误,但在我的情况下,它会导致无意的LogoffDisconnecting: Encountered END_OF_STREAM

什么情况会导致此消息,我如何分析我的案例中的哪种情况是原因?

quickfix fix-protocol quickfixj camel-quickfix

4
推荐指数
2
解决办法
2097
查看次数