quickfix-developers Mailing List for QuickFIX (Page 56)
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: mr a. <mr...@gm...> - 2009-05-12 18:04:22
|
Hi everyone, We have a need to submit a new order with a custom OrdType (40=10). What is the process of doing this? I know that QuickFIX allows for custom fields, but how about custom values for standard tags? Do I just add the new value in the FIX42.xml file and QuickFIX will take care of the rest? neworder.set(new OrdType('10')); // would this work just fine if I add a new enum value to FIX42.xml? Many thanks! azmat |
From: azmat <mr...@gm...> - 2009-05-12 17:59:53
|
Hi everyone, We have a need to submit a new order with a custom OrdType (40=10). What is the process of doing this? I know that QuickFIX allows for custom fields, but how about custom values for standard tags? Do I just add the new value in the FIX42.xml file and QuickFIX will take care of the rest? neworder.set(new OrdType('10')); // would this work just fine if I add a new enum value to FIX42.xml? Many thanks! azmat -- View this message in context: http://www.nabble.com/Custom-OrdType-tp23507271p23507271.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Ariel P. <ari...@gm...> - 2009-05-12 15:24:48
|
Never to call to method Dispose(). the problem occurs unexpectedly. that is recommended to fix this? regards 2009/5/10 Djalma Rosa dos Santos Filho <drs...@gm...> > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Yes, but this error can occur even if dispose is not being called, because > ToString requires a pinned object, the same problem with addGroup. > > > http://www.nabble.com/Re%3A-NewOrderList-addgroup-threw-%22Attempted-to-read-or-write-protected-memory.-This-is-often-an-indication-that-other-memory-is-corrupt%22-p21635727.html > > Regards, > Djalma > > > On Fri, May 8, 2009 at 6:15 PM, Bristotti, Fernando < > fer...@cr...> wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> This error happens when you try call a method after you have called >> Dispose() on a message. >> >> Example: >> >> void QuickFix.Application.fromAdmin(QuickFix.Message message, >> QuickFix.SessionID session) >> { >> message.Dispose(); >> message.getHeader().getString(QuickFix.TargetCompID.FIELD); // >> Error!! >> } >> >> Regards. >> Bristotti >> >> -----Original Message----- >> From: arielsrv [mailto:ari...@gm...] >> Sent: Friday, May 08, 2009 4:00 PM >> To: qui...@li... >> Subject: [Quickfix-developers] Attempted to read or write protected >> memory. >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> >> Hi, >> >> I'm Ariel from Argentina and have next error. The design is in C#. >> This error is 1 or 2 times per day >> I have not found solution for this error. >> >> Regards. >> >> >> Extended message: Attempted to read or write protected memory. This is >> often an indication that other memory is corrupt. >> Stack trace: at FIX.Message.toString(Message* , >> basic_string<char\,std::char_traits<char>\,std::allocator<char> >* , >> Int32 , >> Int32 , Int32 ) >> at QuickFix.Message.ToString() >> at QuickFix.Message.getHeader() >> -- >> View this message in context: >> http://www.nabble.com/Attempted-to-read-or-write-protected-memory.-tp234 >> 51721p23451721.html<http://www.nabble.com/Attempted-to-read-or-write-protected-memory.-tp234%0A51721p23451721.html> >> Sent from the QuickFIX - Dev mailing list archive at Nabble.com. >> >> >> ------------------------------------------------------------------------ >> ------ >> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >> production scanning environment may not be a perfect world - but thanks >> to >> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >> i700 >> Series Scanner you'll get full speed at 300 dpi even with all image >> processing features enabled. http://p.sf.net/sfu/kodak-com >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> >> >> >> =============================================================================== >> Please access the attached hyperlink for an important electronic >> communications disclaimer: >> http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html >> >> =============================================================================== >> >> >> >> ------------------------------------------------------------------------------ >> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >> production scanning environment may not be a perfect world - but thanks to >> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK >> i700 >> Series Scanner you'll get full speed at 300 dpi even with all image >> processing features enabled. http://p.sf.net/sfu/kodak-com >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > > > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK > i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Grant B. <gbi...@co...> - 2009-05-12 14:56:37
|
You can use this function on your FIX message object: std::string getField (int field) const throw ( FieldNotFound ) Get a field without a field class. (see http://quickfixengine.org/quickfix/doc/html/class_f_i_x_1_1_field_map.html) This should get the string representation of the field as it appears in the raw fix message. -Grant On Tue, May 12, 2009 at 1:34 AM, Joaquín Gracia <j.g...@ra...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi All, > > I want to re-send information received in QuickFix execution reports > to other applications. > > Messages are sent using MSMQ. Thus, I need no write msmq message > (CString or std::string) using data taken from the FIX message. > > So I have to convert, for example, a FIX::OrderQty variable to CString > or std::string. > > How can I do that? > > Thank you. > > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Joaquín G. <j.g...@ra...> - 2009-05-12 06:34:16
|
Hi All, I want to re-send information received in QuickFix execution reports to other applications. Messages are sent using MSMQ. Thus, I need no write msmq message (CString or std::string) using data taken from the FIX message. So I have to convert, for example, a FIX::OrderQty variable to CString or std::string. How can I do that? Thank you. |
From: Djalma R. d. S. F. <drs...@gm...> - 2009-05-11 01:19:51
|
Yes, but this error can occur even if dispose is not being called, because ToString requires a pinned object, the same problem with addGroup. http://www.nabble.com/Re%3A-NewOrderList-addgroup-threw-%22Attempted-to-read-or-write-protected-memory.-This-is-often-an-indication-that-other-memory-is-corrupt%22-p21635727.html Regards, Djalma On Fri, May 8, 2009 at 6:15 PM, Bristotti, Fernando < fer...@cr...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > This error happens when you try call a method after you have called > Dispose() on a message. > > Example: > > void QuickFix.Application.fromAdmin(QuickFix.Message message, > QuickFix.SessionID session) > { > message.Dispose(); > message.getHeader().getString(QuickFix.TargetCompID.FIELD); // > Error!! > } > > Regards. > Bristotti > > -----Original Message----- > From: arielsrv [mailto:ari...@gm...] > Sent: Friday, May 08, 2009 4:00 PM > To: qui...@li... > Subject: [Quickfix-developers] Attempted to read or write protected > memory. > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > Hi, > > I'm Ariel from Argentina and have next error. The design is in C#. > This error is 1 or 2 times per day > I have not found solution for this error. > > Regards. > > > Extended message: Attempted to read or write protected memory. This is > often an indication that other memory is corrupt. > Stack trace: at FIX.Message.toString(Message* , > basic_string<char\,std::char_traits<char>\,std::allocator<char> >* , > Int32 , > Int32 , Int32 ) > at QuickFix.Message.ToString() > at QuickFix.Message.getHeader() > -- > View this message in context: > http://www.nabble.com/Attempted-to-read-or-write-protected-memory.-tp234 > 51721p23451721.html<http://www.nabble.com/Attempted-to-read-or-write-protected-memory.-tp234%0A51721p23451721.html> > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------ > ------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks > to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK > i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > =============================================================================== > Please access the attached hyperlink for an important electronic > communications disclaimer: > http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html > > =============================================================================== > > > > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK > i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Bristotti, F. <fer...@cr...> - 2009-05-08 21:16:19
|
This error happens when you try call a method after you have called Dispose() on a message. Example: void QuickFix.Application.fromAdmin(QuickFix.Message message, QuickFix.SessionID session) { message.Dispose(); message.getHeader().getString(QuickFix.TargetCompID.FIELD); // Error!! } Regards. Bristotti -----Original Message----- From: arielsrv [mailto:ari...@gm...] Sent: Friday, May 08, 2009 4:00 PM To: qui...@li... Subject: [Quickfix-developers] Attempted to read or write protected memory. QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi, I'm Ariel from Argentina and have next error. The design is in C#. This error is 1 or 2 times per day I have not found solution for this error. Regards. Extended message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Stack trace: at FIX.Message.toString(Message* , basic_string<char\,std::char_traits<char>\,std::allocator<char> >* , Int32 , Int32 , Int32 ) at QuickFix.Message.ToString() at QuickFix.Message.getHeader() -- View this message in context: http://www.nabble.com/Attempted-to-read-or-write-protected-memory.-tp234 51721p23451721.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. ------------------------------------------------------------------------ ------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html =============================================================================== |
From: arielsrv <ari...@gm...> - 2009-05-08 19:00:24
|
Hi, I'm Ariel from Argentina and have next error. The design is in C#. This error is 1 or 2 times per day I have not found solution for this error. Regards. Extended message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Stack trace: at FIX.Message.toString(Message* , basic_string<char\,std::char_traits<char>\,std::allocator<char> >* , Int32 , Int32 , Int32 ) at QuickFix.Message.ToString() at QuickFix.Message.getHeader() -- View this message in context: http://www.nabble.com/Attempted-to-read-or-write-protected-memory.-tp23451721p23451721.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: EclipseCap <tob...@ec...> - 2009-05-07 19:40:17
|
Greetings, I have a question about unique identifiers. With all of the order submission, filling, canceling, and replacing I was wondering how does everyone keep it straight? It looks like the CLOrdID would be a good unique identifier that would link back to an item in a map / dictionary, however if you submit an order cancel you have to issue a new CLOrdID and also send in the original. Is there a field you could set to that gets reflected back for each message of the lifetime of the order? Do I need to be cute and make my CLOrdIDs someline like: OrderABCD.1 then use OrderABCD.2 for a cancel request and just strip off the .1 and .2 to get my unique identifier. Thanks, Tim -- View this message in context: http://www.nabble.com/Unique-Identifier-tp23433761p23433761.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: John D. <jd...@so...> - 2009-05-06 14:46:45
|
Hi, Does anyone have a copy of tradeclient written in C# which they would be willing to share, or can point me to a link where it might be obtained? Thanks, John |
From: Mikhail V. <mve...@gm...> - 2009-05-04 22:24:54
|
Hi, If I have a scenario where another application is sending messages (non-fix) which are then translated into FIX and sent further. I need to get messages sent these outgoing messages back to the originating application. Is this possible? -- Regards, Mikhail Veygman |
From: <qui...@th...> - 2009-05-04 11:54:37
|
Hello, in the Quickfix ini File I set the parameter TimeZone=Europe/Berlin, but Quickfix use UTC. Can anyone help ? |
From: GB-1 <gb...@ti...> - 2009-04-30 18:56:23
|
Dear Sir, how to have SynchronizedApplication interface into my .NET application? into Quickfix I see Application,Acceptor,Initiator etc but not this one. Have I to fix the C++ files and recompile? Thanks a lot Giampaolo Bulleri -- View this message in context: http://www.nabble.com/SynchronizedApplication-interface--not-available-in-C--VB.NET--tp23322306p23322306.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Dale W. <wi...@oc...> - 2009-04-30 15:52:13
|
Hi Alex, I accidentally deleted one too many lines when I stripped away the noise from this method. The missing line is: fieldMap.getGroup(ng + 1, fieldTag,groupMap); which assigns the value to the groupMap. I'm not using the C# mapping, so you'll have to do some research into what methods are exposed. Worse case is you'll have to add some unmanaged C++ code to iterate thru the fields and pass them up to the .NET world. Dale Alex Marangos wrote: > Dale, > > Thanks - though I still have a couple of questions... > > In your [begin group entry] block, it seems to me there's some missing code - "groupMap" is not assigned any value before you recursively call decodeFieldMap. > > Also, in C# (which is what I'm using right now), the compiler complains that it can't convert QuickFix.Group to QuickFix.FieldMap - and I can't see any methods that would allow me to retrieve the FieldMap from a Group. How do I achieve this bit? > > Thanks again. > Alexandros > > > > > > > ----- Original Message ---- > From: Dale Wilson <wi...@oc...> > To: Alex Marangos <ale...@ya...> > Cc: qui...@li... > Sent: Wednesday, 29 April, 2009 20:11:54 > Subject: Re: [Quickfix-developers] Enumerating all repeating groups in a FIX message > > Alex Marangos wrote: > >> Alternatively, is there a way to enumerate through *all* fields of the message, regardless of whether they are in a group or not? >> >> >> > void decodeFieldMap (const FIX::FieldMap & fieldMap) > { > FIX::FieldMap::Fields::const_iterator mapEnd = fieldMap.end(); > for (FIX::FieldMap::Fields::const_iterator mapPos = fieldMap.begin(); > mapPos != mapEnd; > ++mapPos) > { > const FIX::FieldBase & field = (*mapPos).second; > [do something with the field] > > int fieldTag = (*mapPos).first; > int nGroups = fieldMap.groupCount(fieldTag); > if(nGroups != 0) > { > [do start of group processing] > for (int ng = 0; ng < nGroups; ++ng) > { > [begin group entry] > FIX::FieldMap groupMap; > decodeFieldMap (groupMap); > } > [do end of group processing] > } > } > } > > Dale > > > > |
From: Alex M. <ale...@ya...> - 2009-04-30 15:42:25
|
Dale, Thanks - though I still have a couple of questions... In your [begin group entry] block, it seems to me there's some missing code - "groupMap" is not assigned any value before you recursively call decodeFieldMap. Also, in C# (which is what I'm using right now), the compiler complains that it can't convert QuickFix.Group to QuickFix.FieldMap - and I can't see any methods that would allow me to retrieve the FieldMap from a Group. How do I achieve this bit? Thanks again. Alexandros ----- Original Message ---- From: Dale Wilson <wi...@oc...> To: Alex Marangos <ale...@ya...> Cc: qui...@li... Sent: Wednesday, 29 April, 2009 20:11:54 Subject: Re: [Quickfix-developers] Enumerating all repeating groups in a FIX message Alex Marangos wrote: > Alternatively, is there a way to enumerate through *all* fields of the message, regardless of whether they are in a group or not? > > void decodeFieldMap (const FIX::FieldMap & fieldMap) { FIX::FieldMap::Fields::const_iterator mapEnd = fieldMap.end(); for (FIX::FieldMap::Fields::const_iterator mapPos = fieldMap.begin(); mapPos != mapEnd; ++mapPos) { const FIX::FieldBase & field = (*mapPos).second; [do something with the field] int fieldTag = (*mapPos).first; int nGroups = fieldMap.groupCount(fieldTag); if(nGroups != 0) { [do start of group processing] for (int ng = 0; ng < nGroups; ++ng) { [begin group entry] FIX::FieldMap groupMap; decodeFieldMap (groupMap); } [do end of group processing] } } } Dale |
From: <reg...@ho...> - 2009-04-30 06:08:47
|
Hello John, HotBridge provides a free of charge exchange simulator which should make your life easier, if you intend to develop a small C# demo application using quickfix. http://www.hotbridge.com/downloads.htm As of today, no 64 bits versions of quickfix is supported yet. I believe some companies can provide you with a 64 bits build but it will be under a support contract. Can't XP64 run 32 bits processes? It might be enough for the purpose of your demo? Hope this helps Regis On Thu, 30 Apr 2009 01:54:55 -0400, "John Devron" <jd...@so...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html |
From: John D. <jd...@so...> - 2009-04-30 05:55:02
|
Hello, Is a C# demo application available that is already built? I am using 2008 C# express on XP64. Purhaps someone might share some essential parts, or provide a reccomendation? I read that a 64 bit version is available by email only. I would like to use that if possible. Can it be built by using only the latest version of C# express? As it stands now my compiler crashes and terminates when building the provided minimal demo application. Am not sure if quickfix_vs8.sln was intended to operate on 2008 C# Express. Here is what I did... 1) Downloaded and unzipped quickfix-bin-vs8-1.12.4.zip into C:\. 2) Searched for the location of quickfix_vs8.sln It was not found in or under C:\quickfix. However, it was located by the Windows search tool in a folder at an unknown location named quickfix. 3) Searched for the location of *.bat under C:\quickfix\. document.bat was located at C:\quickfix\doc\. 4) Searched for any DLLs under C:\quickfix\. quickfix_jni.dll, quickfix_net.dll, and quickfix_net_messages.dll were located under C:\quickfix\lib\. 5) Searched for any .lib files under C:\quickfix\. quickfix.lib was located under C:\quickfix\lib\. 6) Not being sure of the exact location of quickfix_vs8.sln, I invoked it from the resulting search window. A dialog box named "File Download" asked "Do you want to open this file?: I then responded by clicking on the "Open" button. Then I clicked "Next" anf "Finish" to convert the version to the updated format. The conversion failed and reported an error indicating that C:\Documants and Settings\ Temp\Temporary Directory 2 for quickfix1.12.4/zip\quickfix\quickfix_vs8.sln can not be converted because it cannot be modified. 7) I then copied quickfix_vs8.sln into c:\quickfix\ and changed the attribute "Read-only" to allow modifications to the file. The following two errors occurred during the conversion: error#1 examples\executor\csharp\example_executor_csharp_vs8.csproj 1 0 Conversion Issues - examples\executor\csharp\example_executor_csharp_vs8.csproj: Unable to open project file to perform upgrade. error#2 src\.NET\quickfix_net_messages_vs8.csproj 1 0 Conversion Issues - src\.NET\quickfix_net_messages_vs8.csproj: Unable to open project file to perform upgrade. 8) I searched for those missing files but did not find their directory. So I tried to copy them from the search results window into newly made directories under C:\quickfix\. quickfix_net_messages_vs8.csproj could not be copied because C:\quickfix\src\.NET could not be created. C:\quickfix\src\NET was created instead. That is where I placed quickfix_net_messages_vs8.csproj. I then modified quickfix_vs8.sln to look in C:\quickfix\src\NET instead of C:\quickfix\src\.NET\. Also I modified quickfix_vs8.sln to look for quickfix_net_vs8.vcproj at C:\quickfix\src\NET instead of C:\quickfix\src\.NET\. 9) Next I invoked C:\quickfix\quickfix_vs8.sln which was then converted sucessfully. There were two warnings which both indicated ... "The referenced component 'quickfix_net_vs8' could not be found." 10) I then compiled the baseline empty solution. It yeilded 279 errors similar to this... Error 278 Source file 'C:\quickfix\src\NET\fix44\TradeCaptureReport.cs' could not be opened ('Unspecified error ') quickfix_net_messages_vs8 11) I searched for the missing files and placed them under C:\quickfix\src\NET\. This took a while because they could only be found by the search tool, not by manually poking around under \temp directories. Copying the contents of src\.NET\fix40 - src\.NET\fix44 got the number of errors down to 14. Copying the contents of \temp\src\.NET\ to C:\quickfix\src\NET\ got the number of errors to zero when the solution is first opened. However, the compiler crashes and exits when the solution is compiled. 12) I found a way to copy the \temp\src\.NET\ directory to C:\quickfix\src\.NET\ and modified the solution file to use that path instread of C:\quickfix\src\NET\. The solution again loads with zero errors, and posts warnings about not being able to find the project files in languages other than C#, and then crashes and exits when compiled. Any suggestions would be greatly appreciated. The compiler indicates various program elements that are unavailable. I suppose some of the project components which appear to be redundant of multiple languages could probably be removed from the solution explorer. Those seem fairly obvious. However, others are not so clear. I am not certain which if any of the unavailable project components should be removed. I didn't see this mentioned in the documentation. Any advice would be welcomed. Thanks in advance for your assistance, :) John Devron |
From: Dale W. <wi...@oc...> - 2009-04-29 19:11:57
|
Alex Marangos wrote: > Alternatively, is there a way to enumerate through *all* fields of the message, regardless of whether they are in a group or not? > > void decodeFieldMap (const FIX::FieldMap & fieldMap) { FIX::FieldMap::Fields::const_iterator mapEnd = fieldMap.end(); for (FIX::FieldMap::Fields::const_iterator mapPos = fieldMap.begin(); mapPos != mapEnd; ++mapPos) { const FIX::FieldBase & field = (*mapPos).second; [do something with the field] int fieldTag = (*mapPos).first; int nGroups = fieldMap.groupCount(fieldTag); if(nGroups != 0) { [do start of group processing] for (int ng = 0; ng < nGroups; ++ng) { [begin group entry] FIX::FieldMap groupMap; decodeFieldMap (groupMap); } [do end of group processing] } } } Dale |
From: Alex M. <ale...@ya...> - 2009-04-29 18:35:19
|
Hi, I'm working on a simple FIX log formatter for my application, and I'm a bit stuck when it comes to iterating through repeating groups in a FIX message. What I've currently done is as follows (this is all in C#): internal string FormatMessage(QuickFix.Message msg) { foreach(QuickFix.StringField fld in msg.getHeader()) result += FormatField(fld); foreach(QuickFix.StringField fld in msg) result += FormatField(fld); foreach(QuickFix.StringField fld in msg.getTrailer()) result += FormatField(fld); } I'm looking for a simple way to extend the above to handle repeating groups in the message body. I don't want to use a DataDictionary, as this needs to be as generic as possible (I have no idea what FIX version the message will be and what groups may or may not be in the message). Alternatively, is there a way to enumerate through *all* fields of the message, regardless of whether they are in a group or not? Thanks, Alexandros |
From: Joaquín G. <j.g...@ra...> - 2009-04-29 11:36:38
|
Hi all, I am building an automatic trading application that sends orders to our broker using quickfix. What would be the benefit of sending tag 141=Y? Would quickfix handle sequence number resets? Is there any advantage in sending tag 141=N? Thanks to all. |
From: Michael F. <mic...@gm...> - 2009-04-29 08:12:13
|
Hi, I've been doing some exploratory development on Quickfix using the Ruby API and I have noticed quite a few segmentation faults (crashes): [BUG] Segmentation fault ruby 1.8.5 (2006-08-25) [x86_64-linux] I pick these up from time to time, when I re-run the same code without changes the crash does not re-appear. The crashes happen with both client and server. Admittedly, the code is rough and does not trap for errors. So I am hoping that, with proper coding, these errors would go away. But I am also wondering whether maybe the Ruby API is inherently unstable. What experience have you guys had with the Ruby API? Michael |
From: Joseph La V. <jpl...@co...> - 2009-04-28 14:27:00
|
great, thank you so much. regards, Joe ----- Original Message ----- From: Brian Erst To: jplavalle ; qui...@li... Sent: Tuesday, April 28, 2009 10:19 AM Subject: Re: [Quickfix-developers] Sequence Reset Joe - Add code like the following to your "toApp" callback: void ExampleApp::toApp(FIX::Message& message, const FIX::SessionID& sessionID) throw(FIX::DoNotSend) { // Don't send messages that are being resent try { FIX::PossDupFlag possDupFlag; message.getHeader().getField( possDupFlag ); if (possDupFlag) throw FIX::DoNotSend(); } catch ( FIX::FieldNotFound& ) {} // Do any other processing... } QuickFIX will set the PossDup flag on any message that is being resent. You can use that flag to prevent all (or a subset) of messages from being resent by simply throwing the DoNotSend exception. My rule of thumb is never resend messages that increase market risk (orders, amendments), but it's OK to resend messages that decrease risk (cancels) or report status (execution reports). - Brian Erst Thynk Software, Inc. ------------------------------------------------------------------------------ From: jplavalle <jpl...@co...> To: qui...@li... Sent: Tuesday, April 28, 2009 5:29:45 AM Subject: [Quickfix-developers] Sequence Reset QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html When the counterparty sends me a sequence reset (they simulate an abnormal termination), what is the proper way to answer them back? They sent me a test where the sequence was reset to 1, and quickfix resent all of the days messages back as new which we dont want to do. I do not want to resend all of the messages which they would interpret as new, I believe I need to return a Gap Fill? Can anyone suggest the proper way to handle this situation? thx Joe -- View this message in context: http://www.nabble.com/Sequence-Reset-tp23274345p23274345.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Brian E. <azz...@ya...> - 2009-04-28 14:19:25
|
Joe - Add code like the following to your "toApp" callback: void ExampleApp::toApp(FIX::Message& message, const FIX::SessionID& sessionID) throw(FIX::DoNotSend) { // Don't send messages that are being resent try { FIX::PossDupFlag possDupFlag; message.getHeader().getField( possDupFlag ); if (possDupFlag) throw FIX::DoNotSend(); } catch ( FIX::FieldNotFound& ) {} // Do any other processing... } QuickFIX will set the PossDup flag on any message that is being resent. You can use that flag to prevent all (or a subset) of messages from being resent by simply throwing the DoNotSend exception. My rule of thumb is never resend messages that increase market risk (orders, amendments), but it's OK to resend messages that decrease risk (cancels) or report status (execution reports). - Brian Erst Thynk Software, Inc. ________________________________ From: jplavalle <jpl...@co...> To: qui...@li... Sent: Tuesday, April 28, 2009 5:29:45 AM Subject: [Quickfix-developers] Sequence Reset QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html When the counterparty sends me a sequence reset (they simulate an abnormal termination), what is the proper way to answer them back? They sent me a test where the sequence was reset to 1, and quickfix resent all of the days messages back as new which we dont want to do. I do not want to resend all of the messages which they would interpret as new, I believe I need to return a Gap Fill? Can anyone suggest the proper way to handle this situation? thx Joe -- View this message in context: http://www.nabble.com/Sequence-Reset-tp23274345p23274345.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: jplavalle <jpl...@co...> - 2009-04-28 10:29:53
|
When the counterparty sends me a sequence reset (they simulate an abnormal termination), what is the proper way to answer them back? They sent me a test where the sequence was reset to 1, and quickfix resent all of the days messages back as new which we dont want to do. I do not want to resend all of the messages which they would interpret as new, I believe I need to return a Gap Fill? Can anyone suggest the proper way to handle this situation? thx Joe -- View this message in context: http://www.nabble.com/Sequence-Reset-tp23274345p23274345.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Peter L. <pet...@eQ...> - 2009-04-24 16:38:41
|
Hello, In an earlier post I have read Quickfix developers have some tools (XSLT?) which convert FIX repository XML files to Quickfix XML data dictionary, and also generates Quickfix source code (src/C++/fixXY/*). Is it so? Is this tool free and available? I don't find it neither in the stable release, nor in the SVN checkout. I have modified FIX repository XML definition files from a fix vendor, which is based on FIX 4.2, but has a lot of changes compared to the standard, so it would be great if I could regenerate quickfix message definitions. If I can't use such an existing tool, I'm about to: 1) Write an XSLT which creates a quickfix compatible XML. Like FIX42MyVendor.xml 2) Use it as a validator (with DataDictionary). 3) As I cannot generate the static C++ message definitions (src/C++/fix42MyVendor/*), as it is beyond my knowledge, I'm planning to use the "More Type Safe" way of receiving/sending messages as it is described in Quickfix documentation. Is this looking to be a feasible way? I'm a novice in quickfix, and I don't yet see the connection between the DataDictionary and the real message definitions, but I suppose they are not related, except that both were generated from the same XML. And can I do something "more" regarding type safety or automatic message validating? Thanks, Peter |