QuickFIX 1.12.4 does not support single day session, i.e. a session that starts and stops on
the same day. For example, the following setting would cause the all of the sessions to be
up all the time. The correct behavior is only one session should be up in the specified day.
The problem is caused by the SessionTime constructor which sets the EndTime to be the
same as StartTime if EndDay equals StartDay and EndTime is greater than StartTime.
-- Not sure why it does this. The fix is simply removing this code snippet.
The patched SessionTime.cpp is attached. It is based on 1.12.4, and also includes the fix
for the weekly long session with the same StartDay/EndDay.
With the fix, it now supports daily sessions with varying StartTime and EndTime.
[SESSION]
SessionQualifier=mo
StartDay=mo
EndDay=mo
StartTime=00:05:00
EndTime=23:55:00
[SESSION]
SessionQualifier=tu
StartDay=tu
EndDay=tu
StartTime=01:05:00
EndTime=22:55:00
[SESSION]
SessionQualifier=we
StartDay=we
EndDay=we
StartTime=00:25:00
EndTime=23:35:00
[SESSION]
SessionQualifier=th
StartDay=th
EndDay=th
StartTime=01:15:00
EndTime=21:55:00
[SESSION]
SessionQualifier=fr
StartDay=fr
EndDay=fr
StartTime=02:05:00
EndTime=22:55:00
Patched on 1.12.4. Fixed problems for single day session with same StartDay/EndDay and week long session with same StartDay/EndDay