Thread: [Quickfix-developers] (no subject)
Brought to you by:
orenmnero
From: Randy F. <rjf...@ya...> - 2002-03-06 13:05:21
|
QuickFix Developers, Here is a fix you can apply to compile for VS.NET until the source code is updated. Replace the custom build step for all header files in the quickfix_lib project with the new custom build step. This fix will work for both VS 6.0 and .NET (7.0) but is only required for VS.NET. <New custom build step> @echo off IF EXIST include$(InputName).h ( del include$(InputName).h ) xcopy "$(InputPath)" include </New custom build step> The all unit tests pass for source compiled with VS.NET but the acceptance test will not run. It appears the command line parameters are not mangled when running the VS.NET compiled atrun.exe. I'm looking into this problem. One issue remains for side by side installations of Visual Studio. You will have to ignore the libraries in the VS.NET lib directory when compiling with VS 6.0. This implies that you will need two versions of the dsp. For the time being just create a copy of the source for VS.NET and make the necessary modifications. Randy Fredrick rjf...@ya... --------------------------------- Do You Yahoo!? Try FREE Yahoo! Mail - the world's greatest free email! |
From: David K. <ke...@ho...> - 2002-03-10 15:21:19
|
<html><div style='background-color:'><DIV>I started playing with your quckfix engine. I have a problem which is probably related more to MSVC then anything but wonder if someone can give me a hand.</DIV> <DIV> </DIV> <DIV>I create a new console app, put in the code from at_client or at_server, fix the includes, set debug multithreaded and compile. No errors warnings but a whole bunch of 'link errors' which come from putting quickfix_debug.lib in the linker options. Without the lib, I get erros (understandably). Here is a samle of what I get. Any ideas would be appreciated.</DIV> <DIV> </DIV> <DIV>removing libcpmtd.lib or msvcprtd.lib doesn't seem to help. Oddly enough, the sample project supplied compiles/links fine. I have looked at the difference between my project and at_server and can't see anything.</DIV> <DIV> </DIV> <DIV>msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::ios_base::Init::Init(void)" (<A href="mailto:??0Init@ios_base@std@@QAE@XZ">??0Init@ios_base@std@@QAE@XZ</A>) already defined in libcpmtd.lib(iostream.obj)<BR>msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::ios_base::Init::~Init(void)" (<A href="mailto:??1Init@ios_base@std@@QAE@XZ">??1Init@ios_base@std@@QAE@XZ</A>) already defined in libcpmtd.lib(iostream.obj)<BR>msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::_Winit::_Winit(void)" (<A href="mailto:??0_Winit@std@@QAE@XZ">??0_Winit@std@@QAE@XZ</A>) already defined in libcpmtd.lib(wiostrea.obj)<BR>msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::_Winit::~_Winit(void)" (<A href="mailto:??1_Winit@std@@QAE@XZ">??1_Winit@std@@QAE@XZ</A>) already defined in libcpmtd.lib(wiostrea.obj)<BR>msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::allocator<char<BR>> const &)" (<A href="mailto:??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$allocator@D@1@@Z">??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV?$allocator@D@1@@Z</A>) already defined in NewClient.obj<BR>msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_strin<BR><A href="mailto:g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ">g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ</A>) already defined in NewClient.obj</DIV></div><br clear=all><hr>Chat with friends online, try MSN Messenger: <a href='http://g.msn.com/1HM101601/z'>Click Here</a><br></html> |
From: Justin P. <jp...@fs...> - 2002-06-23 22:21:46
|
Can someone tell me how to set an ExDestination Variable: According to FIX documentation I need to send field 100(Exdestination) to 2. Can someone tell me how to do that? Message.setField(FIX::ExDestination(exDestination)); Thanks, Justin |
From: Pasquale d'A. <pas...@ga...> - 2002-08-29 14:35:55
|
Hello. I'm developing an initiator trading application using QuickFIX library, release 1.1.0 first, then 1.2.1. I have a problem on implementing normal termination of a message exchange session. When using the method Session::send() to send a logout, QuickFIX, on receiving logout from the FIX counterpart, checks the flag 'Session::m_sentLogout', finds it at false and sends another logout message. On the other hand, I can't send logout using the method Session::generateLogout(), that sets the above specified flag to true, because this method is private. I believe I have not understood the correct method to start a normal exchange of logout messages, in the intentions of QuickFIX developers. Thanks, P. d'Aloise ------------------------------------ Pasquale d'Aloise pas...@ga... GATE Tecnologie Informatiche S.S. 17 - Loc. Nunziatella 86170 ISERNIA - Italy Tel. 0039-0865-451890 Isernia Ita |
From: Verma, S. <SV...@Cr...> - 2003-10-03 18:19:24
|
It seems that some of the values in OrdType have been removed since version 1.5 . I think that is to reflect the changes in the FIX specs for 4.3 and 4.4. But how do support older FIX versions without having to use multiple versions of QuickFIX? DISCLAIMER e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately notify me and permanently delete the original and any copy of any e-mail and any printout thereof. E-mail transmission cannot be guaranteed to be secure or error-free. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. REGARDING PRIVACY AND CONFIDENTIALITY Crown Financial Group may, at its discretion, monitor and review the content of all e-mail communications. |
From: Oren M. <ore...@ya...> - 2003-10-03 18:48:28
|
Everything that goes away should be moved into the deprecated fields. If it has not than it is an oversight and should be added. --- "Verma, Sanjay" <SV...@Cr...> wrote: > It seems that some of the values in OrdType have > been removed since version > 1.5 . I think that is to reflect the changes in the > FIX specs for 4.3 and > 4.4. But how do support older FIX versions without > having to use multiple > versions of QuickFIX? > DISCLAIMER > e-mail, and any attachments thereto, is intended > only for use by the > addressee(s) named herein and may contain legally > privileged and/or > confidential information. If you are not the > intended recipient of this > e-mail, you are hereby notified that any > dissemination, distribution or > copying of this e-mail, and any attachments thereto, > is strictly prohibited. > If you have received this e-mail in error, please > immediately notify me and > permanently delete the original and any copy of any > e-mail and any printout > thereof. > > E-mail transmission cannot be guaranteed to be > secure or error-free. The > sender therefore does not accept liability for any > errors or omissions in > the contents of this message which arise as a result > of e-mail transmission. > REGARDING PRIVACY AND CONFIDENTIALITY > Crown Financial Group may, at its discretion, > monitor and review the content > of all e-mail communications. > > __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com |
From: Verma, S. <SV...@Cr...> - 2003-12-09 20:56:27
|
Is there anyway to force a sequence number in QF. Say I get sequence number 34 when I connect and logon to a counterparty. Is there a switch or a setting that tells QF "yes, the sequence number is incorrect but accept it and move on" as opposed to disconnecting the session. Thanks. DISCLAIMER e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately notify me and permanently delete the original and any copy of any e-mail and any printout thereof. E-mail transmission cannot be guaranteed to be secure or error-free. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. REGARDING PRIVACY AND CONFIDENTIALITY Crown Financial Group may, at its discretion, monitor and review the content of all e-mail communications. |
From: Sutee G. <su...@si...> - 2004-02-12 07:09:13
|
Dear all, I have some problem. I use QuickFix 1.6 to develop Fix Engine and use VC# to develop Fix Engine. Now my progress is session level testing with other client. I have some question to ask. 1. I have problem when I try to logout or close my program because I think QuickFix for .NET that I use not send logout message to client. So I change some code in program in onClose Event to send logout to client before close. But It's not waiting for logout message from client side so this is a problem in sequence number when I try to connect to client again. Client side try to resend request and my program try to resend request message and reset sequence message to client. The question is QuickFix for .NET is implement all function or method that has in C++ platfrom ?, Or How to coding or send logout message and waiting for ack from client before close. 2. How to QuickFix for .NET handle session if sequence number is missing. Can I fix it by myself ?, Best Regards, Sutee Gettupan |
From: Oren M. <ore...@ya...> - 2004-02-12 14:12:58
|
The easiest thing would probably be to just keep track with a boolean, for example: onLogon( SessionID ) { loggedOn = true; } onLogout( SessionID ) { loggedOn = false; } onClose() { sendLogout while( loggedOn ) sleep 100 milliseconds } Sequence number should be resynched themselves. If they are not doing so automatically, then there may be a problem with how the engines are interacting. If you want to force a change in sequence number, you can change the .seqnums file (if you are using the filestore). The file format is SenderMsgSeqNum : TargetMsgSeqNum Sutee Gettupan <su...@si...> wrote: Dear all, I have some problem. I use QuickFix 1.6 to develop Fix Engine and use VC# to develop Fix Engine. Now my progress is session level testing with other client. I have some question to ask. 1. I have problem when I try to logout or close my program because I think QuickFix for .NET that I use not send logout message to client. So I change some code in program in onClose Event to send logout to client before close. But It's not waiting for logout message from client side so this is a problem in sequence number when I try to connect to client again. Client side try to resend request and my program try to resend request message and reset sequence message to client. The question is QuickFix for .NET is implement all function or method that has in C++ platfrom ?, Or How to coding or send logout message and waiting for ack from client before close. 2. How to QuickFix for .NET handle session if sequence number is missing. Can I fix it by myself ?, Best Regards, Sutee Gettupan ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers --------------------------------- Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online |
From: Patrick F. <pat...@ch...> - 2004-04-15 13:33:47
|
Oren, When I try to access the repeating groups contained inside a QuickFix42.QuoteRequest message the fields of the NoRelatedSymbol are = left blank. When I print the original QuoteRequest message I see that valid values are included. Could having the fields out of order and not = forcing the out of order validation cause this behavior? If not, what would be another possible scenario? Thank you in advance. =20 Patrick Flannery=20 =20 -----------------------------------------------------------=20 This email message is intended only for the addressee(s)=20 and contains information that may be confidential and/or=20 copyright. If you are not the intended recipient please=20 notify the sender by reply email and immediately delete=20 this email. Use, disclosure or reproduction of this email=20 by anyone other than the intended recipient(s) is strictly=20 prohibited. No representation is made that this email or=20 any attachments are free of viruses. Virus scanning is=20 recommended and is the responsibility of the recipient. Thank you. -----------------------------------------------------------=20 For more information on CTC, LLC please visit our website at:=20 http://www.chicagotrading.com. |
From: Oren M. <om...@ri...> - 2004-04-15 14:30:10
|
Having the fields out of order is probably ok as long as the delimiter=20= is used correctly. It's really hard to say without seeing the message.=20= Could you post it? --oren On Apr 15, 2004, at 8:33 AM, Patrick Flannery wrote: > Oren, > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 When I try to access the repeating = groups contained inside=20 > a QuickFix42.QuoteRequest message the fields of the NoRelatedSymbol=20 > are left blank.=A0 When I print the original QuoteRequest message I = see=20 > that valid values are included.=A0 Could having the fields out of = order=20 > and not forcing the out of order validation cause this behavior?=A0 If=20= > not, what would be another possible scenario? Thank you in advance. > > =A0 > > Patrick Flannery > > =A0 > > This email message is intended only for the addressee(s) and contains=20= > information that may be confidential and/or > copyright.=A0 If you are not the intended recipient please notify the=20= > sender by reply email and immediately delete > this email. Use, disclosure or reproduction of this email by anyone=20 > other than the intended recipient(s) is strictly > prohibited. No representation is made that this email or any=20 > attachments are free of viruses. Virus scanning is > recommended and is the responsibility of the recipient. > > Thank you. > > For more information on CTC, LLC please visit our website at=20 > http://www.chicagotrading.com. > > > =A0 |
From: Patrick F. <pat...@ch...> - 2004-07-01 20:09:33
|
Oren,=09 I know there is an easy way to iterate through a message and print the integer value pairs. Is there an easy way to iterate through and = print the name of the field and the value? Patrick -----------------------------------------------------------=20 This email message is intended only for the addressee(s)=20 and contains information that may be confidential and/or=20 copyright. If you are not the intended recipient please=20 notify the sender by reply email and immediately delete=20 this email. Use, disclosure or reproduction of this email=20 by anyone other than the intended recipient(s) is strictly=20 prohibited. No representation is made that this email or=20 any attachments are free of viruses. Virus scanning is=20 recommended and is the responsibility of the recipient. Thank you. -----------------------------------------------------------=20 For more information on CTC, LLC please visit our website at:=20 http://www.chicagotrading.com. |
From: Oren M. <or...@qu...> - 2004-07-01 20:17:08
|
Yes, as long as you have a data dictionary. Use the getFieldName and getValueName methods. Or, if you don't mind the output in XML, as long as the Message was constructed with a DataDictionary, just use toXML on the message class. --oren On Jul 1, 2004, at 3:09 PM, Patrick Flannery wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > Oren, > I know there is an easy way to iterate through a message and print > the integer value pairs. Is there an easy way to iterate through and > print > the name of the field and the value? > > Patrick > > > ----------------------------------------------------------- > This email message is intended only for the addressee(s) > and contains information that may be confidential and/or > copyright. If you are not the intended recipient please > notify the sender by reply email and immediately delete > this email. Use, disclosure or reproduction of this email > by anyone other than the intended recipient(s) is strictly > prohibited. No representation is made that this email or > any attachments are free of viruses. Virus scanning is > recommended and is the responsibility of the recipient. > > Thank you. > ----------------------------------------------------------- > > For more information on CTC, LLC please visit > our website at: > > http://www.chicagotrading.com. > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - > digital self defense, top technical experts, no vendor pitches, > unmatched networking opportunities. Visit www.blackhat.com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Oren M. <or...@qu...> - 2004-07-01 20:27:49
|
Sorry, I didn't quite get the XML part right. To use that you need to call Message::initializeXML, and pass it the location of a data dictionary file. This is a static method. Once you do this, toXML will print the names of fields and values for any message. --oren On Jul 1, 2004, at 3:16 PM, Oren Miller wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html > > Yes, as long as you have a data dictionary. Use the getFieldName and > getValueName methods. Or, if you don't mind the output in XML, as > long as the Message was constructed with a DataDictionary, just use > toXML on the message class. > > --oren > > On Jul 1, 2004, at 3:09 PM, Patrick Flannery wrote: > >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX FAQ: http://www.quickfixengine.org/quickfix/doc/html/FAQ.html >> >> Oren, >> I know there is an easy way to iterate through a message and print >> the integer value pairs. Is there an easy way to iterate through and >> print >> the name of the field and the value? >> >> Patrick >> >> >> ----------------------------------------------------------- >> This email message is intended only for the addressee(s) >> and contains information that may be confidential and/or >> copyright. If you are not the intended recipient please >> notify the sender by reply email and immediately delete >> this email. Use, disclosure or reproduction of this email >> by anyone other than the intended recipient(s) is strictly >> prohibited. No representation is made that this email or >> any attachments are free of viruses. Virus scanning is >> recommended and is the responsibility of the recipient. >> >> Thank you. >> ----------------------------------------------------------- >> >> For more information on CTC, LLC please visit >> our website at: >> >> http://www.chicagotrading.com. >> >> >> >> ------------------------------------------------------- >> This SF.Net email sponsored by Black Hat Briefings & Training. >> Attend Black Hat Briefings & Training, Las Vegas July 24-29 - >> digital self defense, top technical experts, no vendor pitches, >> unmatched networking opportunities. Visit www.blackhat.com >> _______________________________________________ >> Quickfix-developers mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers >> > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital > self defense, top technical experts, no vendor pitches, unmatched > networking opportunities. Visit www.blackhat.com > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: abhijit <ab...@in...> - 2005-05-04 05:27:26
|
Hi All, I'm trying to convert FixSample Application 4.2 to 4.4. I have change all 4.2 to 4.4, Build ok, but when i have running the = acceptor & initiator. In Initiator return 'Sending Message' but Acceptor = not return any thing. But data store into Mysql db properly. Plz help me. Thanks Avijit |
From: abhijit <ab...@in...> - 2005-05-10 06:18:58
|
I want to create a GUI based project. but when i'm call following part = from my GUI Form, it's not work & "application.Run(new FIX_Acceptor.FIX = ())" code is automatic deleted. SessionSettings settings =3D new SessionSettings( "hello" ); Application application =3D new Application(); MySQLStoreFactory factory =3D new MySQLStoreFactory( settings ); MySQLLogFactory logFactory =3D new MySQLLogFactory( settings ); MessageFactory messageFactory =3D new DefaultMessageFactory(); SocketAcceptor acceptor=3D new SocketAcceptor( application, factory, = settings, logFactory, messageFactory ); Please give me some advice how i create a Gui based project with = quickfix functionality. Thanks Avijit |
From: Dale W. <wil...@oc...> - 2005-05-23 15:04:36
|
Hi QuickFIX developers, I think I've run into a "you-can't-get-there-from-here" problem, but I'd like to be sure I'm not missing something. The situation I'm trying to handle happens when the client (initiator) is recovering from a significant failure and has lost track of the sequence number expected by the server (acceptor). The client sends logon message a sequence number that is less than the one expected by the server. The server responds, correctly, with a logout message. If the server is based on QuickFIX this logout message will contain a Text field giving the expected sequence number. i.e.: 58=MsgSeqNum too low, expecting 7 but received 1 What I would like to do is detect this Logout message; inform the user of the situation; and allow them to verity that the sequence number should be reset. Unfortunately as far as I have been able to determine, the Logout message containig the expected sequence number never reaches the application code. QuickFIX determines that this is not a valid sequence of messages: [ Session::verify calls Session::validLogonState and throws an exception when it returns false. ] and calls Application::onLogout() (twice, actually, but who's counting.) The body of the message containing the expected sequence number isn't available vis the onLogout call -- so I can't find a way to determine what sequence number is expected. My work around for this will be to read the log, identify the logout message, and parse it to find the expected sequence number -- unless, of course, someone tells me that there's a better way. Any suggestions would be appreciated, Dale -- ----------------------------------------------------- Dale Wilson, Senior Software Engineer Object Computing, Inc. (OCI) http://www.ociweb.com/ http://www.theaceorb.com/ ---------------------------------------------------- |
From: abhijit <ab...@in...> - 2005-05-10 06:19:06
|
I want to create a GUI based project. but when i'm call following part = from my GUI Form, it's not work & "application.Run(new FIX_Acceptor.FIX = ())" code is automatic deleted. SessionSettings settings =3D new SessionSettings( "hello" ); Application application =3D new Application(); MySQLStoreFactory factory =3D new MySQLStoreFactory( settings ); MySQLLogFactory logFactory =3D new MySQLLogFactory( settings ); MessageFactory messageFactory =3D new DefaultMessageFactory(); SocketAcceptor acceptor=3D new SocketAcceptor( application, factory, = settings, logFactory, messageFactory ); Please give me some advice how i create a Gui based project with = quickfix functionality. Thanks Avijit |
From: Martin T. <mta...@ho...> - 2005-10-12 19:27:45
|
Hi Oren, I found this message when looking for a solution at my issue. Displayed below, is a reply that you sent to Eric. My issue is very similar to his. Initially I call initiator.start(). When I want it to disconnect, I call initiator.stop(), then, as described by Eric, it hang somewhere indefinitely. I have to kill my app. I know that I can stop any session by calling session.logout(). So, what I would like to know is the good way of connecting and disconnecting. Is it throught the initiator.start and initiator.stop ? In this case, what could make my initiator hang forever? Or to do a initiator.start initially, and then proceeding per session logout/logon ? Thank you! Martin >Why is the initiator thread being terminated? All you need to do is call >logout when you want to disconnect, and call logon when you want to >reconnect. Nothing here should affect your Initiator thread. Is something >else going on? Did you call stop on the Initiator? > >--oren > >On Jul 7, 2004, at 4:44 PM, Eric Ginder wrote: > > > I"m having trouble with reconnecting after I disconnect a session. > >I"m using Session::logout() to kill the session and I see the logout > >message coming back from the targetcomp. The initiator thread that is > >supposed to terminate at this point is hanging somewhere and when I > try >to reconnect, it fails because the socket initiator is still > waiting for >the variable m_stop to turn to true. > > > Does anyone else have this problem or is there a better way to > >disconnect? > > > Thanks, > > > Eric Ginder > > Last Atlantis Capital > > ^ |
From: amit s. <aam...@gm...> - 2005-10-26 05:40:51
|
Hello everyone, If anyone can please tell me that if 'libquickfix_jni.so' is necessary for quickfix-java implementation or there is some work around. Please let me know as I m in urgent need. Thanks in advance Amit <qui...@li...> |
From: Stanislawek, M. <MSt...@cm...> - 2005-12-01 21:29:22
|
confirm 953176 |
From: Ambareen S. <Amb...@la...> - 2005-12-15 04:10:26
|
U2lyLA0KDQogDQoNCkkgc3R1ZGllZCB0aGUgUXVpY2sgRml4IEVuZ2luZSBpbiBkZXRhaWwsIGRv d25sb2FkZWQgaXRzIHNvdXJjZSBjb2RlIGFuZCBpbXBsZW1lbnRlZCBpdCBhcyBwZXIgbXkgcmVx dWlyZW1lbnRzLg0KDQpJIGRlc2lnbmVkIGEgRklYIHNlcnZlciB3aGljaCBhY3RzIGFzIGFuIGFj Y2VwdG9yIGFuZCBhIEZJWCBjbGllbnQgd2hpY2ggYWN0cyBhcyBhbiBpbml0aWF0b3IuIA0KDQog DQoNCldoZW4gSSBtIHVzaW5nICBleGFtcGxlcyBkaXJlY3RvcnkgdGhhdCBjb250YWlucyDigJxl eGVjdXRvcuKAnSBpLmUuIGFjdGluZyBhcyBhbiBhY2NlcHRvciBhbmQg4oCcdHJhZGVDbGllbnTi gJ0gaS5lLiBhY3RpbmcgYXMgYW4gaW5pdGlhdG9yLg0KDQpJIG0gZmFjaW5nIGEgcHJvYmxlbSBp biBnZXR0aW5nIGNvbmZpcm1hdGlvbiBmcm9tIGFuIGluaXRpYXRvciAodHJhZGVDbGllbnQuZHN3 KSB3aGV0aGVyIGl0IGlzIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgYWNjZXB0b3IgKGV4ZWN1dG9y LmRzdykgb3Igbm90Lg0KDQpXaGVuIEkgbSBleGVjdXRpbmcgYWNjZXB0b3IgLCBpdCBnaXZlcyBh IG1lYXNzZ2UgOg0KDQogDQoNCjwyMDA1MTIxNC0wNDozOToxOSwgRklYLjQuMjpTVlItPkNMSUVO VCwgZXZlbnQ+DQoNCiAgKENyZWF0ZWQgc2Vzc2lvbikNCg0KIA0KDQpBbmQgd2hlbiBJIG0gZXhl Y3V0aW5nIGluaXRpYXRvciwgaXQganVzdCBhc2sgZm9yIHNvbWUgb3B0aW9ucyBhYm91dCBvcmRl ciBhbmQgdGhlbiBkaXNwbGF5cyBhIG1lc3NhZ2UgOg0KDQogDQoNCjEpIEVudGVyIE9yZGVyDQoN CjIpIENhbmNlbCBPcmRlcg0KDQozKSBSZXBsYWNlIE9yZGVyDQoNCjQpIE1hcmtldCBkYXRhIHRl c3QNCg0KNSkgUXVpdA0KDQpBY3Rpb246IDENCg0KIA0KDQoxKSBGSVguNC4wDQoNCjIpIEZJWC40 LjENCg0KMykgRklYLjQuMg0KDQo0KSBGSVguNC4zDQoNCjUpIEZJWC40LjQNCg0KQmVnaW5TdHJp bmc6IDMNCg0KIA0KDQpOZXdPcmRlclNpbmdsZQ0KDQogDQoNCjEpIE1hcmtldA0KDQoyKSBMaW1p dA0KDQozKSBTdG9wDQoNCjQpIFN0b3AgTGltaXQNCg0KT3JkVHlwZTogMQ0KDQogDQoNCjEpIEJ1 eQ0KDQoyKSBTZWxsDQoNCjMpIFNlbGwgU2hvcnQNCg0KNCkgU2VsbCBTaG9ydCBFeGVtcHQNCg0K NSkgQ3Jvc3MNCg0KNikgQ3Jvc3MgU2hvcnQNCg0KNykgQ3Jvc3MgU2hvcnQgRXhlbXB0DQoNClNp ZGU6IDENCg0KIA0KDQpTeW1ib2w6IFBUQw0KDQogDQoNCkNsT3JkSUQ6IDEyMw0KDQogDQoNCk9y ZGVyUXR5OiA1MDANCg0KIA0KDQoxKSBEYXkNCg0KMikgSU9DDQoNCjMpIE9QRw0KDQo0KSBHVEMN Cg0KNSkgR1RYDQoNClRpbWVJbkZvcmNlOiAxDQoNCiANCg0KU2VuZGVyQ29tcElEOiBDTElFTlQN Cg0KIA0KDQpUYXJnZXRDb21wSUQ6IFNWUg0KDQogDQoNClVzZSBhIFRhcmdldFN1YklEPzogTg0K DQogDQoNClNlbmQgb3JkZXI/OiBZDQoNCiANCg0KT1VUOiA4PUZJWC40LjLimLo5PTExNOKYujM1 PUTimLozND0x4pi6NDk9Q0xJRU5U4pi6NTI9MjAwNTEyMTQtMDU6NTQ6MzQuMDAw4pi6NTY9U1ZS 4pi6MTE9MTIz4pi6DQoNCjIxPTHimLozOD01MDDimLo0MD0x4pi6NTQ9MeKYujU1PVBUQ+KYujU5 PTDimLo2MD0yMDA1MTIxNC0wNTo1NDowOOKYujEwPTA0MOKYug0KDQogDQoNCiANCg0KTXkgcXVl c3Rpb24gaXMg4oCm4oCmLmhvdyBjYW4gSSBnZXQgdGhlIGNvbmZpcm1hdGlvbiB0aGF0IHRoZSBv cmRlciBpcyBzZW50IHRvIGV4ZWN1dG9yIGFuZCBjb21tdW5pY2F0ZWQgd2l0aCBpdCwsIEFzIEkg ZGlkbuKAmXQgcmVjZWl2ZWQgYW55IG1lc3NhZ2UgYWNjb3JkaW5nIHRvIGNvZGUgZm9yIExvZ2lu IGV0Yw0KDQogDQoNCnZvaWQgQXBwbGljYXRpb246Om9uTG9nb24oIGNvbnN0IEZJWDo6U2Vzc2lv bklEJiBzZXNzaW9uSUQgKQ0KDQp7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAN Cg0KICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsIDw8ICJMb2dvbiAtICIgPDwgc2Vzc2lvbklEIDw8 IHN0ZDo6ZW5kbDsNCg0KfSANCg0KIA0KDQogDQoNCldpdGggUmVnYXJkcy4NCg0KIA0KDQo= |
From: Dale W. <wil...@oc...> - 2005-12-15 15:00:40
|
Hi Ambareen, There should be an "IN:" line after the "OUT:" line you are seeing. It=20 is displayed when the message arrives from the executor. The executor=20 should send a message when it accepts your order. Since you don't see this line, there is a problem. Probably your best bet to disagnose the problem is to look in the=20 quickfix/bin/logs directory. There you will see a record of all the FIX messages sent from=20 tradeclient to executor in the file FIX.4.2-CLIENT1-TW.outgoing, and the=20 messages received from executor in FIX.4.2-CLIENT1-TW.incoming. =20 Interpreting these messages should tell you what's going on. Dale Ambareen Shahzadi wrote: > Sir, > > =20 > > I studied the Quick Fix Engine in detail, downloaded its source code=20 > and implemented it as per my requirements. > > I designed a FIX server which acts as an acceptor and a FIX client=20 > which acts as an initiator. > > =20 > > When I m using examples directory that contains =E2=80=9C*executor=E2=80= =9D* i.e.=20 > acting as an acceptor and *=E2=80=9CtradeClient*=E2=80=9D i.e. acting a= s an initiator. > > I m facing a problem in getting confirmation from an initiator=20 > (tradeClient.dsw) whether it is communicating with the acceptor=20 > (executor.dsw) or not. > > When I m executing acceptor , it gives a meassge : > > =20 > > *<20051214-04:39:19, FIX.4.2:SVR->CLIENT, event>* > > * (Created session)* > > =20 > > And when I m executing initiator, *it just ask for some options* about=20 > order and then displays a message : > > =20 > > 1) Enter Order > > 2) Cancel Order > > 3) Replace Order > > 4) Market data test > > 5) Quit > > Action: *1* > > =20 > > 1) FIX.4.0 > > 2) FIX.4.1 > > 3) FIX.4.2 > > 4) FIX.4.3 > > 5) FIX.4.4 > > BeginString: *3* > > =20 > > NewOrderSingle > > =20 > > 1) Market > > 2) Limit > > 3) Stop > > 4) Stop Limit > > OrdType: *1* > > =20 > > 1) Buy > > 2) Sell > > 3) Sell Short > > 4) Sell Short Exempt > > 5) Cross > > 6) Cross Short > > 7) Cross Short Exempt > > Side: *1* > > =20 > > Symbol: *PTC* > > =20 > > ClOrdID: *123* > > =20 > > OrderQty: *500* > > =20 > > 1) Day > > 2) IOC > > 3) OPG > > 4) GTC > > 5) GTX > > TimeInForce: *1* > > =20 > > SenderCompID: *CLIENT* > > =20 > > TargetCompID: *SVR* > > =20 > > Use a TargetSubID?: *N* > > =20 > > Send order?: *Y* > > =20 > > OUT:=20 > *8=3DFIX.4.2=E2=98=BA9=3D114=E2=98=BA35=3DD=E2=98=BA34=3D1=E2=98=BA49=3D= CLIENT=E2=98=BA52=3D20051214-05:54:34.000=E2=98=BA56=3DSVR=E2=98=BA11=3D1= 23=E2=98=BA* > > *21=3D1=E2=98=BA38=3D500=E2=98=BA40=3D1=E2=98=BA54=3D1=E2=98=BA55=3DPTC= =E2=98=BA59=3D0=E2=98=BA60=3D20051214-05:54:08=E2=98=BA10=3D040=E2=98=BA* > > =20 > > =20 > > My question is =E2=80=A6=E2=80=A6.how can I get the confirmation that t= he *order* is=20 > sent to *executor* and communicated with it,, As I didn=E2=80=99t recei= ved any=20 > message according to code for Login etc > > =20 > > void Application::onLogon( const FIX::SessionID& sessionID ) > > { = =20 > > > std::cout << std::endl << "Logon - " << sessionID << std::endl; > > } > > =20 > > =20 > > *With Regards*. > > =20 > --=20 ----------------------------------------------------- Dale Wilson, Senior Software Engineer Object Computing, Inc. (OCI) http://www.ociweb.com/ http://www.theaceorb.com/ ---------------------------------------------------- |
From: Brendan B. <br...@ka...> - 2006-04-12 00:23:26
|
Hi, In our application using QuickFIX I'm creating a FIX 4.2 server which will send MarketDataSnapshotFullRefresh messages to a client. In this application we don't wish to store messages if the client is disconnected - the client will simply receive current MarketDataSnapshotFullRefresh messages as become available after it connects, restarting with MsgSeqNum=1. I didn't see anything in {File,Memory}MessageStore which would implement this. I wanted to check w/the list to see if I'll need to implement my own implementation of MessageStoreFactory and MessageStore or have I overlooked something? Regards, Brendan |
From: Oren M. <or...@qu...> - 2006-04-12 00:50:48
|
Yeah, I've implemented this sort of thing for market data projects (not sure where it is at the moment unfortunately). It would probably be useful to distribute such a thing with quickfix. If you don't care about overhead (either memory or disk writes), then you can use either of those stores if you use the ResetOnDisconnect and ResetOnLogout settings. These will make sure your sequence numbers get reset to 1 no matter what store you use. If you are worried about the overhead, then what should work would be to implement some sort of NullStore which implements the sequence/ creation time methods like the memory store. Then just make the set () method do nothing, and have the get() method always return an empty vector. Then using those two configuration settings you should get the effect you are looking for. --oren On Apr 11, 2006, at 7:23 PM, Brendan Boerner wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi, > > In our application using QuickFIX I'm creating a FIX 4.2 server which > will send MarketDataSnapshotFullRefresh messages to a client. > > In this application we don't wish to store messages if the client is > disconnected - the client will simply receive current > MarketDataSnapshotFullRefresh messages as become available after it > connects, restarting with MsgSeqNum=1. > > I didn't see anything in {File,Memory}MessageStore which would > implement this. I wanted to check w/the list to see if I'll need to > implement my own implementation of MessageStoreFactory and > MessageStore or have I overlooked something? > > Regards, > Brendan > > > > ------------------------------------------------------- > 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=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |