{{Quickfixn}} Message ret

Mahlatse Mabotja mmabotja at aospartner.com
Mon Dec 14 23:55:46 PST 2015


Mike,

 

Brilliant explanation.  That is a far better illumination of the session-time

topic in FIX than I have seen elsewhere.  This should absolutely be part

of the standard documentation (for any implementation).

 

Obviously option #3 is far and away the best option (at least for me)!

 

Thanks Much,

Jeff

 

From: Quickfixn [mailto:quickfixn-bounces at lists.quickfixn.com] On Behalf Of Mike Gatny
Sent: Wednesday, October 14, 2015 10:34 AM
To: Mailing list for QuickFIX/n
Subject: Re: {{Quickfixn}} Is quickfixn resetting msg to 1 at EndTime automatically?

 

On Tue, Oct 13, 2015 at 8:24 PM, Jeff S. <jeff at alphafinhk.com> wrote:

a)      do I need to set StartTime and StartDay or can they be omitted?

 

Yes, you must specify StartTime and StartDay.  

 

b)      Not sure I understand the documentation regarding the correct TimeZone setting.  For EST would 

it be UTC-4 (Do I put “UTC-4” or “America/New_York”)

On Windows platforms, you would use "Eastern Standard Time" and on Mono platforms you would use "US/Eastern".  But there's one more method that we haven't discussed yet (UseLocalTime=Y), see below...

 

c)       You mention that all times are normalized to UTC.  I assume this means that I would leave the TimeZone

setting the same regardless of where my server was running in the world.

Would that be a correct assumption?

StartTime/EndTime are interpreted as UTC unless you specify the TimeZone option or the UseLocalTime option.  So, yes, if you specify TimeZone explicitly, it does not matter at all what timezone your operating system's clock is using. 

 

But read on... 

 

d)      Will I have to adjust this for daylight saving time twice a year?

It depends :) Let me summarize the options you have:

 

1) Don't use the TimeZone and UseLocalTime options, and specify StartTime/EndTime in UTC.  If your counterparty observes DST you'll have to adjust your config twice per year.

 

2) Don't use the TimeZone option.  Instead, set UseLocalTime=Y.  Set your server's clock to use your home timezone.  Set the StartTime/EndTime in your local time (converted from the Eastern Time your counterparty specified).  If you and your counterparty both begin/end DST at the same time, no twice-yearly adjustment needed. Otherwise, twice-yearly adjustment is needed.

 

3) Set the TimeZone option to your counterparty's timezone, and use the times they gave you for StartTime/EndTime.  Don't use the UseLocalTime option.  No DST adjustment is necessary.

 

4) Don't use TimeZone, instead set UseLocalTime=Y, set your server's clock to *your counterparty's timezone*.  Set the StartTime/EndTime in your counterparty's time.  No DST adjustment necessary.

 

Methods #1 and #2 are undesirable because DST can be a factor.  Methods #3 and #4 are simpler, with #4 being simplest of all... unless you connect to multiple counterparties in multiple timezones.  If that is the case, prefer Method #3.  If you only have one counterparty, or if all your counterparties are in the same timezone, you can use Method #4.

 

p.s. Note that the "Eastern Standard Time" timezone ID on Windows is a somewhat unfortunate name.  It is confusing because during observance of daylight saving time, one would normally refer to eastern time as "Eastern Daylight Time". This timezone ID on Windows will in fact observe daylight saving time (which is good!), despite the name.  

 

--

Mike Gatny
Connamara Systems, LLC

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20151014/b13a20d9/attachment-0002.htm>


More information about the Quickfixn mailing list