QuickFIX - 设置开始时间\结束时间

问题描述 投票:0回答:5

QuickFIX有一个配置文件,您可以在其中设置

StartTime
EndTime
。不幸的是,AFAIK QuickFIX 仅支持 UTC 此配置,而交换通常依赖于时区。这意味着您需要记住每次时钟变化时更新此配置文件。

有没有办法以编程方式设置

StartTime
\
EndTime
参数,而不是通过配置文件?
这样您就可以通过编程方式将时间设置调整为正确的值。

quickfix
5个回答
4
投票

有一种方法可以设置它。您可以按如下方式设置时区:

TimeZone=America/New_York

请参阅配置指南。

奇怪的是,它不在quickfix配置指南中,而出现在quickfixJ指南中。


3
投票

在我们的生产环境中,我们始终使用 UTC 时间。

在 QuickFIX 配置文件中为每个交易对手添加以下行:

使用本地时间=N

请阅读此处的文档: http://www.quickfixengine.org/quickfix/doc/html/configuration.html#Session


1
投票

根据快速修复文档你应该添加

set UseLocalTime=Y

表示StartTime和EndTime以本地时间表示,而不是 世界标准时间。消息中的时间仍将设置为 UTC,因为这是要求的 FIX 规范。


0
投票

我们有一个错误

System.ArgumentException: Only UTC time is supported
Parameter name: oldtime
at QuickFix.SessionSchedule.IsNewSession(DateTime oldtime_utc, DateTime testtime_utc)
at QuickFix.Session.get_IsNewSession()

解决这个问题的唯一方法是删除

store
目录。大概是这样的
session
时间戳


0
投票

您可以在配置文件中使用占位符并以编程方式填充它们。这样您就可以在流程开始时将本地时间转换为 UTC 时间。

© www.soinside.com 2019 - 2024. All rights reserved.