quickfix-developers Mailing List for QuickFIX (Page 71)
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: DKL-Gator <dea...@ya...> - 2008-09-09 11:47:43
|
Hello, How does quickfix know which fields are conditionally required (specifically 4.2). I do not want a certain field to be conditionally required when I receive an Execution Report with type of "canceled". Right now, quickfix is sending out a Business Message Reject for the conditionally required field of '41'. Thank you, Dean -- View this message in context: http://www.nabble.com/Conditionally-Required-Fields---Business-Message-Reject-tp19398397p19398397.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: George H. <ge...@so...> - 2008-09-08 18:59:05
|
Hello everyone, When My application starts it creates 2 files in the log directory (in addition to the session log files): GLOBAL.messages.log GLOBAL.event.log OK, That's great! Now, I assume (I know bad...) that these are logs that catch everything that the other logs miss. Question: How do I access(write to) these logs? I don't want you guys to think that I am just throwing these questions out there because I am lazy. I have pored over Log.cpp, FileLog.cpp, Log.h, and FileLog.h and I can't make heads or tails how to access these "GLOBAL" log files. One more thing: Can I write to these logs prior to "application.run()" ? As always, any help is greatly appreciated. -George |
From: <Ned...@ao...> - 2008-09-08 18:07:54
|
To All, We are experiencing major problems testing our new QuickFix application. The application is a C++ MFC application written in Visual Studio 6.0. All it’s doing is reading in execution reports and processing them. The program uses the SocketInitiator to make it’s connection and is using the Poll() method which executes every 250 milliseconds. What is happening is that the QuickFix library keeps issuing resend requests over and over again for the same sequence number even though our counter party keeps satisfying that resend request every time. Eventually after dozens and dozens of these resend requests, the program just abruptly ends. It’s almost as if QuickFix is stuck in some kind of endless loop somewhere. I will include below a sample of the QuickFix event log and the QuickFix message log which clearly indicates the resend requests and the counter party’s response which satisfies the resend requests. The sequence number all this is occurring for is 193. I am at the point of desperation. Could someone please help. Thank you all very much Ned Event Log Sample 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 194 20080908-12:58:33 : Sent ResendRequest FROM: 193 TO: 0 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 195 20080908-12:58:33 : Already sent ResendRequest FROM: 193 TO: 193. Not sending another. 20080908-12:58:33 : ResendRequest for messages FROM: 193 TO: 193 has been satisfied. 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 194 20080908-12:58:33 : Sent ResendRequest FROM: 193 TO: 0 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 195 20080908-12:58:33 : Already sent ResendRequest FROM: 193 TO: 193. Not sending another. 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 196 20080908-12:58:33 : Already sent ResendRequest FROM: 193 TO: 193. Not sending another. 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 197 20080908-12:58:33 : Already sent ResendRequest FROM: 193 TO: 193. Not sending another. 20080908-12:58:33 : ResendRequest for messages FROM: 193 TO: 193 has been satisfied. 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 194 20080908-12:58:33 : Sent ResendRequest FROM: 193 TO: 0 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 195 20080908-12:58:33 : Already sent ResendRequest FROM: 193 TO: 193. Not sending another. 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 196 20080908-12:58:33 : Already sent ResendRequest FROM: 193 TO: 193. Not sending another. 20080908-12:58:33 : MsgSeqNum too high, expecting 193 but received 197 20080908-12:58:33 : Already sent ResendRequest FROM: 193 TO: 193. Not sending another. 20080908-12:58:34 : ResendRequest for messages FROM: 193 TO: 193 has been satisfied. 20080908-12:58:34 : MsgSeqNum too high, expecting 193 but received 194 20080908-12:58:34 : Sent ResendRequest FROM: 193 TO: 0 Message Log Sample 8=FIX.4.29=27535=849=REDIRPT56=KELLOGG34=19350=u71575057=u71575052=20080908-12 :59:2437=URM0003811=26676=NSDQ17=7972009212520820=0150=139=11=7S4K120955=JPM54 =138=1500040=244=42.59000015=USD59=032=145031=42.50000030=;151=1355014=14506=4 2.500060=20080908-12:59:2410=036 8=FIX.4.29=27435=849=REDIRPT56=KELLOGG34=19450=u71575057=u71575052=20080908-12 :59:2437=URM0003811=26776=WAVE17=7972009232520820=0150=139=11=7S4K120955=JPM54 =138=1500040=244=42.59000015=USD59=032=10031=42.59000030=C151=1345014=15506=42 .505860=20080908-12:59:2410=009 8=FIX.4.29=7035=234=10549=KELLOGG52=20080908-12:58:33.13956=REDIRPT7=19316=010 =076 8=FIX.4.29=27435=849=REDIRPT56=KELLOGG34=19550=u71575057=u71575052=20080908-12 :59:2437=URM0003811=26876=WAVE17=7972009242520820=0150=139=11=7S4K120955=JPM54 =138=1500040=244=42.59000015=USD59=032=40031=42.59000030=C151=1305014=19506=42 .523160=20080908-12:59:2410=008 8=FIX.4.29=30735=849=REDIRPT56=KELLOGG34=19350=u71575057=u71575043=Y97=Y52=200 80908-12:59:24122=20080908-12:59:2437=URM0003811=26676=NSDQ17=7972009212520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=145031=42. 50000030=;151=1355014=14506=42.500060=20080908-12:59:2410=107 8=FIX.4.29=30635=849=REDIRPT56=KELLOGG34=19450=u71575057=u71575043=Y97=Y52=200 80908-12:59:24122=20080908-12:59:2437=URM0003811=26776=WAVE17=7972009232520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=10031=42.5 9000030=C151=1345014=15506=42.505860=20080908-12:59:2410=080 8=FIX.4.29=7035=234=10649=KELLOGG52=20080908-12:58:33.35756=REDIRPT7=19316=010 =079 8=FIX.4.29=30635=849=REDIRPT56=KELLOGG34=19550=u71575057=u71575043=Y97=Y52=200 80908-12:59:24122=20080908-12:59:2437=URM0003811=26876=WAVE17=7972009242520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=40031=42.5 9000030=C151=1305014=19506=42.523160=20080908-12:59:2410=079 8=FIX.4.29=27535=849=REDIRPT56=KELLOGG34=19650=u71575057=u71575052=20080908-12 :59:2437=URM0003811=26976=WAVE17=7972009252520820=0150=139=11=7S4K120955=JPM54 =138=1500040=244=42.59000015=USD59=032=140031=42.59000030=C151=1165014=33506=4 2.551060=20080908-12:59:2410=061 8=FIX.4.29=27435=849=REDIRPT56=KELLOGG34=19750=u71575057=u71575052=20080908-12 :59:2437=URM0003811=27076=WAVE17=7972009262520820=0150=139=11=7S4K120955=JPM54 =138=1500040=244=42.59000015=USD59=032=90031=42.59000030=C151=1075014=42506=42 .559360=20080908-12:59:2410=021 8=FIX.4.29=30735=849=REDIRPT56=KELLOGG34=19350=u71575057=u71575043=Y97=Y52=200 80908-12:59:25122=20080908-12:59:2437=URM0003811=26676=NSDQ17=7972009212520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=145031=42. 50000030=;151=1355014=14506=42.500060=20080908-12:59:2410=108 8=FIX.4.29=30635=849=REDIRPT56=KELLOGG34=19450=u71575057=u71575043=Y97=Y52=200 80908-12:59:25122=20080908-12:59:2437=URM0003811=26776=WAVE17=7972009232520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=10031=42.5 9000030=C151=1345014=15506=42.505860=20080908-12:59:2410=081 8=FIX.4.29=7035=234=10749=KELLOGG52=20080908-12:58:33.67056=REDIRPT7=19316=010 =078 8=FIX.4.29=30635=849=REDIRPT56=KELLOGG34=19550=u71575057=u71575043=Y97=Y52=200 80908-12:59:25122=20080908-12:59:2437=URM0003811=26876=WAVE17=7972009242520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=40031=42.5 9000030=C151=1305014=19506=42.523160=20080908-12:59:2410=080 8=FIX.4.29=30735=849=REDIRPT56=KELLOGG34=19650=u71575057=u71575043=Y97=Y52=200 80908-12:59:25122=20080908-12:59:2437=URM0003811=26976=WAVE17=7972009252520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=140031=42. 59000030=C151=1165014=33506=42.551060=20080908-12:59:2410=133 8=FIX.4.29=30635=849=REDIRPT56=KELLOGG34=19750=u71575057=u71575043=Y97=Y52=200 80908-12:59:25122=20080908-12:59:2437=URM0003811=27076=WAVE17=7972009262520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=90031=42.5 9000030=C151=1075014=42506=42.559360=20080908-12:59:2410=093 8=FIX.4.29=30735=849=REDIRPT56=KELLOGG34=19350=u71575057=u71575043=Y97=Y52=200 80908-12:59:25122=20080908-12:59:2437=URM0003811=26676=NSDQ17=7972009212520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=145031=42. 50000030=;151=1355014=14506=42.500060=20080908-12:59:2410=108 8=FIX.4.29=30635=849=REDIRPT56=KELLOGG34=19450=u71575057=u71575043=Y97=Y52=200 80908-12:59:25122=20080908-12:59:2437=URM0003811=26776=WAVE17=7972009232520820 =0150=139=11=7S4K120955=JPM54=138=1500040=244=42.59000015=USD59=032=10031=42.5 9000030=C151=1345014=15506=42.505860=20080908-12:59:2410=081 8=FIX.4.29=7035=234=10849=KELLOGG52=20080908-12:58:34.10756=REDIRPT7=19316=010 =075 **************Psssst...Have you heard the news? There's a new fashion blog, plus the latest fall trends and hair styles at StyleList.com. (http://www.stylelist.com/trends?ncid=aolsty00050000000014) |
From: <Ned...@ao...> - 2008-09-08 12:48:30
|
Hello all, Could someone please tell me how I can ensure that an application is single threaded. I am using the SocketInitiator in an MFC Visual studio 6.0 C++ application. I am also using the Poll method as suggested by Oren for my situation which has been working great. However; it appears that there I am stilling have threading issues. Also, could someone please tell me how and when to use the "Block" method. I would appreciate any help. Thank You Ned **************Psssst...Have you heard the news? There's a new fashion blog, plus the latest fall trends and hair styles at StyleList.com. (http://www.stylelist.com/trends?ncid=aolsty00050000000014) |
From: Mike G. <mg...@co...> - 2008-09-04 03:41:23
|
> Does this make sense or am I really on the wrong track here? This looks to me like it gets the job done, so I say go with it. -- Mike Gatny Connamara Systems, LLC http://www.connamara.com/ |
From: Andrei G. <an...@gm...> - 2008-09-03 00:40:43
|
On Tue, Sep 2, 2008 at 7:47 PM, George Hrysanthopoulos <ge...@so...> wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hello everyone, > I noticed that the executor(acceptor) sample app has: "Application::fromAdmin" defined and active (in Application.cpp). > However, the fixclient (initiator) app does not have this defined, only a function prototype: > Application.h: void toAdmin( FIX::Message&, const FIX::SessionID& ) {} > Application.h: void fromAdmin( const FIX::Message&, const FIX::SessionID& ) > Is Application::fromAdmin only for acceptor applications? > If not, is there some sample code that shows what kind of events and actions can be processed there from an initiator app? > Thanks in advance for your help. > -George All incoming session level messages (i.e. Logon, Heartbeat, ...) end up showing in the fromAdmin method. It doesn't matter if the application is an acceptor/initiator. |
From: George H. <ge...@so...> - 2008-09-02 23:08:36
|
Mike, After reading your message I felt like a neanderthal man watching the space shuttle take off (and with the same level of understanding). I did not even realize it could be done this way. So, many thanks for this very cool piece of code. This was my approach: Given a file of Field names that I am interested in: 1 # 2 # 3 # @(#) $Id: system.tgs xxxx 2008-08-22 04:29:18Z svn $ 4 # @(#) Test Field Tags 5 # 6 ClOrdID # 11 7 MsgType # 35 8 OrderQty # 38 9 OrdType # 40 10 Price # 44 11 Side # 54 12 Symbol # 55 I create a string-to-field number using XML reader against the Data Dictionary. This means that the Data Dictionary must be used. In the code I do: In global.h // // Simple class to keep track of names and tags class Tags2Nums { public: std::string name; int number; std::string strNumber; int header; int trailer; int required; }; std::string lmsgstr; // // The vector below is used to keep track on the name <-> number relationship vector<Tags2Nums> tagVector; In Application.cpp for( unsigned int ui=0; ui < tagVector.size(); ui++ ) { if( !tagVector[ui].header ) { // // Get the text of the message lmsgstr = message.getField(tagVector[ui].number); std::cerr << "\t" << tagVector[ui].name << ":" << "[" << tagVector[ui].number << "] " << lmsgstr << std::endl; } else { // Header tags are processed differently printf("\tFound Header Tag\n"); } } Does this make sense or am I really on the wrong track here? -George On Aug 30, 2008, at 12:47 PM, Mike Gatny wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > George, > > If I understand correctly, you need a lookup of field name (as string) > -> field number (as int)? > > What about leveraging the code generator? I.e. create a stylesheet in > the spec/ dir: > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:output method="text" encoding="UTF-8"/> > > <xsl:template match="text()"/> > > <xsl:template match="/">/* -*- C++ -*- */ > <xsl:copy-of select="document('COPYRIGHT.xml')"/> > #ifndef FIX_FIELDNAMESTONUMBERS_H > #define FIX_FIELDNAMESTONUMBERS_H > > #include <map> > #include <string> > > class FieldNamesToNumbers > { > private: > std::map<std::string,int> fieldNamesToNumbers_; > > public: > > int get(const std::string & fieldName) > { > return fieldNamesToNumbers_[fieldName]; > } > > FieldNamesToNumbers() > { > <xsl:apply-templates/> > } > }; > > #endif > </xsl:template> > <xsl:template match="fields/field"> > fieldNamesToNumbers_["<xsl:value-of select="@name"/>"] = > <xsl:value-of > select="@number"/>; > </xsl:template> > </xsl:stylesheet> > > Run this command (or better yet, add it to spec/generate_c++.sh): > xsltproc -o ../src/C++/FieldNamesToNumbers.h FieldNamesToNumbers.xsl > FIX44.xml > > And in your code: > > #include <quickfix/FieldNamesToNumbers.h> > FieldNamesToNumbers conv; > /* ... */ > message.getField(conv.get(field_name_1_from_config_file)); > message.getField(conv.get(field_name_2_from_config_file)); > > Now you'll always be up-to-date with the lastest data dictionary. > Simply re-run the generator if it changes. > > -- > Mike Gatny > Connamara Systems, LLC > http://www.connamara.com/ > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win > great prizes > Grand prize is a trip for two to an Open Source event anywhere in > the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: George H. <ge...@so...> - 2008-09-02 22:48:04
|
Hello everyone, I noticed that the executor(acceptor) sample app has: "Application::fromAdmin" defined and active (in Application.cpp). However, the fixclient (initiator) app does not have this defined, only a function prototype: Application.h: void toAdmin( FIX::Message&, const FIX::SessionID& ) {} Application.h: void fromAdmin( const FIX::Message&, const FIX::SessionID& ) Is Application::fromAdmin only for acceptor applications? If not, is there some sample code that shows what kind of events and actions can be processed there from an initiator app? Thanks in advance for your help. -George |
From: marko_h <mar...@si...> - 2008-09-02 15:07:50
|
Hello! I'm trying to access message store in Python using: list = [] ms = fix.Session.lookupSession(sessionID).getStore() ms.get(5,6,list) Unfortunately, this results in AttributeError: 'PySwigObject' object has no attribute 'get' Any ideas how this could be solved? Regards, Marko PS. I am using QF rev. 1987 from svn. -- View this message in context: http://www.nabble.com/how-to-access-message-store-in-Python-tp19270738p19270738.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: <Ned...@ao...> - 2008-09-02 15:07:19
|
I will try and answer the following questions. Please correct me if I am wrong. 1) do i need application.run function to get execute logon logout messages The application.run function are in the QuickFix examples and is essentially a wait loop. You will need some kind of wait loop once you start your initiator or acceptor (initiator.start(), acceptor.start()). I believe you will need a wait loop for the logon and logout messages in addition to all the other messages that you will send or receive. 2) how do i get new order single report or execution report (in which event i can capture this message) These messages (application level messages) can be captured in the fromApp event. There are a couple of ways of doing this; however the QuickFix documentation recommends using the "crack" function that you specify in the fromApp event which allows you to overload the fromApp message function by specifying one or more "onMessage" functions for a specific application message. For example: void Application::onMessage(const FIX42::NewOrderSingle &message, const FIX::SessionID&) { } is an overloaded function to capture New Order Single Reports in the FIX42 format. void Application::onMessage(const FIX42::ExecutionReport &message, const FIX::SessionID&) { } is an overloaded function to capture Execution Reports in the FIX42 format. In order to use the "crack" function you will need your Application class to inherit from "public FIX::MessageCracker". I know this sounds confusing, but if you look at the documentation for receiving messages and specifically the link _http://www.quickfixengine.org/quickfix/doc/html/receiving_messages.html_ (http://www.quickfixengine.org/quickfix/doc/html/receiving_messages.html) , it will explain how to do this. 3) what is the use of initiator and acceptor I don't think I can give you a good answer about defining an initiator and acceptor, but I will try. Both are ways of defining a type of application and consequently a connection using QuickFix. An initiator looks to make a connection to one or more servers by specifying a SocketConnectPort (socket port) and SocketConnectHost (IP address of a server to connect to). An acceptor listens for incoming connections and uses a SocketAcceptPort (socket port for listening to incoming connections). There are other parameters that you specify for initiators and acceptors. Please see the documention for configuration specifically the link _http://www.quickfixengine.org/quickfix/doc/html/configuration.html_ (http://www.quickfixengine.org/quickfix/doc/html/configuration.html) . 4) does executor and ordermatch require for trading client. I believe you can use the executor application as a server for the tradeclient application. The ordermatch application is also a server and I would think it can be used with the tradeclient application, but I'm not sure. Please see the documentation for example applications specifically the link _http://www.quickfixengine.org/quickfix/doc/html/examples.html_ (http://www.quickfixengine.org/quickfix/doc/html/examples.html) . 5) where do i get the log. I would add the following to the response you received on this question. Let's assume you want to use the QuickFix log and have it log to a file: 1) Use the FileLogFactory as in the following: FIX::SessionSettings settings ( config ); FIX::FileLogFactory logFactory ( settings ); initiator = FIX::SocketInitiator(application, storeFactory, settings, logFactory); 2) Set your configuration file as in the following: FileLogPath=log The FileLogPath allows you to specify the path to the directory that the log files will be in. In the above example, the name of the directory will be "log" and since there was no path specified (i.e. c:\mylocation\log), the location of the "log" directory will default to the start in directory I believe. I hope this helps Ned In a message dated 8/31/2008 7:15:29 A.M. Eastern Daylight Time, der...@go... writes: 1) do i need application.run function to get execute logon logout messages 2) how do i get new order single report or execution report (in which event i can capture this message) 3) what is the use of initiator and acceptor 4) does executor and ordermatch require for trading client. 5) where do i get the log. **************It's only a deal if it's where you want to go. Find your travel deal here. (http://information.travel.aol.com/deals?ncid=aoltrv00050000000047) |
From: <or...@qu...> - 2008-09-02 15:05:18
|
Ah, yes, sorry. It should be: forwach( QuickFix.StringField sf in fixMsg ) --oren > -------- Original Message -------- > Subject: Re: [Quickfix-developers] Iterate through message fields? > From: Alexis Michaelides <ale...@ya...> > Date: Fri, August 29, 2008 1:57 pm > To: qui...@li... > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > Thanks Oren - though I'm getting an exception doing the below. Right now I'm trying something simple like: > QuickFix.Message fixMsg = new Message(line); > foreach (QuickFix.StringField sf in fixMsg.GetEnumerator()) > { > Console.WriteLine(sf.ToString()); > } > Getting an exception when compiling: > "foreach statement cannot operate on variables of type 'System.Collections.IEnumerator' because 'System.Collections.IEnumerator' does not contain a public definition for 'GetEnumerator'" > Regards, > Alexis > ----- Original Message ---- > From: "or...@qu..." <or...@qu...> > To: Alexis Michaelides <ale...@ya...> > Cc: qui...@li... > Sent: Friday, August 29, 2008 5:39:52 PM > Subject: RE: [Quickfix-developers] Iterate through message fields? > Yes. > foreach( StringField field in message.GetEnumerator() ) > When you iterate everything is given to you as a string field, if you > need it in another format you wil need to convert it. > --oren > > -------- Original Message -------- > > Subject: [Quickfix-developers] Iterate through message fields? > > From: Alexis Michaelides <ale...@ya...> > > Date: Tue, August 19, 2008 5:47 am > > To: qui...@li... > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html<hr>In .NET is there any way to iterate through all the fields of a QuickFix message? e.g. using foreach? > > Thanks, > > Alexis<hr>------------------------------------------------------------------------- > > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > > Build the coolest Linux based applications with Moblin SDK & win great prizes > > Grand prize is a trip for two to an Open Source event anywhere in the world > > http://moblin-contest.org/redirect.php?banner_id=100&url=/<hr>_______________________________________________ > > Quickfix-developers mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Vipula <vi...@ya...> - 2008-09-02 14:22:16
|
Hi Avi, Unfortunately yes. From admin does not get fired. Following is the config file I use. Let me know if you spot anything.. [DEFAULT] ConnectionType=initiator ReconnectInterval=10 HeartBtInt=60 FileStorePath=C:\QFIX\filestorepath StartTime=00:00:01 EndTime=23:00:00 ResetOnLogon=N UseDataDictionary=N SocketConnectHost=111.111.111.29 SocketConnectPort=8223 SendRedundantResendRequests=Y #ReconnectInterval=10 FileLogPath=C:\QFIX\FileLogPath [SESSION] BeginString=FIX.4.2 SenderCompID=CLI TargetCompID=SRV Many thanks. Vipula ----- Original Message ---- From: Avi Revivo <avi...@gm...> To: Vipula <vi...@ya...> Cc: Marcus Monaghan <Mar...@wi...>; qui...@li...; Raz Haramati <ra...@ha...> Sent: Tuesday, September 2, 2008 2:39:39 PM Subject: Re: [Quickfix-developers] Capturing message from fromApp event Hi Vipula, I have the same issue I can't catch the MarketData sent by the broker because It doesn't fire the fromApp event... However the fromAdmin event is working fine but as you mentioned in your last mail, fromAdmin fires for the login messages and heatbeats only. Did you find any solution for this? Thanks, Avi On Mon, Sep 1, 2008 at 6:40 PM, Vipula <vi...@ya...> wrote: QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi Marcus, fromAdmin fires for all the login messages and heatbeats but not for the execution reports unfortunately. What is interesting was that when I reset the sequence number physically on the filestore, messequence file eveything works well. But when I programatically request for a resend the event won't get triggered. Many thanks. Vipula ----- Original Message ---- > From: Marcus Monaghan <Mar...@wi...> > To: Vipula <vi...@ya...>; qui...@li... > Sent: Monday, September 1, 2008 4:20:34 PM > Subject: RE: [Quickfix-developers] Capturing message from fromApp event > > Try the FromAdmin > > Regards, > > Marcus > > Winterflood Securities Limited > web: http://www.wins.co.uk > > > -----Original Message----- > Hi, > I'm using a Quick Fix (C#) engine as an acceptor to capture drop copy > messages. Currently developing a function to handle ResendRequest. When > I run the application on a console I can see the duplicate messages sent > from the server but It doesn't fire the fromApp event. so I have no way > of capturing the resent messages. > Is there a setting that I have set so I can capture the duplicate > messages at fromApp event. > > Many thanks. > Vipula > > *** IMPORTANT NOTICE *** > > This message (including any attachments) is confidential and is for the intended > recipient only. If you are not the intended recipient, please inform the sender > and delete any copies from your system. Internet communications are not secure > and therefore Winterflood Securities Ltd does not accept legal responsibility > for any of its contents (including any attachments) and any view expressed by > the sender as these are not necessarily the views of Winterflood Securities Ltd. > > > Although all emails sent and received by Winterflood Securities Ltd are passed > through extensive virus scanning technologies, we cannot guarantee the email > (including attachments) is virus free. You should take whatever measures you > deem appropriate within your organisation to ensure maximum protection. > > Registered Office: The Atrium Building, Cannon Bridge, 25 Dowgate Hill, London, > EC4R 2GA. Registered in England No. 2242204. > > Winterflood Securities Limited is authorised and regulated by the Financial > Services Authority. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Avi R. <avi...@gm...> - 2008-09-02 13:39:43
|
Hi Vipula, I have the same issue I can't catch the MarketData sent by the broker because It doesn't fire the fromApp event... However the fromAdmin event is working fine but as you mentioned in your last mail, fromAdmin fires for the login messages and heatbeats only. Did you find any solution for this? Thanks, Avi On Mon, Sep 1, 2008 at 6:40 PM, Vipula <vi...@ya...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi Marcus, > fromAdmin fires for all the login messages and heatbeats but not for the > execution reports unfortunately. What is interesting was that when I reset > the sequence number physically on the filestore, messequence file eveything > works well. But when I programatically request for a resend the event won't > get triggered. > > Many thanks. > Vipula > > > ----- Original Message ---- > > From: Marcus Monaghan <Mar...@wi...> > > To: Vipula <vi...@ya...>; > qui...@li... > > Sent: Monday, September 1, 2008 4:20:34 PM > > Subject: RE: [Quickfix-developers] Capturing message from fromApp event > > > > Try the FromAdmin > > > > Regards, > > > > Marcus > > > > Winterflood Securities Limited > > web: http://www.wins.co.uk > > > > > > -----Original Message----- > > Hi, > > I'm using a Quick Fix (C#) engine as an acceptor to capture drop copy > > messages. Currently developing a function to handle ResendRequest. When > > I run the application on a console I can see the duplicate messages sent > > from the server but It doesn't fire the fromApp event. so I have no way > > of capturing the resent messages. > > Is there a setting that I have set so I can capture the duplicate > > messages at fromApp event. > > > > Many thanks. > > Vipula > > > > *** IMPORTANT NOTICE *** > > > > This message (including any attachments) is confidential and is for the > intended > > recipient only. If you are not the intended recipient, please inform the > sender > > and delete any copies from your system. Internet communications are not > secure > > and therefore Winterflood Securities Ltd does not accept legal > responsibility > > for any of its contents (including any attachments) and any view > expressed by > > the sender as these are not necessarily the views of Winterflood > Securities Ltd. > > > > > > Although all emails sent and received by Winterflood Securities Ltd are > passed > > through extensive virus scanning technologies, we cannot guarantee the > email > > (including attachments) is virus free. You should take whatever measures > you > > deem appropriate within your organisation to ensure maximum protection. > > > > Registered Office: The Atrium Building, Cannon Bridge, 25 Dowgate Hill, > London, > > EC4R 2GA. Registered in England No. 2242204. > > > > Winterflood Securities Limited is authorised and regulated by the > Financial > > Services Authority. > > > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: mmareks <el...@gm...> - 2008-09-02 13:16:26
|
Hello, I am using demo application Banzai (from quickfix page) .It works with mbtrading with several changes ,but i am often getting message that ClOrdID have to be unique. I found out that this is because ClOrdID field in newsignleorder which is iterating from 1 always when application is restarted.So that mean that if i send 5 orders, ClOrdID field is 5. I shutdown my program and run it again.After i sent an order, i get Administrative Reject Message that Administrative Reject Message has to be unique because it was again 1. So the point is. How can i know, after connecting to server, how many orders was sent already at that day ? so that i could fill ClOrdID with proper number... ? What message can tell me this please ? Thank you very much. -- View this message in context: http://www.nabble.com/ClOrdID-iteration-tp19277107p19277107.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Scott M. <rs...@pr...> - 2008-09-01 21:51:06
|
Hi all, We have just been bitten by what appears to be the bug described here: http://osdir.com/ml/finance.quickfix.devel/2007-08/msg00015.html I suspect it's not a problem in normal operation but it does cause tests (e.g. some of the CME iLink conformance tests) that expect to receive a very specific sequence of messages to fail, when we send a ResendRequest instead of whatever the test is expecting to see next. Jeevaka's suggested fix looks very reasonable to me - I plan to apply it and at least run it through our automated test suite - can anyone with a deeper knowledge of the QuickFIX internals than me spot any obvious bad side effects that this change might have? Thanks, Scott |
From: Vipula <vi...@ya...> - 2008-09-01 15:40:52
|
Hi Marcus, fromAdmin fires for all the login messages and heatbeats but not for the execution reports unfortunately. What is interesting was that when I reset the sequence number physically on the filestore, messequence file eveything works well. But when I programatically request for a resend the event won't get triggered. Many thanks. Vipula ----- Original Message ---- > From: Marcus Monaghan <Mar...@wi...> > To: Vipula <vi...@ya...>; qui...@li... > Sent: Monday, September 1, 2008 4:20:34 PM > Subject: RE: [Quickfix-developers] Capturing message from fromApp event > > Try the FromAdmin > > Regards, > > Marcus > > Winterflood Securities Limited > web: http://www.wins.co.uk > > > -----Original Message----- > Hi, > I'm using a Quick Fix (C#) engine as an acceptor to capture drop copy > messages. Currently developing a function to handle ResendRequest. When > I run the application on a console I can see the duplicate messages sent > from the server but It doesn't fire the fromApp event. so I have no way > of capturing the resent messages. > Is there a setting that I have set so I can capture the duplicate > messages at fromApp event. > > Many thanks. > Vipula > > *** IMPORTANT NOTICE *** > > This message (including any attachments) is confidential and is for the intended > recipient only. If you are not the intended recipient, please inform the sender > and delete any copies from your system. Internet communications are not secure > and therefore Winterflood Securities Ltd does not accept legal responsibility > for any of its contents (including any attachments) and any view expressed by > the sender as these are not necessarily the views of Winterflood Securities Ltd. > > > Although all emails sent and received by Winterflood Securities Ltd are passed > through extensive virus scanning technologies, we cannot guarantee the email > (including attachments) is virus free. You should take whatever measures you > deem appropriate within your organisation to ensure maximum protection. > > Registered Office: The Atrium Building, Cannon Bridge, 25 Dowgate Hill, London, > EC4R 2GA. Registered in England No. 2242204. > > Winterflood Securities Limited is authorised and regulated by the Financial > Services Authority. |
From: Marcus M. <Mar...@wi...> - 2008-09-01 15:20:47
|
Try the FromAdmin Regards, Marcus Winterflood Securities Limited web: http://www.wins.co.uk -----Original Message----- Hi, I'm using a Quick Fix (C#) engine as an acceptor to capture drop copy messages. Currently developing a function to handle ResendRequest. When I run the application on a console I can see the duplicate messages sent from the server but It doesn't fire the fromApp event. so I have no way of capturing the resent messages. Is there a setting that I have set so I can capture the duplicate messages at fromApp event. Many thanks. Vipula *** IMPORTANT NOTICE *** This message (including any attachments) is confidential and is for the intended recipient only. If you are not the intended recipient, please inform the sender and delete any copies from your system. Internet communications are not secure and therefore Winterflood Securities Ltd does not accept legal responsibility for any of its contents (including any attachments) and any view expressed by the sender as these are not necessarily the views of Winterflood Securities Ltd. Although all emails sent and received by Winterflood Securities Ltd are passed through extensive virus scanning technologies, we cannot guarantee the email (including attachments) is virus free. You should take whatever measures you deem appropriate within your organisation to ensure maximum protection. Registered Office: The Atrium Building, Cannon Bridge, 25 Dowgate Hill, London, EC4R 2GA. Registered in England No. 2242204. Winterflood Securities Limited is authorised and regulated by the Financial Services Authority. |
From: Vipula <vi...@ya...> - 2008-09-01 15:17:29
|
Hi, I'm using a Quick Fix (C#) engine as an acceptor to capture drop copy messages. Currently developing a function to handle ResendRequest. When I run the application on a console I can see the duplicate messages sent from the server but It doesn't fire the fromApp event. so I have no way of capturing the resent messages. Is there a setting that I have set so I can capture the duplicate messages at fromApp event. Many thanks. Vipula |
From: derekldn <der...@gm...> - 2008-08-31 11:21:40
|
crazy4venu wrote: > > std::string str; > > mesg.toString(str); > printf("Message string is %s",str); > I guess it crashed not because ExecutionReport failed to convert to string, but because you pass a std::string object to printf. Try to use std::cout instead of printf, or pass str.c_str() to printf. -- View this message in context: http://www.nabble.com/Converting-message-to-string-tp19241250p19241350.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: crazy4venu <cra...@gm...> - 2008-08-31 09:31:35
|
hi derekldn, Thanks for the support. its great to have support from you. sorry for next query, as i see sometimes when i enter NewSingleoder i get this output in toApp() OUT: 8=FIX.4.2☺9=137☺35=D☺34=554☺49=venu☺52=20080831-16:20:26.687☺56=MRKTC-EXCH☺11=12☺21=1☺38=1000☺40=1☺54=1☺55=goog☺59=0☺60=20080831-16:20:04☺10=179☺ but i don't see the execution report in fromApp or in onMessage(const FIX42::ExecutionReport& mesg, const FIX::SessionID& sid). i don't see anything appearing in event log. Regards tinnu. derekldn wrote: > > > > crazy4venu wrote: >> >> std::string str; >> >> mesg.toString(str); >> printf("Message string is %s",str); >> > > I guess it crashed not because ExecutionReport failed to convert to > string, but because you pass a std::string object to printf. Try to use > std::cout instead of printf, or pass str.c_str() to printf. > > -- View this message in context: http://www.nabble.com/Converting-message-to-string-tp19241250p19243746.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: crazy4venu <cra...@gm...> - 2008-08-31 04:07:28
|
Dear All, I am trying to convert the message from below function to string data void Application::onMessage(const FIX42::ExecutionReport& mesg, const FIX::SessionID& sid) { std::cout<<"On Message Execution Report"<<mesg<<std::endl; std::string str; mesg.toString(str); printf("Message string is %s",str); } but my application crashes when i do in this manner. is it possible to convert the message data in execution report to string ? Regards tinnu -- View this message in context: http://www.nabble.com/Converting-message-to-string-tp19241250p19241250.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: <ned...@ao...> - 2008-08-31 01:50:59
|
In case some of you were interested. Thanks Ned I would add the following to the response you received on this question. Let's assume you want to use the QuickFix log and have it log to a file: ? 1) Use the FileLogFactory as in the following: ? FIX::SessionSettings settings ( config ); FIX::FileLogFactory logFactory ( settings ); ? initiator = FIX::SocketInitiator(application, storeFactory, settings, logFactory); ? 2) Set your configuration file as in the following: ? FileLogPath=log ? The FileLogPath allows you to specify the path to the directory?that the log files will be in. In the above example, the name of the directory will be "log" and since there was no path specified (i.e. c:\mylocation\log), the location of the "log" directory will default to the start in directory I believe. ? I hope this helps Ned ? ? In a message dated 8/29/2008 7:16:59 A.M. Eastern Daylight Time, der...@gm... writes: > 5) where do i get the log. > As you can see, the tradeclient example uses ScreenLogFactory which create ScreenLog object. You can either redirect the output to a file, change the std::cout in ScreenLog, or write your own Log class. -----Original Message----- From: Derek <der...@go...> To: Ned...@ao... Sent: Sat, 30 Aug 2008 9:20 am Subject: Re: [Quickfix-developers] Trading Client help Hi Ned, Totally agree with your advice. Actually I'm not the person starting this thread. Probably you should reply to the whole email list to let others know. Could you please try to answer other questions as well? Thanks, Derek On Fri, Aug 29, 2008 at 2:34 PM, <Ned...@ao...> wrote: I would add the following to the response you received on this question. Let's assume you want to use the QuickFix log and have it log to a file: ? 1) Use the FileLogFactory as in the following: ? FIX::SessionSettings settings ( config ); FIX::FileLogFactory logFactory ( settings ); ? initiator = FIX::SocketInitiator(application, storeFactory, settings, logFactory); ? 2) Set your configuration file as in the following: ? FileLogPath=log ? The FileLogPath allows you to specify the path to the directory?that the log files will be in. In the above example, the name of the directory will be "log" and since there was no path specified (i.e. c:\mylocation\log), the location of the "log" directory will default to the start in directory I believe. ? I hope this helps Ned ? ? In a message dated 8/29/2008 7:16:59 A.M. Eastern Daylight Time, der...@gm... writes: > 5) where do i get the log. > As you can see, the tradeclient example uses ScreenLogFactory which create ScreenLog object. You can either redirect the output to a file, change the std::cout in ScreenLog, or write your own Log class. It's only a deal if it's where you want to go. Find your travel deal here. |
From: Mike G. <mg...@co...> - 2008-08-30 16:47:38
|
George, If I understand correctly, you need a lookup of field name (as string) -> field number (as int)? What about leveraging the code generator? I.e. create a stylesheet in the spec/ dir: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text" encoding="UTF-8"/> <xsl:template match="text()"/> <xsl:template match="/">/* -*- C++ -*- */ <xsl:copy-of select="document('COPYRIGHT.xml')"/> #ifndef FIX_FIELDNAMESTONUMBERS_H #define FIX_FIELDNAMESTONUMBERS_H #include <map> #include <string> class FieldNamesToNumbers { private: std::map<std::string,int> fieldNamesToNumbers_; public: int get(const std::string & fieldName) { return fieldNamesToNumbers_[fieldName]; } FieldNamesToNumbers() { <xsl:apply-templates/> } }; #endif </xsl:template> <xsl:template match="fields/field"> fieldNamesToNumbers_["<xsl:value-of select="@name"/>"] = <xsl:value-of select="@number"/>; </xsl:template> </xsl:stylesheet> Run this command (or better yet, add it to spec/generate_c++.sh): xsltproc -o ../src/C++/FieldNamesToNumbers.h FieldNamesToNumbers.xsl FIX44.xml And in your code: #include <quickfix/FieldNamesToNumbers.h> FieldNamesToNumbers conv; /* ... */ message.getField(conv.get(field_name_1_from_config_file)); message.getField(conv.get(field_name_2_from_config_file)); Now you'll always be up-to-date with the lastest data dictionary. Simply re-run the generator if it changes. -- Mike Gatny Connamara Systems, LLC http://www.connamara.com/ |
From: Mike G. <mg...@co...> - 2008-08-30 15:30:38
|
Try this: Message msg = new Message(); msg.setField(ClOrdID.FIELD, "1234"); foreach (StringField field in msg) { Console.WriteLine(field.ToString()); } -- Mike Gatny Connamara Systems, LLC http://www.connamara.com/ |
From: Alexis M. <ale...@ya...> - 2008-08-29 18:57:53
|
Thanks Oren - though I'm getting an exception doing the below. Right now I'm trying something simple like: QuickFix.Message fixMsg = new Message(line); foreach (QuickFix.StringField sf in fixMsg.GetEnumerator()) { Console.WriteLine(sf.ToString()); } Getting an exception when compiling: "foreach statement cannot operate on variables of type 'System.Collections.IEnumerator' because 'System.Collections.IEnumerator' does not contain a public definition for 'GetEnumerator'" Regards, Alexis ----- Original Message ---- From: "or...@qu..." <or...@qu...> To: Alexis Michaelides <ale...@ya...> Cc: qui...@li... Sent: Friday, August 29, 2008 5:39:52 PM Subject: RE: [Quickfix-developers] Iterate through message fields? Yes. foreach( StringField field in message.GetEnumerator() ) When you iterate everything is given to you as a string field, if you need it in another format you wil need to convert it. --oren > -------- Original Message -------- > Subject: [Quickfix-developers] Iterate through message fields? > From: Alexis Michaelides <ale...@ya...> > Date: Tue, August 19, 2008 5:47 am > To: qui...@li... > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html<hr>In .NET is there any way to iterate through all the fields of a QuickFix message? e.g. using foreach? > Thanks, > Alexis<hr>------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/<hr>_______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |