I'm trying to understand the StartTime and EndTime setting in the QuickFIX config file. I'm using QuickFIX .Net to implement a buy side FIX client, set as a initiator.
By default , both StartTime and EndTime set to 00:00:00
So every time my program run (it calls initiator.start()) , it auto send Logon message to server. No problem.
And then I play around the StartTime and EndTime setting. Not much details about it in the QuickFIX doc. I suppose when I run the program , and application will send Logon message at StartTime, and Logout at EndTime isn't it?
So I set the StartTime and EndTime to say 10:00 and 11:00
I started the program at 09:50, the program just created the session and doesn't send Logon message. Make sense. Then at 10:00, nothing happened...
Next trial I started the program at 10:50, the program created the session and logon as usual. Than at 11:00 , nothing happened again. I suppose it will auto logout...
So my question is how are StartTime and EndTime supposed to affect my program?
From the docs:
ID: StartTime
ID: EndTime
So, yes, you have it roughly right. At StartTime
, your app will attempt to log on. At EndTime
, it will logoff. Between those times, it will continually try to reconnect.
Not mentioned is that this time window determines when your sequence numbers will reset. At StartTime
, the engine will reset sequence numbers back to 0. For this reason, it's vitally important that your StartTime/EndTime be in sync with your counterparty.
Found out the old QuickFix/n library have bug on the UseLocalTime setting. I rebuilt my program with the latest v1.5 it works as expected.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With