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