0

我正在从英国运行 DropCopy 会话。

  1. API 要求我在纽约时间下午 5 点之后重置 SeqNum。如何在我的配置中指定这个?请注意我的时间将在伦敦。我可以指定 EST/EDT 吗?

  2. 另外,我对 ResetSeqNumFlag=N 感到困惑。我每天要开关数百次。然而,我的 SeqNum 每天只重置一次。由于我已将此设置为 N,为什么它甚至会重置一次?

如果有人可以解释开始时间结束时间和登录之间的区别 - 我将不胜感激。我想我想在 StartTime NOT Logon 时重置SeqNum(因为我一整天都在反复登录)。如何配置为每天在 StartTime 仅 ResetSeqNum 一次?

    CONFIG
    # default settings for sessions
    [DEFAULT]
    FileStorePath=D:\Production\LOGS\Hs_storeDROP
    FileLogPath=D:\Production\LOGS\Hs_logDROP
    ConnectionType=initiator
    ReconnectInterval=1
    SenderCompID=fixclient
    # session definition
    [SESSION]
    # inherit FileStorePath, FileLogPath, ConnectionType, ReconnectInterval and SenderCompID from default
    BeginString=FIX.4.2
    TargetCompID=FIX-E-FEED
    StartTime=01:00:00
    EndTime=23:59:00
    HeartBtInt=20
    SocketConnectPort=xxxx
    SocketConnectHost=xxxx
    DataDictionary=D:\Production\FIX\HS_FIX42.xml
    ValidateUserDefinedFields=N
    ValidateFieldsHaveValues=N
    UseDataDictionary=Y
    ResetOnLogon=N
    ResetSeqNumFlag=N
    EncryptMethod=0
4

1 回答 1

0

文档中所述,会话有一个名为“TimeZone”的配置设置:

指定用于会话计划的时区 ID。不能与 UseLocalTime 一起使用。提供的 ID 将传递给 TimeZoneInfo.FindSystemTimeZoneById。(请参阅此处了解如何获取系统上的有效 ID 列表。)

使用该设置后,您可以只使用您设置的时区中的时间,这可以是 EST 或 EDT,具体取决于您的需要。

要回答您问题的第二部分,在 FIX 中的会话连接不是一回事。此页面很好地描述了差异:

FIX Connection 由三个部分组成:登录、消息交换和注销。

FIX 会话由一个或多个 FIX 连接组成,这意味着一个 FIX 会话跨越多个登录。

通过重置序列号来定义会话的开始和结束。登录和注销不会更改会话,它只是开始和结束与该会话的连接。这就是您所描述的想要的,并且已经是 FIX 的正常行为。如果您设置ResetOnLogon=Y,那么您将在每次登录时重置序列号。

于 2016-05-19T08:42:04.133 回答