quickfix-developers Mailing List for QuickFIX (Page 31)
Brought to you by:
orenmnero
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
(5) |
Mar
(16) |
Apr
(15) |
May
(17) |
Jun
(33) |
Jul
(35) |
Aug
(34) |
Sep
(19) |
Oct
(40) |
Nov
(51) |
Dec
(43) |
2003 |
Jan
(45) |
Feb
(79) |
Mar
(124) |
Apr
(121) |
May
(132) |
Jun
(77) |
Jul
(110) |
Aug
(57) |
Sep
(48) |
Oct
(83) |
Nov
(60) |
Dec
(40) |
2004 |
Jan
(67) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(70) |
Jun
(96) |
Jul
(75) |
Aug
(147) |
Sep
(128) |
Oct
(83) |
Nov
(67) |
Dec
(42) |
2005 |
Jan
(110) |
Feb
(84) |
Mar
(68) |
Apr
(55) |
May
(51) |
Jun
(192) |
Jul
(111) |
Aug
(100) |
Sep
(79) |
Oct
(127) |
Nov
(73) |
Dec
(112) |
2006 |
Jan
(95) |
Feb
(120) |
Mar
(138) |
Apr
(127) |
May
(124) |
Jun
(97) |
Jul
(103) |
Aug
(88) |
Sep
(138) |
Oct
(91) |
Nov
(112) |
Dec
(57) |
2007 |
Jan
(55) |
Feb
(35) |
Mar
(56) |
Apr
(16) |
May
(20) |
Jun
(77) |
Jul
(43) |
Aug
(47) |
Sep
(29) |
Oct
(54) |
Nov
(39) |
Dec
(40) |
2008 |
Jan
(69) |
Feb
(79) |
Mar
(122) |
Apr
(106) |
May
(114) |
Jun
(76) |
Jul
(83) |
Aug
(71) |
Sep
(53) |
Oct
(75) |
Nov
(54) |
Dec
(43) |
2009 |
Jan
(32) |
Feb
(31) |
Mar
(64) |
Apr
(48) |
May
(38) |
Jun
(43) |
Jul
(35) |
Aug
(15) |
Sep
(52) |
Oct
(62) |
Nov
(62) |
Dec
(21) |
2010 |
Jan
(44) |
Feb
(10) |
Mar
(47) |
Apr
(22) |
May
(5) |
Jun
(54) |
Jul
(19) |
Aug
(54) |
Sep
(16) |
Oct
(15) |
Nov
(7) |
Dec
(8) |
2011 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(41) |
Jun
(40) |
Jul
(29) |
Aug
(17) |
Sep
(12) |
Oct
(23) |
Nov
(22) |
Dec
(11) |
2012 |
Jan
(8) |
Feb
(24) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
(5) |
Sep
(2) |
Oct
(9) |
Nov
(2) |
Dec
(18) |
2013 |
Jan
(25) |
Feb
(16) |
Mar
(8) |
Apr
(2) |
May
(16) |
Jun
(17) |
Jul
(2) |
Aug
(13) |
Sep
(3) |
Oct
(4) |
Nov
(1) |
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
(22) |
Apr
(9) |
May
(3) |
Jun
(1) |
Jul
(5) |
Aug
(11) |
Sep
(18) |
Oct
(4) |
Nov
(4) |
Dec
(3) |
2015 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(37) |
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(4) |
Dec
(2) |
2016 |
Jan
(9) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(16) |
Dec
|
2017 |
Jan
(1) |
Feb
(15) |
Mar
(2) |
Apr
(12) |
May
(4) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(23) |
Dec
(8) |
2018 |
Jan
(2) |
Feb
(4) |
Mar
(2) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
2020 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Scott K. <sc...@la...> - 2011-01-18 22:37:32
|
Sorry for the spam... one last thing. Do people use the lastest svn build of quickfix? Has anyone found, like me, that the posted 1.13.3 release has a number of bugs? Does anyone know if the posted 1.13.3 release is actually updated from time to time with patches as they become available? I am judging whether I should upgrade to the latest subversion, or if I should continue to fix these bugs by hacking the source... Scott |
From: Scott K. <sc...@la...> - 2011-01-18 22:35:46
|
Found the bug id... http://sourceforge.net/tracker/?func=detail&aid=3024822&group_id=37535&atid=1126912 seems to be fixed now... perhaps I should upgrade... On Tue, Jan 18, 2011 at 5:20 PM, Scott Kathrein <sc...@la...>wrote: > I find that this setting doesn't work when UseDataDictionary=N > > Tracing through the code, I see that the three Validate settings (* > ValidateFieldsOutOfOrder, **ValidateFieldsHaveValues, ** > ValidateUserDefinedFields)* are not even checked at all when > UseDataDictionary is false. In the code, I see that a default constructed > "DataDictionary emptyDataDictionary;" is used from DataDictionaryProvider, > which has > > bool m_checkFieldsOutOfOrder; > bool m_checkFieldsHaveValues; > bool m_checkUserDefinedFields; > > all set to true, and this empty data dictionary is used to do validation on > the message. Of course, I do not want any validation to be done on the > message(!), beyond the basics. Is this a known bug? > > I love quickfix and I think it's beautifully constructed. I've already > commandeered its HTTP server for my own front end to my application, and I > plan to do other things with the logging as well! Be nice if some of these > things were better tested.. maybe I can do my part here.. > > Scott > |
From: Matthew B. <tex...@gm...> - 2011-01-17 04:53:02
|
Does anyone have any experience getting through the CMEs AutoCert+ question regarding "Respond to Resend Request?" They ask for the following scenario: 1. Submit a Limit Order 2. Submit another Limit Order 3. Receive and Process a Resend Request Message 4. Submit a Sequence Reset - Gap Fill Message or resend Limit Day Orders 5. Submit a Heartbeat Message ... After the CME sends a Resend Request Message and quickfix responds with a gap fill the merc sends another resend request message (which isn't part of their script). When responding to that they complain of sequence numbers being out of sequence and hang up on me. After pointing this our to them they tell me I need to ignore the second resend request (really, they told me to ignore some FIX messages) . How can I do that? Is there another way to get through this part of certification? I have SendRedundantResendRequests=N |
From: H. S. <st...@un...> - 2011-01-15 17:40:58
|
Guys, I am trying to modify the UTCTimeStamp parser. The reason is a trading partner that sends a custom format in tag 60. I therefore modified the code in FieldConverter.h in the function: static UtcTimeStamp convert( const std::string& value, bool calculateDays = false ) but the message gets still rejected. Are there any other places that I need to modify in order to accept custom values in tag 60? Is the validation done somewhere else before this function gets triggered? Cheers, Heri |
From: openshac <cha...@gm...> - 2011-01-13 09:09:15
|
Ah that sucks that you have to do it like that. I'm using .Net 4.0 and QuickFix 1.0.2447, I'll see how if I can find time to play around with another version of QuickFix and see if it still works. Sorry I couldn't have been of more use. Dominik Brack wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I use .NET 4.0 and QuickFix 1.13.3. The SocketInitiator hangs even when > calling Dispose(). Does it work for you? > For me it only works if I set the initiator to null and call GC.Collect. > > initiator = null; > GC.Collect(); > > But that's not really an elegant way to do it. > > Dominik > > On Wed, Jan 12, 2011 at 3:48 PM, openshac <cha...@gm...> > wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> _socketInitiator implements IDisposable. Are you calling >> _socketInitiator.Dispose(); ? >> >> If you don't you may have unmanaged resources (LogFiles) that will not be >> cleaned up / released / garbage collected correctly. >> >> The SocketInitiator.Dispose() method looks like it does this for you if >> you >> call it: >> >> void Dispose( bool dispose ) >> { >> if( m_pUnmanaged ) >> { >> stop( true ); >> delete m_pUnmanaged; >> m_pUnmanaged = 0; >> m_application = 0; >> m_factory = 0; >> m_logFactory = 0; >> } >> >> if( dispose ) >> System::GC::SuppressFinalize( this ); >> } >> >> void Dispose() >> { >> Dispose( true ); >> } >> >> >> horus_the_rabbit wrote: >> > >> > Thanks! I'll be sure to try that. Explicit GC calls aren't "nice", but >> > right now my only other option was to disable the test that tests >> > login/logout and that's no less of a ugly thing to do in testing. >> > >> > -Horus >> > >> > dc10 wrote: >> >> >> >> Hi Horus, >> >> >> >> I've been struggling with the same problem. In my case it hangs on >> >> initiator.stop() too and looking in the debugger shows that it is >> hanging >> >> on a thread join in the unmanaged code. >> >> >> >> The only way I've reliably been able to get round this is to logout >> all >> >> the sessions and then set the initiator variable equal to null and >> call >> >> GC.Collect()! >> >> >> >> Truly horrendous and I'm not proud but at least I can work around the >> >> issue for now while i look for a better solution. >> >> >> >> Please let me know how you get on >> >> >> >> >> >> horus_the_rabbit wrote: >> >>> >> >>> Hi Jason, >> >>> >> >>> I was wondering if you ever resolved this or if anyone has a fix. I'm >> >>> having the exact same issue and I'm using tests to drive my >> development >> >>> (TDD) and this is really been annoying me for the past 3 days. >> >>> >> >>> Here's what I do: >> >>> >> >>> public bool logon() { >> >>> try { initiator.start(); } >> >>> catch (ConfigError configError) { >> >>> Console.Write(configError.StackTrace); >> >>> return false; >> >>> } >> >>> return true; >> >>> } >> >>> >> >>> public void logout() { >> >>> initiator.stop(); //HANGS HERE AND STOPS DEBUGGER >> >>> } >> >>> >> >>> When running tests, after my first test succeeds and my second test >> >>> runs, I get this: >> >>> >> >>> Failure invoke test setup method >> >>> QuickFix.ConfigError >> >>> Configuration failed: Could not open body file: >> >>> Logs\FIX.4.2-LCG-FXDD-MKD.body >> >>> Void .ctor(QuickFix.Application, QuickFix.MessageStoreFactory, >> >>> QuickFix.SessionSettings, QuickFix.LogFactory, >> QuickFix.MessageFactory) >> >>> >> >>> >> >>> Any help would be greatly appreciated, as I don't want to make a mock >> >>> obj for this and would rather see it work properly. >> >>> >> >>> >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p30652443.html >> Sent from the QuickFIX - Dev mailing list archive at Nabble.com. >> >> >> >> ------------------------------------------------------------------------------ >> Protect Your Site and Customers from Malware Attacks >> Learn about various malware tactics and how to avoid them. Understand >> malware threats, the impact they can have on your business, and how you >> can protect your company and customers by using code signing. >> http://p.sf.net/sfu/oracle-sfdevnl >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > -- View this message in context: http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p30660461.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Dominik B. <dom...@gm...> - 2011-01-12 15:43:50
|
I use .NET 4.0 and QuickFix 1.13.3. The SocketInitiator hangs even when calling Dispose(). Does it work for you? For me it only works if I set the initiator to null and call GC.Collect. initiator = null; GC.Collect(); But that's not really an elegant way to do it. Dominik On Wed, Jan 12, 2011 at 3:48 PM, openshac <cha...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > _socketInitiator implements IDisposable. Are you calling > _socketInitiator.Dispose(); ? > > If you don't you may have unmanaged resources (LogFiles) that will not be > cleaned up / released / garbage collected correctly. > > The SocketInitiator.Dispose() method looks like it does this for you if you > call it: > > void Dispose( bool dispose ) > { > if( m_pUnmanaged ) > { > stop( true ); > delete m_pUnmanaged; > m_pUnmanaged = 0; > m_application = 0; > m_factory = 0; > m_logFactory = 0; > } > > if( dispose ) > System::GC::SuppressFinalize( this ); > } > > void Dispose() > { > Dispose( true ); > } > > > horus_the_rabbit wrote: > > > > Thanks! I'll be sure to try that. Explicit GC calls aren't "nice", but > > right now my only other option was to disable the test that tests > > login/logout and that's no less of a ugly thing to do in testing. > > > > -Horus > > > > dc10 wrote: > >> > >> Hi Horus, > >> > >> I've been struggling with the same problem. In my case it hangs on > >> initiator.stop() too and looking in the debugger shows that it is > hanging > >> on a thread join in the unmanaged code. > >> > >> The only way I've reliably been able to get round this is to logout all > >> the sessions and then set the initiator variable equal to null and call > >> GC.Collect()! > >> > >> Truly horrendous and I'm not proud but at least I can work around the > >> issue for now while i look for a better solution. > >> > >> Please let me know how you get on > >> > >> > >> horus_the_rabbit wrote: > >>> > >>> Hi Jason, > >>> > >>> I was wondering if you ever resolved this or if anyone has a fix. I'm > >>> having the exact same issue and I'm using tests to drive my development > >>> (TDD) and this is really been annoying me for the past 3 days. > >>> > >>> Here's what I do: > >>> > >>> public bool logon() { > >>> try { initiator.start(); } > >>> catch (ConfigError configError) { > >>> Console.Write(configError.StackTrace); > >>> return false; > >>> } > >>> return true; > >>> } > >>> > >>> public void logout() { > >>> initiator.stop(); //HANGS HERE AND STOPS DEBUGGER > >>> } > >>> > >>> When running tests, after my first test succeeds and my second test > >>> runs, I get this: > >>> > >>> Failure invoke test setup method > >>> QuickFix.ConfigError > >>> Configuration failed: Could not open body file: > >>> Logs\FIX.4.2-LCG-FXDD-MKD.body > >>> Void .ctor(QuickFix.Application, QuickFix.MessageStoreFactory, > >>> QuickFix.SessionSettings, QuickFix.LogFactory, QuickFix.MessageFactory) > >>> > >>> > >>> Any help would be greatly appreciated, as I don't want to make a mock > >>> obj for this and would rather see it work properly. > >>> > >>> > >> > >> > > > > > > -- > View this message in context: > http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p30652443.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: openshac <cha...@gm...> - 2011-01-12 14:48:54
|
_socketInitiator implements IDisposable. Are you calling _socketInitiator.Dispose(); ? If you don't you may have unmanaged resources (LogFiles) that will not be cleaned up / released / garbage collected correctly. The SocketInitiator.Dispose() method looks like it does this for you if you call it: void Dispose( bool dispose ) { if( m_pUnmanaged ) { stop( true ); delete m_pUnmanaged; m_pUnmanaged = 0; m_application = 0; m_factory = 0; m_logFactory = 0; } if( dispose ) System::GC::SuppressFinalize( this ); } void Dispose() { Dispose( true ); } horus_the_rabbit wrote: > > Thanks! I'll be sure to try that. Explicit GC calls aren't "nice", but > right now my only other option was to disable the test that tests > login/logout and that's no less of a ugly thing to do in testing. > > -Horus > > dc10 wrote: >> >> Hi Horus, >> >> I've been struggling with the same problem. In my case it hangs on >> initiator.stop() too and looking in the debugger shows that it is hanging >> on a thread join in the unmanaged code. >> >> The only way I've reliably been able to get round this is to logout all >> the sessions and then set the initiator variable equal to null and call >> GC.Collect()! >> >> Truly horrendous and I'm not proud but at least I can work around the >> issue for now while i look for a better solution. >> >> Please let me know how you get on >> >> >> horus_the_rabbit wrote: >>> >>> Hi Jason, >>> >>> I was wondering if you ever resolved this or if anyone has a fix. I'm >>> having the exact same issue and I'm using tests to drive my development >>> (TDD) and this is really been annoying me for the past 3 days. >>> >>> Here's what I do: >>> >>> public bool logon() { >>> try { initiator.start(); } >>> catch (ConfigError configError) { >>> Console.Write(configError.StackTrace); >>> return false; >>> } >>> return true; >>> } >>> >>> public void logout() { >>> initiator.stop(); //HANGS HERE AND STOPS DEBUGGER >>> } >>> >>> When running tests, after my first test succeeds and my second test >>> runs, I get this: >>> >>> Failure invoke test setup method >>> QuickFix.ConfigError >>> Configuration failed: Could not open body file: >>> Logs\FIX.4.2-LCG-FXDD-MKD.body >>> Void .ctor(QuickFix.Application, QuickFix.MessageStoreFactory, >>> QuickFix.SessionSettings, QuickFix.LogFactory, QuickFix.MessageFactory) >>> >>> >>> Any help would be greatly appreciated, as I don't want to make a mock >>> obj for this and would rather see it work properly. >>> >>> >> >> > > -- View this message in context: http://old.nabble.com/SocketInitiator.stop%28%29-Problem-tp18473551p30652443.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Diego F. <die...@gm...> - 2011-01-10 11:26:26
|
Virgilio, Generate a patch file and submit it here: http://sourceforge.net/tracker/?group_id=37535&atid=420032 It'll eventually be accepted and merged into the trunk, while it's available to be downloaded by anyone willing to try it before it's merged. Diego Frata die...@gm... On Mon, Jan 10, 2011 at 8:32 AM, Clebson Derivan Ferreira Paz < Cle...@cm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Dude, could u please generate a diff file with your changes? Those > conversion warnings are really annoying. > > -----Mensagem original----- > De: Virgilio Alexandre Fornazin [mailto:vir...@gm...] > Enviada em: terça-feira, 7 de dezembro de 2010 08:27 > Para: qui...@li... > Assunto: [Quickfix-developers] [Patch] Added support for AMD64 (x64) clean > compilation under MSVC 10.0 > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > ------------------------------------------------------------------------------ > Gaining the trust of online customers is vital for the success of any > company > that requires sensitive data to be transmitted over the Web. Learn how to > best implement a security strategy that keeps consumers' information secure > and instills the confidence they need to proceed with transactions. > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Clebson D. F. P. <Cle...@cm...> - 2011-01-10 10:32:41
|
Dude, could u please generate a diff file with your changes? Those conversion warnings are really annoying. -----Mensagem original----- De: Virgilio Alexandre Fornazin [mailto:vir...@gm...] Enviada em: terça-feira, 7 de dezembro de 2010 08:27 Para: qui...@li... Assunto: [Quickfix-developers] [Patch] Added support for AMD64 (x64) clean compilation under MSVC 10.0 QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html |
From: Clebson D. F. P. <Cle...@cm...> - 2011-01-06 11:37:30
|
Can't follow you here, man. FIX4.2 could use groups too, take a look at file FIX42.xml ( deployed with quickfix ). Try to turn on the dictionary validation, UseDataDictionary = true. -----Mensagem original----- De: Pierre El-khoury [mailto:pi...@al...] Enviada em: quarta-feira, 15 de dezembro de 2010 07:44 Para: Clebson Derivan Ferreira Paz; Antonio Botelho; 'qui...@li...' Assunto: SV: [Quickfix-developers] RES: Question about messages other party's messages being rejected by quickfix (FIX 4.2) Hi Guys Well according to this disscuion, I did not get the end of it. According to my little knowledge of fix I would say: Since FIX4.2 does not include groups one can set UseDataDictionary = false in the config file, this will disable the verification of the incoming message and they will pass through to the application layer. For FIX4.4 this is a little bit compelecated, and we have to cast an exception (not to send) from toAdmin function, but what I do not know is how to let the received message pass through to the Application layer. o:(. I will be looking at that. Med venlig hilsen / Best regards Pierre El-khoury Software Developer pi...@al... / email +45 6313 6503 / direct tel. ALOC ¦ WE SIMPLY PROVIDE BETTER OVERVIEW! ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ALOC A/S ¦ EDISONSVEJ 1 ¦ DK-5000 ODENSE C +45 6313 6100 / TEL. ¦ WWW.ALOC.DK -----Oprindelig meddelelse----- Fra: Clebson Derivan Ferreira Paz [mailto:Cle...@cm...] Sendt: 2. december 2010 13:41 Til: Antonio Botelho; 'qui...@li...' Emne: [Quickfix-developers] RES: Question about messages other party's messages being rejected by quickfix (FIX 4.2) QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html You should been receiving a session level reject ( message: 3 ), this kind of messages comes through toAdmin and not on toApp ( where u handle exc/rpt ). Check up your YOURSESSION-messages.log file. Let us see the messages. -----Mensagem original----- De: Antonio Botelho [mailto:abo...@ca...] Enviada em: quinta-feira, 2 de dezembro de 2010 09:45 Para: 'qui...@li...' Assunto: [Quickfix-developers] Question about messages other party's messages being rejected by quickfix (FIX 4.2) QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi, First of all, let me apologize if this is a trivial issue or if it has been discussed before. I am having the following issue using FIX 4.2: - I send a well-formed, valid message to a broker - The broker responds with an invalid execution report message (once a missing tag 55, another time an invalid value in tag 22). - Quickfix notifies me of the rejection, but not of the rejected message, resulting in losing synchronicity between my internal order status and the order status at the broker. Another way to look at this is: Outbound message 1 to broker (new single order): okay Inbound message 1 to firm (accept single order): rejected by quickfix because of missing required field (55), not seen by application Outbound message 2 to broker (reject message): can see that from application, but cannot link this to the original order since can't see inbound message What is the usual way of dealing with this situation? Thanks in advance! Antonio Botelho _____________________________________________________________________________________________ This email and any attachments are confidential, for the exclusive attention of the recipient and may also be legally privileged or otherwise protected from disclosure. No information contained herein shall be disclosed to any other person without our written consent unless it is clearly publicly available or otherwise specified by us for onward transmission. If you received this email in error, please notify the sender by return email or by telephone on +44 (0)20 7071 0900; do not duplicate or redistribute it by any means; and delete or otherwise destroy all copies whether in electronic or hard copy form. Any views contained in this email are those of the author and may not reflect those of any Capula entity. We reserve the right to monitor and review all emails within our network to ensure compliance with our policies and to protect our business. Emails are not secure and are not warranted by us to be free of errors nor of viruses nor of other defects which may affect a computer system. Anyone who communicates with us by email is taken to accept these risks. Unless specifically indicated, this email is not an offer or solicitation to buy or sell any investment product. Any information regarding investment products is subject to change without notice. Capula Investment Management LLP is registered in England no. OC313398 and is authorised and regulated by the Financial Services Authority. Capula Investment Services Ltd is registered in England no. O5460265. The registered office of both companies is 42-44 Portman Road, Reading, RG30 1EA. The principal place of business of both companies is 8 Lancelot Place, London SW7 1DR. ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Draupnir G. - L. <dra...@li...> - 2011-01-05 16:12:47
|
Hi, You can use the procedure setString on the message class. QuickFix42.ExecutionReport msg = new QuickFix42.ExecutionReport (); msg.setString(messageString); or msg.setString(sourceMessage.ToString()); Best regards Draupnir Guðmundsson Libra dra...@li... www.librasoft.is +354 595 8724 direct +354 664 8724 mobile On Wed, Jan 5, 2011 at 15:31, Clebson Derivan Ferreira Paz < Cle...@cm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > void OmsConnection::copyField ( FIX::Message & msgTarget, > const FIX::Message & msgSource, int iField ) > { > if (msgSource.isSetField(iField)) > > msgTarget.setField(iField,msgSource.getField(iField)); > } > > ///////////////////////// > > FIX::Message er, msgSource(ORIGINAL_STRING); > er.getHeader().setField( FIX::MsgType( > FIX::MsgType_ExecutionReport ) ); > > copyField(er, msgSource, FIX::FIELD::ClOrdID); > copyField(er, msgSource, FIX::FIELD::Symbol); > copyField(er, msgSource, FIX::FIELD::Account); > copyField(er, msgSource, FIX::FIELD::Side); > copyField(er, msgSource, FIX::FIELD::OrdType); > copyField(er, msgSource, FIX::FIELD::Price); > copyField(er, msgSource, FIX::FIELD::TimeInForce); > copyField(er, msgSource, FIX::FIELD::ExpireDate); > copyField(er, msgSource, FIX::FIELD::ExpireTime); > copyField(er, msgSource, FIX::FIELD::OrderQty); > copyField(er, msgSource, FIX::FIELD::MinQty); > copyField(er, msgSource, FIX::FIELD::MaxFloor); > copyField(er, msgSource, FIX::FIELD::StopPx); > copyField(er, msgSource, FIX::FIELD::HandlInst); > copyField(er, msgSource, FIX::FIELD::ExecInst); > copyField(er, msgSource, FIX::FIELD::SecurityID); > copyField(er, msgSource, FIX::FIELD::IDSource); > copyField(er, msgSource, FIX::FIELD::SecurityExchange); > > FIX::Session::sendToTarget( msgReport, sessionID /* if u > have it */ ); > > > > cheers, > Clebson > > -----Mensagem original----- > De: Dominik Brack [mailto:dom...@gm...] > Enviada em: quarta-feira, 5 de janeiro de 2011 11:52 > Para: qui...@li... > Assunto: [Quickfix-developers] Create an ExecutionReport based on > QuickFix.Message > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > ------------------------------------------------------------------------------ > Learn how Oracle Real Application Clusters (RAC) One Node allows customers > to consolidate database storage, standardize their database environment, > and, > should the need arise, upgrade to a full multi-node Oracle RAC database > without downtime or disruption > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Dominik B. <dom...@gm...> - 2011-01-05 15:58:47
|
Hey guys, Thanks to both of you! I just tested both of your proposals and it works as expected! This was exactly what I've been looking for. Have a good one, Dominik On Wed, Jan 5, 2011 at 4:48 PM, Draupnir Guðmundsson - Libra < dra...@li...> wrote: > Hi, > > You can use the procedure setString on the message class. > > QuickFix42.ExecutionReport msg = new QuickFix42.ExecutionReport (); > msg.setString(messageString); > > or > > msg.setString(sourceMessage.ToString()); > > > Best regards > Draupnir Guðmundsson > Libra > > dra...@li... > www.librasoft.is > +354 595 8724 direct > +354 664 8724 mobile > > > On Wed, Jan 5, 2011 at 15:31, Clebson Derivan Ferreira Paz < > Cle...@cm...> wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> void OmsConnection::copyField ( FIX::Message & msgTarget, >> const FIX::Message & msgSource, int iField ) >> { >> if (msgSource.isSetField(iField)) >> >> msgTarget.setField(iField,msgSource.getField(iField)); >> } >> >> ///////////////////////// >> >> FIX::Message er, msgSource(ORIGINAL_STRING); >> er.getHeader().setField( FIX::MsgType( >> FIX::MsgType_ExecutionReport ) ); >> >> copyField(er, msgSource, FIX::FIELD::ClOrdID); >> copyField(er, msgSource, FIX::FIELD::Symbol); >> copyField(er, msgSource, FIX::FIELD::Account); >> copyField(er, msgSource, FIX::FIELD::Side); >> copyField(er, msgSource, FIX::FIELD::OrdType); >> copyField(er, msgSource, FIX::FIELD::Price); >> copyField(er, msgSource, FIX::FIELD::TimeInForce); >> copyField(er, msgSource, FIX::FIELD::ExpireDate); >> copyField(er, msgSource, FIX::FIELD::ExpireTime); >> copyField(er, msgSource, FIX::FIELD::OrderQty); >> copyField(er, msgSource, FIX::FIELD::MinQty); >> copyField(er, msgSource, FIX::FIELD::MaxFloor); >> copyField(er, msgSource, FIX::FIELD::StopPx); >> copyField(er, msgSource, FIX::FIELD::HandlInst); >> copyField(er, msgSource, FIX::FIELD::ExecInst); >> copyField(er, msgSource, FIX::FIELD::SecurityID); >> copyField(er, msgSource, FIX::FIELD::IDSource); >> copyField(er, msgSource, FIX::FIELD::SecurityExchange); >> >> FIX::Session::sendToTarget( msgReport, sessionID /* if u >> have it */ ); >> >> >> >> cheers, >> Clebson >> >> -----Mensagem original----- >> De: Dominik Brack [mailto:dom...@gm...] >> Enviada em: quarta-feira, 5 de janeiro de 2011 11:52 >> Para: qui...@li... >> Assunto: [Quickfix-developers] Create an ExecutionReport based on >> QuickFix.Message >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> >> ------------------------------------------------------------------------------ >> Learn how Oracle Real Application Clusters (RAC) One Node allows customers >> to consolidate database storage, standardize their database environment, >> and, >> should the need arise, upgrade to a full multi-node Oracle RAC database >> without downtime or disruption >> http://p.sf.net/sfu/oracle-sfdevnl >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > |
From: Clebson D. F. P. <Cle...@cm...> - 2011-01-05 15:32:03
|
void OmsConnection::copyField ( FIX::Message & msgTarget, const FIX::Message & msgSource, int iField ) { if (msgSource.isSetField(iField)) msgTarget.setField(iField,msgSource.getField(iField)); } ///////////////////////// FIX::Message er, msgSource(ORIGINAL_STRING); er.getHeader().setField( FIX::MsgType( FIX::MsgType_ExecutionReport ) ); copyField(er, msgSource, FIX::FIELD::ClOrdID); copyField(er, msgSource, FIX::FIELD::Symbol); copyField(er, msgSource, FIX::FIELD::Account); copyField(er, msgSource, FIX::FIELD::Side); copyField(er, msgSource, FIX::FIELD::OrdType); copyField(er, msgSource, FIX::FIELD::Price); copyField(er, msgSource, FIX::FIELD::TimeInForce); copyField(er, msgSource, FIX::FIELD::ExpireDate); copyField(er, msgSource, FIX::FIELD::ExpireTime); copyField(er, msgSource, FIX::FIELD::OrderQty); copyField(er, msgSource, FIX::FIELD::MinQty); copyField(er, msgSource, FIX::FIELD::MaxFloor); copyField(er, msgSource, FIX::FIELD::StopPx); copyField(er, msgSource, FIX::FIELD::HandlInst); copyField(er, msgSource, FIX::FIELD::ExecInst); copyField(er, msgSource, FIX::FIELD::SecurityID); copyField(er, msgSource, FIX::FIELD::IDSource); copyField(er, msgSource, FIX::FIELD::SecurityExchange); FIX::Session::sendToTarget( msgReport, sessionID /* if u have it */ ); cheers, Clebson -----Mensagem original----- De: Dominik Brack [mailto:dom...@gm...] Enviada em: quarta-feira, 5 de janeiro de 2011 11:52 Para: qui...@li... Assunto: [Quickfix-developers] Create an ExecutionReport based on QuickFix.Message QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html |
From: Dominik B. <dom...@gm...> - 2011-01-05 13:51:57
|
Hi all, Consider the following situation I have a string that contains the FIX message. As far as I know, QuickFix.Message is the only class that provides a constructor to create a message from a string. My idea was that, based on tag 8 and 35, I'd create the corresponding messages (Quickfix44.ExecutionReport etc.). The problem is, I don't know how to create an ExecutionReport from a QuickFix.Message object. Does anyone have an idea how to accomplish this? If possible, I'd like to avoid extracting all the fields from the QuickFix.Message and add them again to an ExecutionReport. Any suggestions, or different approaches are very much appreciated! Dominik |
From: Dominik B. <dom...@gm...> - 2010-12-16 08:45:08
|
Hi Fabio, I have the exact same issue here. I have searched the internet for solutions but I haven't anything except the old posts from 2005. The only way I've reliably been able to get around this behavior was to set the initiator to null and call GC.Collect. This obviously isn't a nice solution at all so I would be glad for any other solution. Dominik On Thu, Dec 16, 2010 at 9:04 AM, Fabio Renggli <FRe...@1e...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi together > > > > We use QuickFIX in a .NET windows service to reroute messages from > different systems to a single end point, similar to a NAT service. > > We have recently updated from QuickFIX 1.12.4 to the latest release because > we where facing major memory issues. > > The problem we get with the new release is, that we get a deadlock while > stopping the initiator (SocketInitiator.stop()) and even get a deadlock > while forced stopping the acceptor when the windows service ist stopped via > the console. Right now we are using a single acceptor with two SessionIDs to > receive messages from two different systems. > > We found some mail list messages from 2005 addressing this issue, and it > seemed solved when forcing the stop, but we're running into the deadlock > anyway. > > Is there anything we can do to have the service stop savely and controlled > or would you recommend to abort the threads without trying to stop them? > > Here is some of the code (implementing the catch block is not necessary, > because it never gets there) in our windows service: > > protected override void OnStop() > > { > > try > > { > > initiator.stop(true); > > initiator.Dispose(); > > initiator = null; > > acceptor.stop(true); > > acceptor.Dispose(); > > acceptor = null; > > } > > catch { } > > } > > protected override void OnStart(string[] args) > > { > > //... create App, Settings, Factories > > initiator = new SocketInitiator(iApp, iStoreFactory, iSettings, > iLogFactory, iMessageFactory); > > new Thread(initiator.start).Start(); > > acceptor = new SocketAcceptor(aApp, aStoreFactory, aSetting, aLogFactory, > aMessageFactory); > > new Thread(acceptor.start).Start(); > > } > > > > Mit freundlichen Grüssen / Kind regards > *1eEurope (Switzerland) AG* > > Fabio Renggli > > Technology Consultant > > --------------------------------- > > > 1eEurope (Switzerland) AG > Seestrasse 97 > CH-8800 Thalwil > > Tel. Direkt: +41 (0) 44 722 86 05 > > Tel. Zentrale: +41 (0) 44 722 75 55 > > *frenggli*@1eeurope.ch <MB...@1e...> > > www.1eEurope.ch <http://www.1eeurope.ch/> > > > > This message may contain confidential information and is intended only for > the individual named. If you are not the named addressee, please notify the > sender immediately and do not disclose, copy or distribute the content to > any other person. > > E-Mail transmission cannot be guaranteed to be secure or error-free as > information can be intercepted, lost, destroyed, arrive late, incomplete or > contain any viruses. Any contractual representations contained herein on > behalf of this company must not be taken as final, and are entirely subject > to contracts signed formally by an authorised representative of this > company. > > > ------------------------------------------------------------------------------ > Lotusphere 2011 > Register now for Lotusphere 2011 and learn how > to connect the dots, take your collaborative environment > to the next level, and enter the era of Social Business. > http://p.sf.net/sfu/lotusphere-d2d > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Fabio R. <FRe...@1e...> - 2010-12-16 08:17:08
|
Hi together We use QuickFIX in a .NET windows service to reroute messages from different systems to a single end point, similar to a NAT service. We have recently updated from QuickFIX 1.12.4 to the latest release because we where facing major memory issues. The problem we get with the new release is, that we get a deadlock while stopping the initiator (SocketInitiator.stop()) and even get a deadlock while forced stopping the acceptor when the windows service ist stopped via the console. Right now we are using a single acceptor with two SessionIDs to receive messages from two different systems. We found some mail list messages from 2005 addressing this issue, and it seemed solved when forcing the stop, but we're running into the deadlock anyway. Is there anything we can do to have the service stop savely and controlled or would you recommend to abort the threads without trying to stop them? Here is some of the code (implementing the catch block is not necessary, because it never gets there) in our windows service: protected override void OnStop() { try { initiator.stop(true); initiator.Dispose(); initiator = null; acceptor.stop(true); acceptor.Dispose(); acceptor = null; } catch { } } protected override void OnStart(string[] args) { //... create App, Settings, Factories initiator = new SocketInitiator(iApp, iStoreFactory, iSettings, iLogFactory, iMessageFactory); new Thread(initiator.start).Start(); acceptor = new SocketAcceptor(aApp, aStoreFactory, aSetting, aLogFactory, aMessageFactory); new Thread(acceptor.start).Start(); } Mit freundlichen Grüssen / Kind regards 1eEurope (Switzerland) AG Fabio Renggli Technology Consultant --------------------------------- 1eEurope (Switzerland) AG Seestrasse 97 CH-8800 Thalwil Tel. Direkt: +41 (0) 44 722 86 05 Tel. Zentrale: +41 (0) 44 722 75 55 fre...@1e...<mailto:MB...@1e...> www.1eEurope.ch<http://www.1eeurope.ch/> This message may contain confidential information and is intended only for the individual named. If you are not the named addressee, please notify the sender immediately and do not disclose, copy or distribute the content to any other person. E-Mail transmission cannot be guaranteed to be secure or error-free as information can be intercepted, lost, destroyed, arrive late, incomplete or contain any viruses. Any contractual representations contained herein on behalf of this company must not be taken as final, and are entirely subject to contracts signed formally by an authorised representative of this company. |
From: Sunil E. <Sun...@mo...> - 2010-12-15 11:23:09
|
Dear All, I am developing an application in C++ that uses Fix protocol 4.4 When I run the application I get an exception "Configuration failed: FileLogPath not defined" My Setting file is as follows [default] BeginString=FIX.4.4 ConnectionType=initiator FileStorePath=output FileLogPath=LogOutput Could any please help me to fix this problem? Thank you very much. ________________________________________________ Sunil Esho Morningstar Real-Time Data Business Morningstar. Illuminating investing for 26 years. Sun...@mo... 1 Oliver's Yard, 55-71 City Road, London EC1Y 1HQ http://global.morningstar.com/realtime This e-mail contains privileged and confidential information and is intended only for the use of the person(s) named above. Any dissemination, distribution, or duplication of this communication without prior written consent from Morningstar is strictly prohibited. If you have received this message in error, please contact the sender immediately and delete the materials from any computer. |
From: Pierre El-k. <pi...@al...> - 2010-12-15 10:01:39
|
Hi Guys Well according to this disscuion, I did not get the end of it. According to my little knowledge of fix I would say: Since FIX4.2 does not include groups one can set UseDataDictionary = false in the config file, this will disable the verification of the incoming message and they will pass through to the application layer. For FIX4.4 this is a little bit compelecated, and we have to cast an exception (not to send) from toAdmin function, but what I do not know is how to let the received message pass through to the Application layer. o:(. I will be looking at that. Med venlig hilsen / Best regards Pierre El-khoury Software Developer pi...@al... / email +45 6313 6503 / direct tel. ALOC ¦ WE SIMPLY PROVIDE BETTER OVERVIEW! ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ALOC A/S ¦ EDISONSVEJ 1 ¦ DK-5000 ODENSE C +45 6313 6100 / TEL. ¦ WWW.ALOC.DK -----Oprindelig meddelelse----- Fra: Clebson Derivan Ferreira Paz [mailto:Cle...@cm...] Sendt: 2. december 2010 13:41 Til: Antonio Botelho; 'qui...@li...' Emne: [Quickfix-developers] RES: Question about messages other party's messages being rejected by quickfix (FIX 4.2) QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html You should been receiving a session level reject ( message: 3 ), this kind of messages comes through toAdmin and not on toApp ( where u handle exc/rpt ). Check up your YOURSESSION-messages.log file. Let us see the messages. -----Mensagem original----- De: Antonio Botelho [mailto:abo...@ca...] Enviada em: quinta-feira, 2 de dezembro de 2010 09:45 Para: 'qui...@li...' Assunto: [Quickfix-developers] Question about messages other party's messages being rejected by quickfix (FIX 4.2) QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi, First of all, let me apologize if this is a trivial issue or if it has been discussed before. I am having the following issue using FIX 4.2: - I send a well-formed, valid message to a broker - The broker responds with an invalid execution report message (once a missing tag 55, another time an invalid value in tag 22). - Quickfix notifies me of the rejection, but not of the rejected message, resulting in losing synchronicity between my internal order status and the order status at the broker. Another way to look at this is: Outbound message 1 to broker (new single order): okay Inbound message 1 to firm (accept single order): rejected by quickfix because of missing required field (55), not seen by application Outbound message 2 to broker (reject message): can see that from application, but cannot link this to the original order since can't see inbound message What is the usual way of dealing with this situation? Thanks in advance! Antonio Botelho _____________________________________________________________________________________________ This email and any attachments are confidential, for the exclusive attention of the recipient and may also be legally privileged or otherwise protected from disclosure. No information contained herein shall be disclosed to any other person without our written consent unless it is clearly publicly available or otherwise specified by us for onward transmission. If you received this email in error, please notify the sender by return email or by telephone on +44 (0)20 7071 0900; do not duplicate or redistribute it by any means; and delete or otherwise destroy all copies whether in electronic or hard copy form. Any views contained in this email are those of the author and may not reflect those of any Capula entity. We reserve the right to monitor and review all emails within our network to ensure compliance with our policies and to protect our business. Emails are not secure and are not warranted by us to be free of errors nor of viruses nor of other defects which may affect a computer system. Anyone who communicates with us by email is taken to accept these risks. Unless specifically indicated, this email is not an offer or solicitation to buy or sell any investment product. Any information regarding investment products is subject to change without notice. Capula Investment Management LLP is registered in England no. OC313398 and is authorised and regulated by the Financial Services Authority. Capula Investment Services Ltd is registered in England no. O5460265. The registered office of both companies is 42-44 Portman Road, Reading, RG30 1EA. The principal place of business of both companies is 8 Lancelot Place, London SW7 1DR. ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Virgilio A. F. <vir...@gm...> - 2010-12-07 10:27:36
|
Hi guys I've managed to patch QuickFIX 1.13.3 to clean build under MSVC 10.0 x64 (not restricted to, all Win64 plataforms can benefit on this). Basic problems are of type: - Converting from size_t (unsigned 64-bit integers) to int (signed 32-bit integer), just used static_cast<int> when needed; - Using socket handles as integers (on Win64, socket handles are 64-bit integers), created a typedef SOCKET socket_t (or int socket_t) and changed all signatured that store / pass socket handles to use socket_t type; I want to contribute those changes to quickfix codebase. How can I proceed on this ? |
From: Clebson D. F. P. <Cle...@cm...> - 2010-12-02 12:40:45
|
You should been receiving a session level reject ( message: 3 ), this kind of messages comes through toAdmin and not on toApp ( where u handle exc/rpt ). Check up your YOURSESSION-messages.log file. Let us see the messages. -----Mensagem original----- De: Antonio Botelho [mailto:abo...@ca...] Enviada em: quinta-feira, 2 de dezembro de 2010 09:45 Para: 'qui...@li...' Assunto: [Quickfix-developers] Question about messages other party's messages being rejected by quickfix (FIX 4.2) QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi, First of all, let me apologize if this is a trivial issue or if it has been discussed before. I am having the following issue using FIX 4.2: - I send a well-formed, valid message to a broker - The broker responds with an invalid execution report message (once a missing tag 55, another time an invalid value in tag 22). - Quickfix notifies me of the rejection, but not of the rejected message, resulting in losing synchronicity between my internal order status and the order status at the broker. Another way to look at this is: Outbound message 1 to broker (new single order): okay Inbound message 1 to firm (accept single order): rejected by quickfix because of missing required field (55), not seen by application Outbound message 2 to broker (reject message): can see that from application, but cannot link this to the original order since can't see inbound message What is the usual way of dealing with this situation? Thanks in advance! Antonio Botelho _____________________________________________________________________________________________ This email and any attachments are confidential, for the exclusive attention of the recipient and may also be legally privileged or otherwise protected from disclosure. No information contained herein shall be disclosed to any other person without our written consent unless it is clearly publicly available or otherwise specified by us for onward transmission. If you received this email in error, please notify the sender by return email or by telephone on +44 (0)20 7071 0900; do not duplicate or redistribute it by any means; and delete or otherwise destroy all copies whether in electronic or hard copy form. Any views contained in this email are those of the author and may not reflect those of any Capula entity. We reserve the right to monitor and review all emails within our network to ensure compliance with our policies and to protect our business. Emails are not secure and are not warranted by us to be free of errors nor of viruses nor of other defects which may affect a computer system. Anyone who communicates with us by email is taken to accept these risks. Unless specifically indicated, this email is not an offer or solicitation to buy or sell any investment product. Any information regarding investment products is subject to change without notice. Capula Investment Management LLP is registered in England no. OC313398 and is authorised and regulated by the Financial Services Authority. Capula Investment Services Ltd is registered in England no. O5460265. The registered office of both companies is 42-44 Portman Road, Reading, RG30 1EA. The principal place of business of both companies is 8 Lancelot Place, London SW7 1DR. ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Antonio B. <abo...@ca...> - 2010-12-02 11:57:44
|
Hi, First of all, let me apologize if this is a trivial issue or if it has been discussed before. I am having the following issue using FIX 4.2: - I send a well-formed, valid message to a broker - The broker responds with an invalid execution report message (once a missing tag 55, another time an invalid value in tag 22). - Quickfix notifies me of the rejection, but not of the rejected message, resulting in losing synchronicity between my internal order status and the order status at the broker. Another way to look at this is: Outbound message 1 to broker (new single order): okay Inbound message 1 to firm (accept single order): rejected by quickfix because of missing required field (55), not seen by application Outbound message 2 to broker (reject message): can see that from application, but cannot link this to the original order since can't see inbound message What is the usual way of dealing with this situation? Thanks in advance! Antonio Botelho _____________________________________________________________________________________________ This email and any attachments are confidential, for the exclusive attention of the recipient and may also be legally privileged or otherwise protected from disclosure. No information contained herein shall be disclosed to any other person without our written consent unless it is clearly publicly available or otherwise specified by us for onward transmission. If you received this email in error, please notify the sender by return email or by telephone on +44 (0)20 7071 0900; do not duplicate or redistribute it by any means; and delete or otherwise destroy all copies whether in electronic or hard copy form. Any views contained in this email are those of the author and may not reflect those of any Capula entity. We reserve the right to monitor and review all emails within our network to ensure compliance with our policies and to protect our business. Emails are not secure and are not warranted by us to be free of errors nor of viruses nor of other defects which may affect a computer system. Anyone who communicates with us by email is taken to accept these risks. Unless specifically indicated, this email is not an offer or solicitation to buy or sell any investment product. Any information regarding investment products is subject to change without notice. Capula Investment Management LLP is registered in England no. OC313398 and is authorised and regulated by the Financial Services Authority. Capula Investment Services Ltd is registered in England no. O5460265. The registered office of both companies is 42-44 Portman Road, Reading, RG30 1EA. The principal place of business of both companies is 8 Lancelot Place, London SW7 1DR. |
From: Clebson D. F. P. <Cle...@cm...> - 2010-11-29 17:38:09
|
As far as I understood, think you are not able to do that. You can't assure the order of messages looking only on your side. I mean, if you are acting as buy side, you can't guarantee the sequence of events of your counterpart. -----Mensagem original----- De: Gunnar Harms [mailto:gh...@hi...] Enviada em: segunda-feira, 29 de novembro de 2010 06:02 Para: alon ashkenazi Cc: qui...@li... Assunto: Re: [Quickfix-developers] Make operation synchronize QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html |
From: Gunnar H. <gh...@hi...> - 2010-11-29 08:02:21
|
Hi, If I understand correctly you want to turn async. calls to server into sync. calls. Simplest way is to send your message and then start spinning/looping with a small sleep(x) and testing in body of your spinning loop if there is already a return on your sent message and once it is to send your 2nd message etc. If you don't want or cannot to wait for the response in the same thread from which you sent the message you can use a Queue object and put the messages that you want to send in that queue. The messages will come out of the queue one by one on it's own thread. From that thread you then send your messages and do the for-loop to wait for the response. There's probably more ways but this seems simplest to me. Gunnar On Nov 27, 2010, at 10:54 PM, alon ashkenazi wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi, > > Using Quick Fix engine I trying to synchronize some engine messages. > > I have a flow that operate a number of action on the account (send a number of message to the server). I want to synchronize between those messages, so they will start sequential. > > For example, I want to ask for 'CollateralInquiry' (BB) and wait for response. When the 'CollateralInquiryAck' (BG) receive, I will move to the next operation, send a 'NewOrderSingle' (D) for instance. > > The catch is that I don't want to write a spaghetti code (with callback like 'onMessage' on each operation). The ideal is to wait for operation to finish and then start the second one. > > Using c#, I tried to sync some operation with 'WaitHandle.WaitOne()' unsuccessfully. > > Any ideas? > Thanks, > Alon. > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > Tap into the largest installed PC base & get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev_______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: alon a. <alo...@gm...> - 2010-11-27 21:54:25
|
Hi, Using Quick Fix engine I trying to synchronize some engine messages. I have a flow that operate a number of action on the account (send a number of message to the server). I want to synchronize between those messages, so they will start sequential. For example, I want to ask for 'CollateralInquiry' (BB) and wait for response. When the 'CollateralInquiryAck' (BG) receive, I will move to the next operation, send a 'NewOrderSingle' (D) for instance. The catch is that I don't want to write a spaghetti code (with callback like 'onMessage' on each operation). The ideal is to wait for operation to finish and then start the second one. Using c#, I tried to sync some operation with 'WaitHandle.WaitOne()' unsuccessfully. Any ideas? Thanks, Alon. |
From: Vipula <vi...@ya...> - 2010-11-22 12:09:50
|
Hi, I'm using quickfix with FIX 4.2 with .NET 4.0 C#. One of my orders were created with two TAG 9 tags in the header making it an invalid message. Infact that crashed my brokers FIX server. I create the new orders as below QuickFix42.NewOrderSingle newSingleOrder = new QuickFix42.NewOrderSingle(ClOrderID, HandInst, Symbol, Side, TransactTime, OrderType); newSingleOrder.setField(Account); newSingleOrder.setField(TargetSubID); newSingleOrder.setField(SecurityType); newSingleOrder.setField(SecurityID); newSingleOrder.setField(IDSource); newSingleOrder.setField(OrderQuantity); newSingleOrder.setField(Price); newSingleOrder.setField(TransactTime); newSingleOrder.setField(TimeInForce); newSingleOrder.setField(8212, StrategyID); and does not touch the header tags and let Qucikfix create those for me and the new order with this error was completely random. 8=FIX.4.2 9=300 9=300 35=D 34=1250 49=M Has any one seen this kind of issue ? Thanks V |