quickfix-users Mailing List for QuickFIX (Page 58)
Brought to you by:
orenmnero
You can subscribe to this list here.
2002 |
Jan
|
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(11) |
Oct
(3) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(7) |
Feb
(3) |
Mar
(10) |
Apr
(40) |
May
(63) |
Jun
(12) |
Jul
(26) |
Aug
(13) |
Sep
(6) |
Oct
(13) |
Nov
(17) |
Dec
(28) |
2004 |
Jan
(13) |
Feb
(6) |
Mar
(9) |
Apr
(20) |
May
(15) |
Jun
(29) |
Jul
(22) |
Aug
(11) |
Sep
(32) |
Oct
(34) |
Nov
(22) |
Dec
(33) |
2005 |
Jan
(17) |
Feb
(8) |
Mar
(3) |
Apr
(20) |
May
(19) |
Jun
(29) |
Jul
(30) |
Aug
(10) |
Sep
(24) |
Oct
|
Nov
(17) |
Dec
(11) |
2006 |
Jan
(32) |
Feb
(54) |
Mar
(34) |
Apr
(43) |
May
(14) |
Jun
(11) |
Jul
(10) |
Aug
(43) |
Sep
(37) |
Oct
(44) |
Nov
(16) |
Dec
(11) |
2007 |
Jan
(26) |
Feb
(5) |
Mar
(23) |
Apr
(3) |
May
(22) |
Jun
(17) |
Jul
(22) |
Aug
(34) |
Sep
(17) |
Oct
(18) |
Nov
(4) |
Dec
(8) |
2008 |
Jan
(28) |
Feb
(28) |
Mar
(23) |
Apr
(37) |
May
(53) |
Jun
(20) |
Jul
(30) |
Aug
(12) |
Sep
(19) |
Oct
(16) |
Nov
(15) |
Dec
(10) |
2009 |
Jan
(19) |
Feb
(8) |
Mar
(21) |
Apr
(8) |
May
(15) |
Jun
(22) |
Jul
(34) |
Aug
(18) |
Sep
(23) |
Oct
(26) |
Nov
(16) |
Dec
(13) |
2010 |
Jan
(38) |
Feb
(17) |
Mar
(39) |
Apr
(34) |
May
(5) |
Jun
(15) |
Jul
(7) |
Aug
(18) |
Sep
(4) |
Oct
(16) |
Nov
(3) |
Dec
(17) |
2011 |
Jan
(28) |
Feb
(12) |
Mar
(36) |
Apr
(9) |
May
(26) |
Jun
(27) |
Jul
(6) |
Aug
(10) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(9) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(9) |
Nov
(10) |
Dec
(8) |
2013 |
Jan
(3) |
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(22) |
Aug
(5) |
Sep
(3) |
Oct
(3) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(4) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Francis G. <fr...@at...> - 2006-05-05 16:23:44
|
Hi, I use QF 1.11 with .NET 2 and I'm connecting to an 4.4 acceptor that sends Instrument block groups in a TradingSessionStatus message (I don't know why they didn't use the SecurityDefinition message but I have to deal with it). My xml dictionary contains the correct structure for the message. I can't figure out how to get to data in the Instrument Block repeating groups. What is wrong with this code? int groups = message.getInt(new NoRelatedSym().getField()); for (uint i = 1; i < groups; i++) //there are 15+ groups { FieldMap fieldMap; message.getGroup(i, fieldMap); //this isn't working string symbol = fieldMap.getString(new Symbol().getField()); } Thanks, Francis |
From: Francis G. <fr...@at...> - 2006-05-02 20:04:10
|
Tom, Just so you know, I sent a project to Oren that demonstrates the problem. Francis |
From: Tom F. <tom...@ki...> - 2006-04-29 23:29:25
|
Hm, I got an email from another user who mentioned that he has the same problem and that he can reproduce it at will. I'll try to code up a quick sample tomorrow that replicates this behavior. I'm running 2 sessions but also 2 ThreadedSocketInitiator instances. Regards, Tom ----- Original Message ---- From: Oren Miller <or...@qu...> To: Tom Frey <tom...@ki...>; qui...@li... Sent: Saturday, April 29, 2006 10:18:27 PM Subject: Re: [Quickfix-users] Re: .NET Can not open bpdy file ... unreleased resources I'm currently not able to duplicate this. Do you have any more details about what you are doing? Are you running multiple sessions? I tried your example code on a ThreadedSocketInitiator with one session and did not get the exception. Any more details about what you are doing would be very helpful. If it is possible to send us a working project that demonstrates the problem, all the better. --oren ----- Original Message ----- From: Tom Frey To: qui...@li... Sent: Thursday, April 27, 2006 7:53 AM Subject: [Quickfix-users] Re: .NET Can not open bpdy file ... unreleased resources Hm, so how others currently handling this: I have a socket initiator that tries to connect to a server but the server is down or maybe has some error. QuickFix will keep connecting as I can't stop the ThreadedSocketInitiator or my app will crash with some weird exceptions when I try. So I have no choice but bringing down my whole server that hosts the fix enviroment to stop the connection attempts? Also, when I just want to modify the config file, I need to bring the server down again? Imho this is a very high priority bug. Tom |
From: Oren M. <or...@qu...> - 2006-04-29 20:19:13
|
I'm currently not able to duplicate this. Do you have any more details = about what you are doing? Are you running multiple sessions? I tried = your example code on a ThreadedSocketInitiator with one session and did = not get the exception. Any more details about what you are doing would = be very helpful. If it is possible to send us a working project that = demonstrates the problem, all the better. --oren ----- Original Message -----=20 From: Tom Frey=20 To: qui...@li...=20 Sent: Thursday, April 27, 2006 7:53 AM Subject: [Quickfix-users] Re: .NET Can not open bpdy file ... = unreleased resources Hm, so how others currently handling this: I have a socket initiator that tries to connect to a server but the = server is down or maybe has some error. QuickFix will keep connecting as = I can't stop the ThreadedSocketInitiator or my app will crash with some = weird exceptions when I try. So I have no choice but bringing down my = whole server that hosts the fix enviroment to stop the connection = attempts? Also, when I just want to modify the config file, I need to = bring the server down again? Imho this is a very high priority bug.=20 Tom |
From: Ajay K. <Aja...@tr...> - 2006-04-27 15:03:28
|
I think that the behavior of logout() is a bit counterintuitive partly because IMHO the method is misnamed. A better name would have been suspend() which would make it clear that auto-connect attempts will be turned off. And the complementary function would be resume() which would re-enable the auto connect attempts. =20 - Ajay -----Original Message----- From: Dale Wilson [mailto:wil...@oc...]=20 Sent: Thursday, April 27, 2006 10:50 AM To: Tom Frey Cc: qui...@li... Subject: Re: [Quickfix-users] Re: .NET Can not open bpdy file ... unreleasedresources =09 =09 Hi Tom: =09 In onLogout call session->logout(); It seems a bit counterintuitive, but that stops the automatic retries -- you're telling QuickFIX, "I really MEAN to be logged out -- it's not just an accident." =09 When the application is ready to try again, calling session->logon() starts things up again. =09 Dale =09 Tom Frey wrote:=20 Hm, so how others currently handling this: I have a socket initiator that tries to connect to a server but the server is down or maybe has some error. QuickFix will keep connecting as I can't stop the ThreadedSocketInitiator or my app will crash with some weird exceptions when I try. So I have no choice but bringing down my whole server that hosts the fix enviroment to stop the connection attempts? Also, when I just want to modify the config file, I need to bring the server down again? Imho this is a very high priority bug.=20 =09 Tom =09 -------------------------------------------------------------------------= -- The information in this email is confidential and may be legally = privileged. It is intended solely for the addressee. Access to this email by anyone = else is unauthorized. If you are not the intended recipient, any disclosure, = copying, distribution or any action taken or omitted to be taken in reliance on = it, is prohibited and may be unlawful. TradeWeb reserves the right to monitor and review the content of all = messages sent to or from this e-mail address. Messages sent to or from this e-mail = address may be stored on the TradeWeb e-mail system. |
From: Dale W. <wil...@oc...> - 2006-04-27 14:50:15
|
Hi Tom: In onLogout call session->logout(); It seems a bit counterintuitive, but that stops the automatic retries -- you're telling QuickFIX, "I really MEAN to be logged out -- it's not just an accident." When the application is ready to try again, calling session->logon() starts things up again. Dale Tom Frey wrote: > Hm, so how others currently handling this: > I have a socket initiator that tries to connect to a server but the > server is down or maybe has some error. QuickFix will keep connecting > as I can't stop the ThreadedSocketInitiator or my app will crash with > some weird exceptions when I try. So I have no choice but bringing > down my whole server that hosts the fix enviroment to stop the > connection attempts? Also, when I just want to modify the config file, > I need to bring the server down again? Imho this is a very high > priority bug. > > Tom |
From: Tom F. <tom...@ki...> - 2006-04-27 12:53:50
|
Hm, so how others currently handling this: I have a socket initiator that tries to connect to a server but the server is down or maybe has some error. QuickFix will keep connecting as I can't stop the ThreadedSocketInitiator or my app will crash with some weird exceptions when I try. So I have no choice but bringing down my whole serve= r that hosts the fix enviroment to stop the connection attempts? Also, when I just want to modify the config file, I need to bring the server down again? Imho this is a very high priority bug. Tom |
From: Oren M. <or...@qu...> - 2006-04-27 05:50:55
|
You also need to make sure that all header fields precede any body fields, and all body field precede and trailer fields. The reject message is complaining about tag 50 (371=50). This is the header field SenderSubID, which is appearing in the body of the message. You are probably doing a setField( SenderSubID ), instead of a getHeader().setField( SenderSubID ). --oren Tom Frey wrote: > Hi, > > I'm wondering why QuickFix rejects the following drop with "Tag > specified out of required order": > > 8=FIX.4.29=22435=834=1749=FIMAT_PREF56=MCOMPASS_DROP52=20060426-20:27:32115=ara6=27.0914=117=220=031=27.0932=137=93934938=139=2150=240=21=1MA54=155=MSFT30=ara60=20060426-20:27:32198=12483=20060426-20:27:3250=p212610=128 > > 8=FIX.4.29=13235=334=949=MCOMPASS_DROP52=20060426-20:27:32.70356=FIMAT_PREF128=ara45=1758=Tag > specified out of required order371=50372=810=038 > > As far as I know only the first 3 and last tag have to have a specific > order? > > Thanks, > > Tom |
From: Francis G. <fr...@at...> - 2006-04-27 04:11:35
|
I am getting the same error on .NET 2.0 and QF 1.11. I didn't have time to investigate yet but can reproduce at will. Actually I don't know how to avoid it.. Francis -----Original Message----- From: Tom Frey Sent: Wednesday, April 26, 2006 13:44 To: qui...@li... Subject: [Quickfix-users] .NET Can not open bpdy file ... unreleased resources Hi, I can not restart the ThreadedSocketInitiator as it throws "Can not open body file exception" due to some unreleased resources. Here is what I tried: initiator = new ThreadedSocketInitiator (application, fileStoreFactory, sessionSettings, fileLogFactory, messageFactory); initiator.Start(); initiator.Stop(); initiator = null; GC.Collect(); GC.WaitForPendingFinalizers(); initiator = new ThreadedSocketInitiator(application, fileStoreFactory, sessionSettings, fileLogFactory, messageFactory); ---->> Here I get "Could not open body file exception" Anybody has an idea? Thanks, Tom |
From: Tom F. <tom...@ki...> - 2006-04-26 20:54:43
|
Hi, I'm wondering why QuickFix rejects the following drop with "Tag specified out of required order": 8=3D FIX.4.2=019=3D224=0135=3D8=0134=3D17=0149=3DFIMAT_PREF=0156=3DMCOMPASS_DROP= =0152=3D20060426-20:27:32=01115=3Dara=016=3D27.09=0114=3D1=0117=3D2=0120=3D= 0=0131=3D27.09=0132=3D1=0137=3D939349=0138=3D1=0139=3D2=01150=3D2=0140=3D2= =011=3D1MA=0154=3D1=0155=3DMSFT=0130=3Dara=0160=3D20060426-20:27:32=01198= =3D12=01483=3D20060426-20:27:32=0150=3Dp2126=0110=3D128=01 8=3D FIX.4.2=019=3D132=0135=3D3=0134=3D9=0149=3DMCOMPASS_DROP=0152=3D20060426-20= :27:32.703=0156=3DFIMAT_PREF=01128=3Dara=0145=3D17=0158=3DTagspecified out of required order=01371=3D50=01372=3D8=0110=3D038=01 As far as I know only the first 3 and last tag have to have a specific order? Thanks, Tom |
From: Tom F. <tom...@ki...> - 2006-04-26 17:44:00
|
Hi, I can not restart the ThreadedSocketInitiator as it throws "Can not open body file exception" due to some unreleased resources. Here is what I tried: initiator =3D new ThreadedSocketInitiator(application, fileStoreFactory, sessionSettings, fileLogFactory, messageFactory); initiator.Start(); initiator.Stop(); initiator =3D null; GC.Collect(); GC.WaitForPendingFinalizers(); initiator =3D new ThreadedSocketInitiator(application, fileStoreFactory, sessionSettings, fileLogFactory, messageFactory); ---->> Here I get "Could not open body file exception" Anybody has an idea? Thanks, Tom |
From: Andrew M. <an...@nm...> - 2006-04-17 21:37:29
|
In FIX41.XML I changed all the tags in OrderCancelRequest to required=no. Then I ran generate and rebuilt everything including JARs. Still when I send a cancel without the usual tags I get "Required tag missing". Is there someplace else I need to change this? My intent is to use Arca's Bulk Cancel message which takes minimal tags. Part of my FIX41.XML is below.. Thanks, Andrew <message name="OrderCancelRequest" msgtype="F" msgcat="app"> <field name="OrigClOrdID" required="N"/> <field name="OrderID" required="N"/> <field name="ClOrdID" required="N"/> <field name="ListID" required="N"/> <field name="ClientID" required="N"/> <field name="ExecBroker" required="N"/> <field name="Symbol" required="N"/> <field name="SymbolSfx" required="N"/> <field name="SecurityID" required="N"/> <field name="IDSource" required="N"/> <field name="SecurityType" required="N"/> <field name="MaturityMonthYear" required="N"/> <field name="MaturityDay" required="N"/> <field name="PutOrCall" required="N"/> <field name="StrikePrice" required="N"/> <field name="OptAttribute" required="N"/> <field name="SecurityExchange" required="N"/> <field name="Issuer" required="N"/> <field name="SecurityDesc" required="N"/> <field name="Side" required="N"/> <field name="OrderQty" required="N"/> <field name="CashOrderQty" required="N"/> <field name="Text" required="N"/> <field name="Account" required="N"/> <field name="OnBehalfOfCompID" required="N"/> <field name="SenderSubID" required="N"/> <field name="TimeInForce" required="N"/> <field name="ExDestination" required="N"/> <field name="CancelPriority" equired="N"/> </message> |
From: Oren M. <or...@qu...> - 2006-04-17 16:25:22
|
Richard, I re-read your original post and seems like I misread it. I thought you were having trouble when you were including the LegSymbol, now I see you are actually having trouble when you do not include it. Despite what the fiximate says in the spec, in this case LegSymbol is absolutely necessary. It is a general rule in the FIX specification that for every repeating group, the first field of that group is always required. Why? Because that field is the delimiter which determines when a new group starts (FIX does not have a special delimiter field). For this reason, if you do not include the LegSymbol, QuickFIX is not given enough information to parse the message, and therefore the checksum is incorrect. A better error message should be given when a message fails validation for this reason, however it is the case that the message is incorrect without those fields. --oren Murphy, Richard wrote: >QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >QuickFIX Support: http://www.quickfixengine.org/services.html > >It'll take me a bit of time to reformat the ouput but here's the code >which creates both a quote request either with or with out the LegSymbol >- depending on the arg. > >Cheers >R > >int requestId = 1000000; > >FIX44::QuoteRequest TestFIX::makeQuoterequest( bool legSymbol ) >{ > char psId[20]=""; > sprintf( psId,"%i", ++requestId); > > FIX::QuoteReqID quoteRequestID( psId ); > FIX44::QuoteRequest msg ( quoteRequestID ); > > msg.set(FIX::NoRelatedSym(1)); > > FIX44::QuoteRequest::NoRelatedSym noRelatedSym; > noRelatedSym.set (FIX::Symbol (".STOXX50E")); > noRelatedSym.set (FIX::OrderQty (1)); > noRelatedSym.set (FIX::SecurityType("MLEG")); > noRelatedSym.set (FIX::QuoteType(0)); > noRelatedSym.set (FIX::Account ("CANTOR")); > > FIX::NoUnderlyings underlying(1); > noRelatedSym.set( underlying ); > FIX44::QuoteRequest::NoRelatedSym::NoUnderlyings ugroup; > ugroup.set( FIX::UnderlyingSymbol(".STOXX50E")); > ugroup.set( FIX::UnderlyingPx( 3800 )); > noRelatedSym.addGroup( ugroup ); > > > std::string optionSymbol( "STXE38000E6.EX"); > FIX44::QuoteRequest::NoRelatedSym::NoLegs fixLeg; > if ( legSymbol ) > fixLeg.set (FIX::LegSymbol ( optionSymbol )); > fixLeg.set (FIX::LegSide ('1')); // 1=buy > fixLeg.set (FIX::LegMaturityMonthYear( "2006-05") ); > fixLeg.set (FIX::LegStrikePrice( 3800 )); > fixLeg.set (FIX::LegRatioQty( 1 )); > fixLeg.set (FIX::LegCFICode("OCE")); > fixLeg.set (FIX::LegContractMultiplier(10)); > noRelatedSym.addGroup( fixLeg ); > > FIX44::QuoteRequest::NoRelatedSym::NoLegs fixLeg2; > if ( legSymbol ) > fixLeg2.set (FIX::LegSymbol( "STXE38000Q6.EX")); > fixLeg2.set (FIX::LegSide ('2')); // 1=buy > fixLeg2.set (FIX::LegMaturityMonthYear( "2006-05") ); > fixLeg2.set (FIX::LegStrikePrice( 3800 )); > FIX::LegRatioQty ratio(1); > fixLeg2.set (FIX::LegRatioQty( ratio )); > fixLeg2.set (FIX::LegCFICode("OPE")); > fixLeg2.set( FIX::LegContractMultiplier(10)); > > noRelatedSym.addGroup( fixLeg2 ); > > msg.addGroup( noRelatedSym ); > return msg; > >} > > > >-----Original Message----- >From: Oren Miller [mailto:or...@qu...] >Sent: 13 April 2006 17:25 >To: Murphy, Richard >Cc: qui...@li... >Subject: Re: [Quickfix-users] user defined types seems to break typesafe >cracking in C++ > >These messages don't have any SOH or any other ASCII character >representing an SOH. This makes it difficult to work with. Could you >repost with the messages with some sort of delimiter between the fields? > >Also if you can post the code which generated the messages, that would >be helpful as well. > >--oren > >Murphy, Richard wrote: > > > >>Oren, >> >>I've attached a file. The first line is the fix msg with the legsymbol >>the second is the msg without the legsymbol (id=600). >> >>Fyi my current workaround is to comment out the checksym check in >>Message.cpp and rebuild quickfix. >> >>Thanks, >>Richard. >> >> >>-----Original Message----- >>From: Oren Miller [mailto:or...@qu...] >>Sent: 13 April 2006 15:32 >>To: Murphy, Richard >>Cc: qui...@li... >>Subject: Re: [Quickfix-users] user defined types seems to break >> >> >typesafe > > >>cracking in C++ >> >>Richard, >> >>Can you post your actual messages (with and without the LegSymbol)? >> >>--oren >> >>Murphy, Richard wrote: >> >> >> >> >> >>>Oren, >>> >>>I've found that the checksum is failing if I do not include LegSymbol >>>in a QuoteRequest. >>> >>>Line 564 of Message.cpp (v 1.10.2) >>> >>>"Expected CheckSum=128, Recieved CheckSum=129" >>> >>>However this text doesn't seem to get logged in any of output text >>>files - had todebug it. >>> >>>I've not figured out why the checksum fails. >>> >>>R >>> >>>* From: * Murphy, Richard >>>*Sent:* 12 April 2006 19:02 >>>*To:* Oren Miller; qui...@li... >>>*Subject:* RE: [Quickfix-users] user defined types seems to break >>>typesafe cracking in C++ >>> >>>I've tried debugging quickfix source >>> >>>I've run into a similar symptom which is that if I send an quote >>>request whose InstrumentLeg has not LegSymbol then it seems to >>>persistently break quickfix. >>> >>>Ie unless I delete seqnum file the communication is broken. I notice >>>that FIX::Session::verify never gets called but the msg is logged to >>>FIX.4.4.XXXXX.incoming. >>> >>>If I add the LegSymbol field then everything works (it's not a >>>required field in 4.4) - aha that's it it is a required symbol in >>>FIX4.4.xml but not according to >>> >>>http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html >>> >>>I tried setting LegSymbol to not requied in the fix44.xml but that >>>didn't have any effect. >>> >>>Any ideas what is going on ? >>> >>>Thanks >>> >>>R >>> >>>* From: * Oren Miller [mailto:or...@qu...] >>>*Sent:* 03 April 2006 15:58 >>>*To:* Murphy, Richard; qui...@li... >>>*Subject:* Re: [Quickfix-users] user defined types seems to break >>>typesafe cracking in C++ >>> >>>Have you tried tracing through the message cracker? There shouldn't be >>> >>> >>> >>> >> >> >> >> >>>any reason why adding a field would cause the behavior to change. >>> >>>--oren >>> >>> ----- Original Message ----- >>> >>> * From: * Murphy, Richard <mailto:Ric...@ci...> >>> >>> * To: * qui...@li... >>> <mailto:qui...@li...> >>> >>> * Sent: * Friday, March 31, 2006 5:59 AM >>> >>> * Subject: * [Quickfix-users] user defined types seems to break >>> typesafe cracking in C++ >>> >>> Hi, >>> >>> I'm looking at QuickFix user defined types. >>> >>> I find that if I add a user defined field to a structure such as a >>> FIX44::Quote I find that typesafe message cracking fails. >>> >>> What I mean by that is that the the onMessage function that takes >>> FIX44::Quote as an argument does not get called. >>> >>> If I remove the user defined type then the function does get >>> >>> >>> >>> >>called. >> >> >> >> >>> Can you confirm this behaviour ? Is there a workaround ? >>> >>> I used the procedure documented on the QuickFix doc url. >>> >>> Thanks >>> >>> Richard. >>> >>> QuickFix Version 1.10.2 >>> >>> Compiler : g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42) >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>----------------------------------------------------------------------- >> >> >- > > >>--------------------- >> >> >> >> >>> The information contained in this transmission and any attached >>> documents is privileged, confidential and intended only for the >>> use of the individual or entity named above. If the reader of this >>> message is not the intended recipient, you are hereby directed not >>> to read the contents of this transmission, and are hereby notified >>> that any disclosure, copying, distribution, dissemination or use >>> of the contents of this transmission, including any attachments, >>> or the taking of any action in reliance thereon, is strictly >>> prohibited. If you have received this communication in error, >>> please notify the sender and/or Citadel Investment Group ( Europe >>> ) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy >>> any copy of this transmission. >>> >>> Citadel Investment Group ( Europe ) Ltd is authorised and >>> regulated by the Financial Services Authority (FSA Firm Ref No >>> 190260). >>> Registered in England . Registration No. 3666898. >>> Registered Office: 10th Floor, 2 George Yard, Lombard Street , >>> London EC3V 9DH >>> >>> >>> >>> >>> >> >>----------------------------------------------------------------------- >> >> >---------------------- > > >>The information contained in this transmission and any attached >> >> >documents is privileged, confidential and intended only for the use of >the individual or entity named above. If the reader of this message is >not the intended recipient, you are hereby directed not to read the >contents of this transmission, and are hereby notified that any >disclosure, copying, distribution, dissemination or use of the contents >of this transmission, including any attachments, or the taking of any >action in reliance thereon, is strictly prohibited. If you have >received this communication in error, please notify the sender and/or >Citadel Investment Group (Europe) Ltd immediately by telephone at +44 >(0) 20 7645 9700 and destroy any copy of this transmission. > > >>Citadel Investment Group (Europe) Ltd is authorised and regulated by >> >> >the Financial Services Authority (FSA Firm Ref No 190260). > > >>Registered in England. Registration No. 3666898. >>Registered Office: 10th Floor, 2 George Yard, Lombard Street, London >> >> >EC3V 9DH > > >> >> >>----------------------------------------------------------------------- >> >> >- > > >>8=FIX.4.49=29135=R34=3149=TESTFIX52=20060413-14:51:23.84656=ASRFQServer >> >> >131=1000001146=155=.STOXX50E167=MLEG537=038=11=CANTOR555=2600=STXE38000E >6.EX608=OCE610=2006-05612=3800614=10623=1624=1600=STXE38000Q6.EX608=OPE6 >10=2006-05612=3800614=10623=1624=2711=1311=.STOXX50E810=380010=105 > > >>8=FIX.4.49=25335=R34=4349=TESTFIX52=20060413-14:54:33.65756=ASRFQServer >> >> >131=1000003146=155=.STOXX50E167=MLEG537=038=11=CANTOR555=2608=OCE610=200 >6-05612=3800614=10623=1624=1608=OPE610=2006-05612=3800614=10623=1624=271 >1=1311=.STOXX50E810=380010=178 > > > > > > > >--------------------------------------------------------------------------------------------- > >The information contained in this transmission and any attached documents is privileged, confidential and intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby directed not to read the contents of this transmission, and are hereby notified that any disclosure, copying, distribution, dissemination or use of the contents of this transmission, including any attachments, or the taking of any action in reliance thereon, is strictly prohibited. If you have received this communication in error, please notify the sender and/or Citadel Investment Group (Europe) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy any copy of this transmission. > >Citadel Investment Group (Europe) Ltd is authorised and regulated by the Financial Services Authority (FSA Firm Ref No 190260). >Registered in England. Registration No. 3666898. >Registered Office: 10th Floor, 2 George Yard, Lombard Street, London EC3V 9DH > > >------------------------------------------------------- >This SF.Net email is sponsored by xPML, a groundbreaking scripting language >that extends applications into web and mobile media. Attend the live webcast >and join the prime developer group breaking into this new coding territory! >http://sel.as-us.falkag.net/sel?cmd=k&kid0944&bid$1720&dat1642 >_______________________________________________ >Quickfix-users mailing list >Qui...@li... >https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > > |
From: Murphy, R. <Ric...@ci...> - 2006-04-13 16:48:18
|
It'll take me a bit of time to reformat the ouput but here's the code which creates both a quote request either with or with out the LegSymbol - depending on the arg. Cheers R int requestId =3D 1000000; FIX44::QuoteRequest TestFIX::makeQuoterequest( bool legSymbol ) { char psId[20]=3D""; sprintf( psId,"%i", ++requestId); FIX::QuoteReqID quoteRequestID( psId ); FIX44::QuoteRequest msg ( quoteRequestID ); msg.set(FIX::NoRelatedSym(1)); FIX44::QuoteRequest::NoRelatedSym noRelatedSym; noRelatedSym.set (FIX::Symbol (".STOXX50E")); noRelatedSym.set (FIX::OrderQty (1)); noRelatedSym.set (FIX::SecurityType("MLEG")); noRelatedSym.set (FIX::QuoteType(0)); noRelatedSym.set (FIX::Account ("CANTOR")); FIX::NoUnderlyings underlying(1); noRelatedSym.set( underlying ); FIX44::QuoteRequest::NoRelatedSym::NoUnderlyings ugroup; ugroup.set( FIX::UnderlyingSymbol(".STOXX50E")); ugroup.set( FIX::UnderlyingPx( 3800 )); noRelatedSym.addGroup( ugroup ); std::string optionSymbol( "STXE38000E6.EX"); FIX44::QuoteRequest::NoRelatedSym::NoLegs fixLeg; if ( legSymbol ) fixLeg.set (FIX::LegSymbol ( optionSymbol )); fixLeg.set (FIX::LegSide ('1')); // 1=3Dbuy fixLeg.set (FIX::LegMaturityMonthYear( "2006-05") ); fixLeg.set (FIX::LegStrikePrice( 3800 )); fixLeg.set (FIX::LegRatioQty( 1 )); fixLeg.set (FIX::LegCFICode("OCE")); fixLeg.set (FIX::LegContractMultiplier(10)); noRelatedSym.addGroup( fixLeg ); FIX44::QuoteRequest::NoRelatedSym::NoLegs fixLeg2; if ( legSymbol ) fixLeg2.set (FIX::LegSymbol( "STXE38000Q6.EX")); fixLeg2.set (FIX::LegSide ('2')); // 1=3Dbuy fixLeg2.set (FIX::LegMaturityMonthYear( "2006-05") ); fixLeg2.set (FIX::LegStrikePrice( 3800 )); FIX::LegRatioQty ratio(1); fixLeg2.set (FIX::LegRatioQty( ratio )); fixLeg2.set (FIX::LegCFICode("OPE")); fixLeg2.set( FIX::LegContractMultiplier(10)); noRelatedSym.addGroup( fixLeg2 ); msg.addGroup( noRelatedSym ); return msg; } -----Original Message----- From: Oren Miller [mailto:or...@qu...]=20 Sent: 13 April 2006 17:25 To: Murphy, Richard Cc: qui...@li... Subject: Re: [Quickfix-users] user defined types seems to break typesafe cracking in C++ These messages don't have any SOH or any other ASCII character representing an SOH. This makes it difficult to work with. Could you repost with the messages with some sort of delimiter between the fields? Also if you can post the code which generated the messages, that would be helpful as well. --oren Murphy, Richard wrote: >Oren, > >I've attached a file. The first line is the fix msg with the legsymbol >the second is the msg without the legsymbol (id=3D600). > >Fyi my current workaround is to comment out the checksym check in >Message.cpp and rebuild quickfix.=20 > >Thanks, >Richard.=20 > > >-----Original Message----- >From: Oren Miller [mailto:or...@qu...]=20 >Sent: 13 April 2006 15:32 >To: Murphy, Richard >Cc: qui...@li... >Subject: Re: [Quickfix-users] user defined types seems to break typesafe >cracking in C++ > >Richard, > >Can you post your actual messages (with and without the LegSymbol)? > >--oren > >Murphy, Richard wrote: > > =20 > >>Oren, >> >>I've found that the checksum is failing if I do not include LegSymbol=20 >>in a QuoteRequest. >> >>Line 564 of Message.cpp (v 1.10.2) >> >>"Expected CheckSum=3D128, Recieved CheckSum=3D129" >> >>However this text doesn't seem to get logged in any of output text=20 >>files - had todebug it. >> >>I've not figured out why the checksum fails. >> >>R >> >>* From: * Murphy, Richard >>*Sent:* 12 April 2006 19:02 >>*To:* Oren Miller; qui...@li... >>*Subject:* RE: [Quickfix-users] user defined types seems to break=20 >>typesafe cracking in C++ >> >>I've tried debugging quickfix source >> >>I've run into a similar symptom which is that if I send an quote=20 >>request whose InstrumentLeg has not LegSymbol then it seems to=20 >>persistently break quickfix. >> >>Ie unless I delete seqnum file the communication is broken. I notice=20 >>that FIX::Session::verify never gets called but the msg is logged to=20 >>FIX.4.4.XXXXX.incoming. >> >>If I add the LegSymbol field then everything works (it's not a=20 >>required field in 4.4) - aha that's it it is a required symbol in=20 >>FIX4.4.xml but not according to >> >>http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html >> >>I tried setting LegSymbol to not requied in the fix44.xml but that=20 >>didn't have any effect. >> >>Any ideas what is going on ? >> >>Thanks >> >>R >> >>* From: * Oren Miller [mailto:or...@qu...] >>*Sent:* 03 April 2006 15:58 >>*To:* Murphy, Richard; qui...@li... >>*Subject:* Re: [Quickfix-users] user defined types seems to break=20 >>typesafe cracking in C++ >> >>Have you tried tracing through the message cracker? There shouldn't be >> =20 >> > > =20 > >>any reason why adding a field would cause the behavior to change. >> >>--oren >> >> ----- Original Message ----- >> >> * From: * Murphy, Richard <mailto:Ric...@ci...> >> >> * To: * qui...@li... >> <mailto:qui...@li...> >> >> * Sent: * Friday, March 31, 2006 5:59 AM >> >> * Subject: * [Quickfix-users] user defined types seems to break >> typesafe cracking in C++ >> >> Hi, >> >> I'm looking at QuickFix user defined types. >> >> I find that if I add a user defined field to a structure such as a >> FIX44::Quote I find that typesafe message cracking fails. >> >> What I mean by that is that the the onMessage function that takes >> FIX44::Quote as an argument does not get called. >> >> If I remove the user defined type then the function does get >> =20 >> >called. > =20 > >> Can you confirm this behaviour ? Is there a workaround ? >> >> I used the procedure documented on the QuickFix doc url. >> >> Thanks >> >> Richard. >> >> QuickFix Version 1.10.2 >> >> Compiler : g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42) >> >> >> >> >> >> >> =20 >> >----------------------------------------------------------------------- - >--------------------- > =20 > >> The information contained in this transmission and any attached >> documents is privileged, confidential and intended only for the >> use of the individual or entity named above. If the reader of this >> message is not the intended recipient, you are hereby directed not >> to read the contents of this transmission, and are hereby notified >> that any disclosure, copying, distribution, dissemination or use >> of the contents of this transmission, including any attachments, >> or the taking of any action in reliance thereon, is strictly >> prohibited. If you have received this communication in error, >> please notify the sender and/or Citadel Investment Group ( Europe >> ) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy >> any copy of this transmission. >> >> Citadel Investment Group ( Europe ) Ltd is authorised and >> regulated by the Financial Services Authority (FSA Firm Ref No >> 190260). >> Registered in England . Registration No. 3666898. >> Registered Office: 10th Floor, 2 George Yard, Lombard Street , >> London EC3V 9DH >> >> =20 >> > > > > >----------------------------------------------------------------------- ---------------------- > >The information contained in this transmission and any attached documents is privileged, confidential and intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby directed not to read the contents of this transmission, and are hereby notified that any disclosure, copying, distribution, dissemination or use of the contents of this transmission, including any attachments, or the taking of any action in reliance thereon, is strictly prohibited. If you have received this communication in error, please notify the sender and/or Citadel Investment Group (Europe) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy any copy of this transmission. > >Citadel Investment Group (Europe) Ltd is authorised and regulated by the Financial Services Authority (FSA Firm Ref No 190260). >Registered in England. Registration No. 3666898. >Registered Office: 10th Floor, 2 George Yard, Lombard Street, London EC3V 9DH > =20 > >----------------------------------------------------------------------- - > >8=3DFIX.4.49=3D29135=3DR34=3D3149=3DTESTFIX52=3D20060413-14:51:23.84656=3D= ASRFQServer 131=3D1000001146=3D155=3D.STOXX50E167=3DMLEG537=3D038=3D11=3DCANTOR555=3D= 2600=3DSTXE38000E 6.EX608=3DOCE610=3D2006-05612=3D3800614=3D10623=3D1624=3D1600=3DSTXE38000= Q6.EX608=3DOPE6 10=3D2006-05612=3D3800614=3D10623=3D1624=3D2711=3D1311=3D.STOXX50E810=3D3= 80010=3D105 >8=3DFIX.4.49=3D25335=3DR34=3D4349=3DTESTFIX52=3D20060413-14:54:33.65756=3D= ASRFQServer 131=3D1000003146=3D155=3D.STOXX50E167=3DMLEG537=3D038=3D11=3DCANTOR555=3D= 2608=3DOCE610=3D200 6-05612=3D3800614=3D10623=3D1624=3D1608=3DOPE610=3D2006-05612=3D3800614=3D= 10623=3D1624=3D271 1=3D1311=3D.STOXX50E810=3D380010=3D178 > -------------------------------------------------------------------------= -------------------- The information contained in this transmission and any attached = documents is privileged, confidential and intended only for the use of = the individual or entity named above. If the reader of this message is = not the intended recipient, you are hereby directed not to read the = contents of this transmission, and are hereby notified that any = disclosure, copying, distribution, dissemination or use of the contents = of this transmission, including any attachments, or the taking of any = action in reliance thereon, is strictly prohibited. If you have = received this communication in error, please notify the sender and/or = Citadel Investment Group (Europe) Ltd immediately by telephone at +44 = (0) 20 7645 9700 and destroy any copy of this transmission. Citadel Investment Group (Europe) Ltd is authorised and regulated by the = Financial Services Authority (FSA Firm Ref No 190260). Registered in England. Registration No. 3666898. Registered Office: 10th Floor, 2 George Yard, Lombard Street, London = EC3V 9DH |
From: Oren M. <or...@qu...> - 2006-04-13 16:25:30
|
These messages don't have any SOH or any other ASCII character representing an SOH. This makes it difficult to work with. Could you repost with the messages with some sort of delimiter between the fields? Also if you can post the code which generated the messages, that would be helpful as well. --oren Murphy, Richard wrote: >Oren, > >I've attached a file. The first line is the fix msg with the legsymbol >the second is the msg without the legsymbol (id=600). > >Fyi my current workaround is to comment out the checksym check in >Message.cpp and rebuild quickfix. > >Thanks, >Richard. > > >-----Original Message----- >From: Oren Miller [mailto:or...@qu...] >Sent: 13 April 2006 15:32 >To: Murphy, Richard >Cc: qui...@li... >Subject: Re: [Quickfix-users] user defined types seems to break typesafe >cracking in C++ > >Richard, > >Can you post your actual messages (with and without the LegSymbol)? > >--oren > >Murphy, Richard wrote: > > > >>Oren, >> >>I've found that the checksum is failing if I do not include LegSymbol >>in a QuoteRequest. >> >>Line 564 of Message.cpp (v 1.10.2) >> >>"Expected CheckSum=128, Recieved CheckSum=129" >> >>However this text doesn't seem to get logged in any of output text >>files - had todebug it. >> >>I've not figured out why the checksum fails. >> >>R >> >>* From: * Murphy, Richard >>*Sent:* 12 April 2006 19:02 >>*To:* Oren Miller; qui...@li... >>*Subject:* RE: [Quickfix-users] user defined types seems to break >>typesafe cracking in C++ >> >>I've tried debugging quickfix source >> >>I've run into a similar symptom which is that if I send an quote >>request whose InstrumentLeg has not LegSymbol then it seems to >>persistently break quickfix. >> >>Ie unless I delete seqnum file the communication is broken. I notice >>that FIX::Session::verify never gets called but the msg is logged to >>FIX.4.4.XXXXX.incoming. >> >>If I add the LegSymbol field then everything works (it's not a >>required field in 4.4) - aha that's it it is a required symbol in >>FIX4.4.xml but not according to >> >>http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html >> >>I tried setting LegSymbol to not requied in the fix44.xml but that >>didn't have any effect. >> >>Any ideas what is going on ? >> >>Thanks >> >>R >> >>* From: * Oren Miller [mailto:or...@qu...] >>*Sent:* 03 April 2006 15:58 >>*To:* Murphy, Richard; qui...@li... >>*Subject:* Re: [Quickfix-users] user defined types seems to break >>typesafe cracking in C++ >> >>Have you tried tracing through the message cracker? There shouldn't be >> >> > > > >>any reason why adding a field would cause the behavior to change. >> >>--oren >> >> ----- Original Message ----- >> >> * From: * Murphy, Richard <mailto:Ric...@ci...> >> >> * To: * qui...@li... >> <mailto:qui...@li...> >> >> * Sent: * Friday, March 31, 2006 5:59 AM >> >> * Subject: * [Quickfix-users] user defined types seems to break >> typesafe cracking in C++ >> >> Hi, >> >> I'm looking at QuickFix user defined types. >> >> I find that if I add a user defined field to a structure such as a >> FIX44::Quote I find that typesafe message cracking fails. >> >> What I mean by that is that the the onMessage function that takes >> FIX44::Quote as an argument does not get called. >> >> If I remove the user defined type then the function does get >> >> >called. > > >> Can you confirm this behaviour ? Is there a workaround ? >> >> I used the procedure documented on the QuickFix doc url. >> >> Thanks >> >> Richard. >> >> QuickFix Version 1.10.2 >> >> Compiler : g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42) >> >> >> >> >> >> >> >> >------------------------------------------------------------------------ >--------------------- > > >> The information contained in this transmission and any attached >> documents is privileged, confidential and intended only for the >> use of the individual or entity named above. If the reader of this >> message is not the intended recipient, you are hereby directed not >> to read the contents of this transmission, and are hereby notified >> that any disclosure, copying, distribution, dissemination or use >> of the contents of this transmission, including any attachments, >> or the taking of any action in reliance thereon, is strictly >> prohibited. If you have received this communication in error, >> please notify the sender and/or Citadel Investment Group ( Europe >> ) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy >> any copy of this transmission. >> >> Citadel Investment Group ( Europe ) Ltd is authorised and >> regulated by the Financial Services Authority (FSA Firm Ref No >> 190260). >> Registered in England . Registration No. 3666898. >> Registered Office: 10th Floor, 2 George Yard, Lombard Street , >> London EC3V 9DH >> >> >> > > > > >--------------------------------------------------------------------------------------------- > >The information contained in this transmission and any attached documents is privileged, confidential and intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby directed not to read the contents of this transmission, and are hereby notified that any disclosure, copying, distribution, dissemination or use of the contents of this transmission, including any attachments, or the taking of any action in reliance thereon, is strictly prohibited. If you have received this communication in error, please notify the sender and/or Citadel Investment Group (Europe) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy any copy of this transmission. > >Citadel Investment Group (Europe) Ltd is authorised and regulated by the Financial Services Authority (FSA Firm Ref No 190260). >Registered in England. Registration No. 3666898. >Registered Office: 10th Floor, 2 George Yard, Lombard Street, London EC3V 9DH > > >------------------------------------------------------------------------ > >8=FIX.4.49=29135=R34=3149=TESTFIX52=20060413-14:51:23.84656=ASRFQServer131=1000001146=155=.STOXX50E167=MLEG537=038=11=CANTOR555=2600=STXE38000E6.EX608=OCE610=2006-05612=3800614=10623=1624=1600=STXE38000Q6.EX608=OPE610=2006-05612=3800614=10623=1624=2711=1311=.STOXX50E810=380010=105 >8=FIX.4.49=25335=R34=4349=TESTFIX52=20060413-14:54:33.65756=ASRFQServer131=1000003146=155=.STOXX50E167=MLEG537=038=11=CANTOR555=2608=OCE610=2006-05612=3800614=10623=1624=1608=OPE610=2006-05612=3800614=10623=1624=2711=1311=.STOXX50E810=380010=178 > |
From: Murphy, R. <Ric...@ci...> - 2006-04-13 14:59:09
|
Oren, I've attached a file. The first line is the fix msg with the legsymbol the second is the msg without the legsymbol (id=3D600). Fyi my current workaround is to comment out the checksym check in Message.cpp and rebuild quickfix.=20 Thanks, Richard.=20 -----Original Message----- From: Oren Miller [mailto:or...@qu...]=20 Sent: 13 April 2006 15:32 To: Murphy, Richard Cc: qui...@li... Subject: Re: [Quickfix-users] user defined types seems to break typesafe cracking in C++ Richard, Can you post your actual messages (with and without the LegSymbol)? --oren Murphy, Richard wrote: > Oren, > > I've found that the checksum is failing if I do not include LegSymbol=20 > in a QuoteRequest. > > Line 564 of Message.cpp (v 1.10.2) > > "Expected CheckSum=3D128, Recieved CheckSum=3D129" > > However this text doesn't seem to get logged in any of output text=20 > files - had todebug it. > > I've not figured out why the checksum fails. > > R > > * From: * Murphy, Richard > *Sent:* 12 April 2006 19:02 > *To:* Oren Miller; qui...@li... > *Subject:* RE: [Quickfix-users] user defined types seems to break=20 > typesafe cracking in C++ > > I've tried debugging quickfix source > > I've run into a similar symptom which is that if I send an quote=20 > request whose InstrumentLeg has not LegSymbol then it seems to=20 > persistently break quickfix. > > Ie unless I delete seqnum file the communication is broken. I notice=20 > that FIX::Session::verify never gets called but the msg is logged to=20 > FIX.4.4.XXXXX.incoming. > > If I add the LegSymbol field then everything works (it's not a=20 > required field in 4.4) - aha that's it it is a required symbol in=20 > FIX4.4.xml but not according to > > http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html > > I tried setting LegSymbol to not requied in the fix44.xml but that=20 > didn't have any effect. > > Any ideas what is going on ? > > Thanks > > R > > * From: * Oren Miller [mailto:or...@qu...] > *Sent:* 03 April 2006 15:58 > *To:* Murphy, Richard; qui...@li... > *Subject:* Re: [Quickfix-users] user defined types seems to break=20 > typesafe cracking in C++ > > Have you tried tracing through the message cracker? There shouldn't be > any reason why adding a field would cause the behavior to change. > > --oren > > ----- Original Message ----- > > * From: * Murphy, Richard <mailto:Ric...@ci...> > > * To: * qui...@li... > <mailto:qui...@li...> > > * Sent: * Friday, March 31, 2006 5:59 AM > > * Subject: * [Quickfix-users] user defined types seems to break > typesafe cracking in C++ > > Hi, > > I'm looking at QuickFix user defined types. > > I find that if I add a user defined field to a structure such as a > FIX44::Quote I find that typesafe message cracking fails. > > What I mean by that is that the the onMessage function that takes > FIX44::Quote as an argument does not get called. > > If I remove the user defined type then the function does get called. > > Can you confirm this behaviour ? Is there a workaround ? > > I used the procedure documented on the QuickFix doc url. > > Thanks > > Richard. > > QuickFix Version 1.10.2 > > Compiler : g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42) > > > > > > ------------------------------------------------------------------------ --------------------- > > The information contained in this transmission and any attached > documents is privileged, confidential and intended only for the > use of the individual or entity named above. If the reader of this > message is not the intended recipient, you are hereby directed not > to read the contents of this transmission, and are hereby notified > that any disclosure, copying, distribution, dissemination or use > of the contents of this transmission, including any attachments, > or the taking of any action in reliance thereon, is strictly > prohibited. If you have received this communication in error, > please notify the sender and/or Citadel Investment Group ( Europe > ) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy > any copy of this transmission. > > Citadel Investment Group ( Europe ) Ltd is authorised and > regulated by the Financial Services Authority (FSA Firm Ref No > 190260). > Registered in England . Registration No. 3666898. > Registered Office: 10th Floor, 2 George Yard, Lombard Street , > London EC3V 9DH > -------------------------------------------------------------------------= -------------------- The information contained in this transmission and any attached = documents is privileged, confidential and intended only for the use of = the individual or entity named above. If the reader of this message is = not the intended recipient, you are hereby directed not to read the = contents of this transmission, and are hereby notified that any = disclosure, copying, distribution, dissemination or use of the contents = of this transmission, including any attachments, or the taking of any = action in reliance thereon, is strictly prohibited. If you have = received this communication in error, please notify the sender and/or = Citadel Investment Group (Europe) Ltd immediately by telephone at +44 = (0) 20 7645 9700 and destroy any copy of this transmission. Citadel Investment Group (Europe) Ltd is authorised and regulated by the = Financial Services Authority (FSA Firm Ref No 190260). Registered in England. Registration No. 3666898. Registered Office: 10th Floor, 2 George Yard, Lombard Street, London = EC3V 9DH |
From: Oren M. <or...@qu...> - 2006-04-13 14:33:01
|
Richard, Can you post your actual messages (with and without the LegSymbol)? --oren Murphy, Richard wrote: > Oren, > > I’ve found that the checksum is failing if I do not include LegSymbol > in a QuoteRequest. > > Line 564 of Message.cpp (v 1.10.2) > > “Expected CheckSum=128, Recieved CheckSum=129” > > However this text doesn’t seem to get logged in any of output text > files – had todebug it. > > I’ve not figured out why the checksum fails. > > R > > * From: * Murphy, Richard > *Sent:* 12 April 2006 19:02 > *To:* Oren Miller; qui...@li... > *Subject:* RE: [Quickfix-users] user defined types seems to break > typesafe cracking in C++ > > I’ve tried debugging quickfix source > > I’ve run into a similar symptom which is that if I send an quote > request whose InstrumentLeg has not LegSymbol then it seems to > persistently break quickfix. > > Ie unless I delete seqnum file the communication is broken. I notice > that FIX::Session::verify never gets called but the msg is logged to > FIX.4.4.XXXXX.incoming. > > If I add the LegSymbol field then everything works (it’s not a > required field in 4.4) – aha that’s it it is a required symbol in > FIX4.4.xml but not according to > > http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html > > I tried setting LegSymbol to not requied in the fix44.xml but that > didn’t have any effect. > > Any ideas what is going on ? > > Thanks > > R > > * From: * Oren Miller [mailto:or...@qu...] > *Sent:* 03 April 2006 15:58 > *To:* Murphy, Richard; qui...@li... > *Subject:* Re: [Quickfix-users] user defined types seems to break > typesafe cracking in C++ > > Have you tried tracing through the message cracker? There shouldn't be > any reason why adding a field would cause the behavior to change. > > --oren > > ----- Original Message ----- > > * From: * Murphy, Richard <mailto:Ric...@ci...> > > * To: * qui...@li... > <mailto:qui...@li...> > > * Sent: * Friday, March 31, 2006 5:59 AM > > * Subject: * [Quickfix-users] user defined types seems to break > typesafe cracking in C++ > > Hi, > > I’m looking at QuickFix user defined types. > > I find that if I add a user defined field to a structure such as a > FIX44::Quote I find that typesafe message cracking fails. > > What I mean by that is that the the onMessage function that takes > FIX44::Quote as an argument does not get called. > > If I remove the user defined type then the function does get called. > > Can you confirm this behaviour ? Is there a workaround ? > > I used the procedure documented on the QuickFix doc url. > > Thanks > > Richard. > > QuickFix Version 1.10.2 > > Compiler : g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42) > > > > > > --------------------------------------------------------------------------------------------- > > The information contained in this transmission and any attached > documents is privileged, confidential and intended only for the > use of the individual or entity named above. If the reader of this > message is not the intended recipient, you are hereby directed not > to read the contents of this transmission, and are hereby notified > that any disclosure, copying, distribution, dissemination or use > of the contents of this transmission, including any attachments, > or the taking of any action in reliance thereon, is strictly > prohibited. If you have received this communication in error, > please notify the sender and/or Citadel Investment Group ( Europe > ) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy > any copy of this transmission. > > Citadel Investment Group ( Europe ) Ltd is authorised and > regulated by the Financial Services Authority (FSA Firm Ref No > 190260). > Registered in England . Registration No. 3666898. > Registered Office: 10th Floor, 2 George Yard, Lombard Street , > London EC3V 9DH > |
From: Murphy, R. <Ric...@ci...> - 2006-04-13 09:37:11
|
Oren, =20 I've found that the checksum is failing if I do not include LegSymbol in a QuoteRequest. Line 564 of Message.cpp (v 1.10.2) "Expected CheckSum=3D128, Recieved CheckSum=3D129" However this text doesn't seem to get logged in any of output text files - had todebug it. =20 I've not figured out why the checksum fails. =20 =20 R =20 =20 ________________________________ From: Murphy, Richard=20 Sent: 12 April 2006 19:02 To: Oren Miller; qui...@li... Subject: RE: [Quickfix-users] user defined types seems to break typesafe cracking in C++ =20 I've tried debugging quickfix source I've run into a similar symptom which is that if I send an quote request whose InstrumentLeg has not LegSymbol then it seems to persistently break quickfix. Ie unless I delete seqnum file the communication is broken. I notice that FIX::Session::verify never gets called but the msg is logged to FIX.4.4.XXXXX.incoming. =20 If I add the LegSymbol field then everything works (it's not a required field in 4.4) - aha that's it it is a required symbol in FIX4.4.xml but not according to=20 http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html =20 I tried setting LegSymbol to not requied in the fix44.xml but that didn't have any effect. =20 Any ideas what is going on ?=20 =20 Thanks R =20 =20 =20 ________________________________ From: Oren Miller [mailto:or...@qu...]=20 Sent: 03 April 2006 15:58 To: Murphy, Richard; qui...@li... Subject: Re: [Quickfix-users] user defined types seems to break typesafe cracking in C++ =20 Have you tried tracing through the message cracker? There shouldn't be any reason why adding a field would cause the behavior to change. =20 --oren ----- Original Message -----=20 From: Murphy, Richard <mailto:Ric...@ci...> =20 To: qui...@li...=20 Sent: Friday, March 31, 2006 5:59 AM Subject: [Quickfix-users] user defined types seems to break typesafe cracking in C++ =20 Hi, =20 I'm looking at QuickFix user defined types. I find that if I add a user defined field to a structure such as a FIX44::Quote I find that typesafe message cracking fails. What I mean by that is that the the onMessage function that takes FIX44::Quote as an argument does not get called. If I remove the user defined type then the function does get called. =20 Can you confirm this behaviour ? Is there a workaround ?=20 I used the procedure documented on the QuickFix doc url. =20 Thanks Richard.=20 =20 QuickFix Version 1.10.2 Compiler : g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42) =20 =20 =09 =09 =09 =09 =09 ------------------------------------------------------------------------ --------------------- =09 The information contained in this transmission and any attached documents is privileged, confidential and intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby directed not to read the contents of this transmission, and are hereby notified that any disclosure, copying, distribution, dissemination or use of the contents of this transmission, including any attachments, or the taking of any action in reliance thereon, is strictly prohibited. If you have received this communication in error, please notify the sender and/or Citadel Investment Group (Europe) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy any copy of this transmission. =09 Citadel Investment Group (Europe) Ltd is authorised and regulated by the Financial Services Authority (FSA Firm Ref No 190260). Registered in England. Registration No. 3666898. Registered Office: 10th Floor, 2 George Yard, Lombard Street, London EC3V 9DH |
From: Murphy, R. <Ric...@ci...> - 2006-04-12 18:02:27
|
I've tried debugging quickfix source I've run into a similar symptom which is that if I send an quote request whose InstrumentLeg has not LegSymbol then it seems to persistently break quickfix. Ie unless I delete seqnum file the communication is broken. I notice that FIX::Session::verify never gets called but the msg is logged to FIX.4.4.XXXXX.incoming. If I add the LegSymbol field then everything works (it's not a required field in 4.4) - aha that's it it is a required symbol in FIX4.4.xml but not according to http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html I tried setting LegSymbol to not requied in the fix44.xml but that didn't have any effect. Any ideas what is going on ? Thanks R ________________________________ From: Oren Miller [mailto:or...@qu...] Sent: 03 April 2006 15:58 To: Murphy, Richard; qui...@li... Subject: Re: [Quickfix-users] user defined types seems to break typesafe cracking in C++ Have you tried tracing through the message cracker? There shouldn't be any reason why adding a field would cause the behavior to change. --oren ----- Original Message ----- From: Murphy, Richard <mailto:Ric...@ci...> To: qui...@li... Sent: Friday, March 31, 2006 5:59 AM Subject: [Quickfix-users] user defined types seems to break typesafe cracking in C++ Hi, I'm looking at QuickFix user defined types. I find that if I add a user defined field to a structure such as a FIX44::Quote I find that typesafe message cracking fails. What I mean by that is that the the onMessage function that takes FIX44::Quote as an argument does not get called. If I remove the user defined type then the function does get called. Can you confirm this behaviour ? Is there a workaround ? I used the procedure documented on the QuickFix doc url. Thanks Richard. QuickFix Version 1.10.2 Compiler : g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42) ------------------------------------------------------------------------ --------------------- The information contained in this transmission and any attached documents is privileged, confidential and intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby directed not to read the contents of this transmission, and are hereby notified that any disclosure, copying, distribution, dissemination or use of the contents of this transmission, including any attachments, or the taking of any action in reliance thereon, is strictly prohibited. If you have received this communication in error, please notify the sender and/or Citadel Investment Group (Europe) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy any copy of this transmission. Citadel Investment Group (Europe) Ltd is authorised and regulated by the Financial Services Authority (FSA Firm Ref No 190260). Registered in England. Registration No. 3666898. Registered Office: 10th Floor, 2 George Yard, Lombard Street, London EC3V 9DH ------------------------------------------------------------------------ --------------------- The information contained in this transmission and any attached documents is privileged, confidential and intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby directed not to read the contents of this transmission, and are hereby notified that any disclosure, copying, distribution, dissemination or use of the contents of this transmission, including any attachments, or the taking of any action in reliance thereon, is strictly prohibited. If you have received this communication in error, please notify the sender and/or Citadel Investment Group (Europe) Ltd immediately by telephone at +44 (0) 20 7645 9700 and destroy any copy of this transmission. Citadel Investment Group (Europe) Ltd is authorised and regulated by the Financial Services Authority (FSA Firm Ref No 190260). Registered in England. Registration No. 3666898. Registered Office: 10th Floor, 2 George Yard, Lombard Street, London EC3V 9DH |
From: Staffan U. <sta...@mu...> - 2006-04-12 00:20:37
|
"Steve Bate" <sb...@sm...> writes: > The questions above makes me wonder if you are confusing the > message store with the session log. Yes, I definitely was. I'm now using MySQL for both the Message Store and for the Log. Thanks. Staffan |
From: Shawn D. <sd...@pa...> - 2006-04-10 18:19:45
|
Hello, I'd like to use the quickfix engine, but I'm not a developer and I'm a little confused how to use it effectively. I have a very simple initial project,=20 get the quickfix engine up and running so that we can receive test trade confirmations from our broker using drop copies. I have our brokers source IP and port and I can open up a internet ip and port for our quick fix engine. =20 =20 I'm not sure what do do next to get quickfix running. Much of the documentation speaks of compiling the code, but isn't the engine already built? I just need to receive FIX messages and put them into a flat file or a database. =20 Can someone help me list out what initial steps I need to take to accomplish this? The documentation is very developer specific. =20 Thank you, Shawn Doyle =20 |
From: Shawn D. <sd...@pa...> - 2006-04-10 17:29:08
|
Hello, =20 I'd like to use the quickfix engine, but I'm not a developer and I'm a little confused how to use it effectively. I have a very simple initial project,=20 get the quickfix engine up and running so that we can receive test trade confirmations from our broker using drop copies. I have our brokers source IP and port and I can open up a internet ip and port for our quick fix engine. =20 =20 I'm not sure what do do next to get quickfix running. Much of the documentation speaks of compiling the code, but isn't the engine already built? I just need to receive FIX messages and put them into a flat file or a database. =20 Can someone help me list out what initial steps I need to take to accomplish this? The documentation is very developer specific. =20 Thank you, Shawn Doyle =20 |
From: Steve B. <sb...@sm...> - 2006-04-10 14:53:35
|
> Staffan Ulfberg wrote: > Is there any other source for documentation except the main=20 > web site and the souce code? I find that many minor points=20 > (for example, is an outgoing FIX message guaranteed to be=20 > written to the message store before it is sent to the client?=20 > When are incoming messages written to the message store?)=20 > are hard to find answers to... Those are the primary sources for information about QuickFIX. The questions above makes me wonder if you are confusing the message store with the session log. The message store is used to support the protocol-level error recovery. The protocol only requires sent messages to be potentially resent=20 so no incoming messages are placed in the message store.=20 However, the session log can be used to store incoming and=20 outgoing messages and session-related event descriptions. I'm=20 assuming that's what you want to use for the purposes you=20 describe. =20 > ...=20 > Anyway, then I have to parse the FIX message log... Not very=20 > hard to do by hand since there are only a couple of messages=20 > of interest, but it would of course be nice to be able to use=20 > all of the type safe functions in the QuickFIX api... Are you just asking if there is an QuickFIX API method for parsing FIX messages? If so, yes there is. Depending on what language you are using it will be called something like=20 "fromString" on the Message class. Steve |
From: Joerg T. <Joe...@ma...> - 2006-04-10 14:27:18
|
Staffan Ulfberg wrote: > Is there any other source for documentation except the main web site > and the souce code? I find that many minor points (for example, > is an outgoing FIX message guaranteed to be written to the message > store before it is sent to the client? If the sendToTarget() method returns, the message has been written to the= store at least. QuickFIX takes care to send out the message when appropriate, ie when a F= IX connection has=20 been established or a ResendRequest is being processed. If you use a database-backed store, the database will guarantee that the = message is stored=20 savely. File-based storage may be not so safe. > When are incoming messages written to the message store?) are hard to f= ind answers > to... There is no need to write them to the store. You just receive them via fr= omApp(). >>>When the server is restarted, maybe after a crash, one way to find out >>>if there are any orders whose status is not known by the client is to >>>read the message log. Is there any way to do that while using the >>>quickfix engine's message parsing functions? >> [...] >=20 > I was thinking along these lines, however: I'm writing a FIX gateway > for a proprietary exchange API. Since the proprietary API allows > me to chose the order id, I could let that order id be a > string composed of the FIX client's compid and the FIX client order > id. Then, at application start, I could read the FIX log to find all > orders that are still active as far as the FIX client knows. Since > the client order ids are enough to identify the orders at the > exchange, I could just query their state and send out execution > reports with their current status, if different from what has already > been sent. (Or, just send out all information including trades for > these orders, with the PossResend flag set.) >=20 > Anyway, then I have to parse the FIX message log... Not very hard to > do by hand since there are only a couple of messages of interest, but > it would of course be nice to be able to use all of the type safe > functions in the QuickFIX api... If I remember right, there has been some discussions about using the mess= age log or store=20 for session recovery in this list. Please have a look at earlier posts. Cheers, J=F6rg --=20 Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
From: Staffan U. <sta...@mu...> - 2006-04-10 13:53:56
|
Hello again, Thanks Joerg for the info! Is there any other source for documentation except the main web site and the souce code? I find that many minor points (for example, is an outgoing FIX message guaranteed to be written to the message store before it is sent to the client? When are incoming messages written to the message store?) are hard to find answers to... > > When the server is restarted, maybe after a crash, one way to find out > > if there are any orders whose status is not known by the client is to > > read the message log. Is there any way to do that while using the > > quickfix engine's message parsing functions? > > If the QF sendToTarget() method returns, the QF engine will make sure > that the message arrives at the client end after a crash or > disconnection. So you just have to record which of your order status > related message you have already sent to QF and start at this point. > > If you are unsure whether you have already sent some application level > messages to the other side, you may flag messages with the PossResend > flag which indicates that the same business information (e.g. a Fill) > may have sent before to the other side in another message (different > MsgSeqNo). Please do not confuse this with PossDup (it relates to the > _same_ MsgSeqNo and is handled by the FIX engine). Yes, I realize I could have my own database to record whatever information has been sent to the counterparties I'm communicating with. I was thinking along these lines, however: I'm writing a FIX gateway for a proprietary exchange API. Since the proprietary API allows me to chose the order id, I could let that order id be a string composed of the FIX client's compid and the FIX client order id. Then, at application start, I could read the FIX log to find all orders that are still active as far as the FIX client knows. Since the client order ids are enough to identify the orders at the exchange, I could just query their state and send out execution reports with their current status, if different from what has already been sent. (Or, just send out all information including trades for these orders, with the PossResend flag set.) Anyway, then I have to parse the FIX message log... Not very hard to do by hand since there are only a couple of messages of interest, but it would of course be nice to be able to use all of the type safe functions in the QuickFIX api... Staffan |