标签: quickfixj

QuickFix/J中"组"和"组件"之间的区别

我是FIX世界的新手.我正在编写一个用Java处理FIX消息的应用程序,为此我正在使用QuickFix/J. 我从主页(http://quickfixengine.org/)下载了DataDictionary .我使用的是4.4版

在xml文件中存在组和组件.但是组件可以再次包含组.

它们之间的确切差异是什么?

谢谢你的帮助!!

quickfix fix-protocol quickfixj

11
推荐指数
1
解决办法
2584
查看次数

如何使用QuickFIX/J发送FIX消息

我需要一个简单的例子来说明如何初始化会话并发送一条FIX消息.我有这个初始代码:

SessionSettings settings = new SessionSettings( new FileInputStream("fix.cfg"));

Application application = new Application(settings);
MessageStoreFactory messageStoreFactory = new FileStoreFactory(settings);
LogFactory logFactory = new ScreenLogFactory( true, true, true);
MessageFactory messageFactory = new DefaultMessageFactory();

Initiator initiator = new SocketInitiator(application, messageStoreFactory, settings, logFactory, messageFactory);
initiator.start();
Run Code Online (Sandbox Code Playgroud)

java fix-protocol quickfixj

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

QuickFIX/J库的Maven存储库

我在最新版本(1.6.0)中使用QuickFIX/J,并且想要询问您是否知道任何Maven存储库要集成到我的pom文件中?我可以手动将jar文件添加到我的本地存储库,但也许有更好,更快的方式.

fix-protocol maven quickfixj

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

QuickFIX/J 旋转.messages.log

除了那篇文章之外,我在网上找不到任何可以很好回答该问题的内容。

有什么方法可以使用 QuickFIX/J 轮换日志文件吗?我正在使用 Log4j 轮换日志文件,但无法轮换 QuickFIX 消息。

多谢

log4j slf4j quickfixj

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

如何在 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
查看次数

QuickFIX/J混合两种不同版本

我正在编写一个使用QuickFIX/J作为FIX框架的应用程序.我的对手向我ExecutionReport发送了FIX版本4.4 的消息但是只有一些字段(Parties组件)是版本5.0

现在我试图实现我可以阅读这个组件.

这个

@Override
public void onMessage(quickfix.fix44.ExecutionReport message, SessionID sessionID)
    throws FieldNotFound, UnsupportedMessageType, IncorrectTagValue {

    quickfix.fix50.component.Parties parties = new Parties();
    message.get(parties);
    // ...
}
Run Code Online (Sandbox Code Playgroud)

不起作用!消息来自版本4.4,这就是为什么message.get(...)只需要quickfix.fix44.component.Parties一个版本5.0而不是版本5.0

如果我试试这个

@Override
public void onMessage(quickfix.fix50.ExecutionReport message, SessionID sessionID)
    throws FieldNotFound, UnsupportedMessageType, IncorrectTagValue {

    // ...
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Exception in thread "pool-2-thread-1" java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    quickfix/fix44/ExecutionReport.get(Lquickfix/field/SettlType;)Lquickfix/field/SettlType; @2: invokevirtual
  Reason:
    Type 'quickfix/field/SettlType' (current frame, stack[1]) is not assignable to 'quickfix/CharField'
  Current Frame: …
Run Code Online (Sandbox Code Playgroud)

java quickfix fix-protocol quickfixj

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

QuickFIX / J CA证书验证

我有一个使用QuickFIX / J编写的与彭博服务器连接的应用程序。最近,彭博社向其服务器添加了CA证书验证,并且它们还提供了用于握手的其他CA证书文件。

我的应用程序使用SSL连接,并且在从Bloomberg端禁用CA证书验证时,应用程序成功连接到服务器并获取消息。启用CA验证时,握手失败。

以下是我尝试的步骤。

  1. 以前,我使用ImportKeyJava类添加证书和密钥。我将其更改为添加多个证书。如果需要,我可以发布Java类。
  2. 当我使用openssl s_client连接到服务器时,它成功连接到服务器。

在应用程序级别需要更改什么吗?组态?还是在Java密钥库级别有什么要做?

在下面添加连接时出现错误消息:

20160823-06:04:15,FIX.4.4:XXXX-> XXXX,错误>(正在断开连接:套接字异常(/XXXX.XXXX.XXX.XX:20237):javax.net.ssl.SSLHandshakeException:SSL握手失败。)成功注销sessionId:FIX.4.4:XXXX-> XXXX

任何帮助表示赞赏!


配置:

[default]
# Settings which apply to all the Sessions.

ConnectionType=initiator
LogonTimeout=86400
ResetOnLogon=Y
UseDataDictionary=Y
MaxLatency=240

#StartTime=00:00:00
#EndTime=00:00:00

#StartTime=02:30:00
#EndTime=12:30:00

StartTime=02:21:00
EndTime=12:21:00

HeartBtInt=30
ReconnectInterval=5

[session]
# Settings specifically for one session
BeginString=FIX.4.4
SocketConnectHost=xxx.xxx.xxx.xxx
SocketUseSSL=Y
SocketKeyStorePassword=importkey
CheckLatency=N

#SendResetSeqNumFlag=Y

# new setups

FileLogHeartbeats=Y
##----- CAPS Configuration ---------##

FileStorePath=/etc/bloomburg-live/msgs
FileLogPath=/etc/bloomburg-live/logs
DataDictionary=/etc/bloomburg-live/conf/FIX44.xml
SocketKeyStore=/root/.keystore
TargetCompID=BLPSTP
SocketConnectPort=xxxxx
SenderCompID=CAPSTP

# log configuration

FileIncludeMilliseconds=Y
FileIncludeTimeStampForMessages=Y
ScreenLogShowHeartBeats=Y       
#Filter heartbeats from output (both incoming and …
Run Code Online (Sandbox Code Playgroud)

java ssl quickfixj

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

获取 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
查看次数

是什么导致 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
查看次数

标签 统计

quickfixj ×10

fix-protocol ×8

quickfix ×6

java ×5

c# ×1

camel-quickfix ×1

log4j ×1

maven ×1

slf4j ×1

ssl ×1