quickfix-developers Mailing List for QuickFIX (Page 99)
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: Patrick W. <pw...@ka...> - 2008-01-17 21:12:04
|
Yes that is right. When you call sendtoTarget the toApp callback should be called by the fix engine to allow you to do some processing before the message is sent (log it for example). Also you can throw a DoNotSend exception here to stop the message from being sent. toApp will also be called when the engine responds to a resend request. I have only been using this for a few months - other people may have a better insight into this. Patrick -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of azmat Sent: Friday, 18 January 2008 7:56 AM To: qui...@li... Subject: Re: [Quickfix-developers] Just Starting... QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Actually, I figured out the first part. =20 fromApp, call crack...crack distinguishes what type of message it is and calls the appropiate OnMessage that is overridden from MessageCracker...if onMessage for the specific message type is NOT implemented, than an UnsupportedMessageType exception is thrown. =20 So in the onMessage (execution report) I would write the business related code for what I need to do for when/if an executionReport is a type of message that is received, correct? =20 My confusion now lies with sending messages with sendToTarget and its relation to toApp? Should I call sendToTarget from toApp or will it somehow (again) magically end up in toApp? =20 thanks! Azmat Patrick, Thanks! This is perfect. I have something very similar now. I understand that I should call the crack method in the fromApp method so that the MessageCracker can identify exactly what type of message it is. That is really neat. But, what I do not get is how or when is the onMessage method is called (the one that takes the ExecutionReport parameter)? Is this something that automagically happens with the crack method if it determines the message is of type ExecutionReport? Also on the flipside of it. If I call sendToTarget from my business layer will it automatically go to the Application.toApp method OR do I need to somehow call toApp and then call sendToTarget from there? Any help would be much, much appreciated! thanks! Azmat --=20 View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14933076.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. ------------------------------------------------------------------------ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: azmat <mr...@gm...> - 2008-01-17 20:56:19
|
Actually, I figured out the first part. fromApp, call crack...crack distinguishes what type of message it is and calls the appropiate OnMessage that is overridden from MessageCracker...if onMessage for the specific message type is NOT implemented, than an UnsupportedMessageType exception is thrown. So in the onMessage (execution report) I would write the business related code for what I need to do for when/if an executionReport is a type of message that is received, correct? My confusion now lies with sending messages with sendToTarget and its relation to toApp? Should I call sendToTarget from toApp or will it somehow (again) magically end up in toApp? thanks! Azmat Patrick, Thanks! This is perfect. I have something very similar now. I understand that I should call the crack method in the fromApp method so that the MessageCracker can identify exactly what type of message it is. That is really neat. But, what I do not get is how or when is the onMessage method is called (the one that takes the ExecutionReport parameter)? Is this something that automagically happens with the crack method if it determines the message is of type ExecutionReport? Also on the flipside of it. If I call sendToTarget from my business layer will it automatically go to the Application.toApp method OR do I need to somehow call toApp and then call sendToTarget from there? Any help would be much, much appreciated! thanks! Azmat -- View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14933076.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: azmat <mr...@gm...> - 2008-01-17 20:34:10
|
Patrick, Thanks! This is perfect. I have something very similar now. I understand that I should call the crack method in the fromApp method so that the MessageCracker can identify exactly what type of message it is. That is really neat. But, what I do not get is how or when is the onMessage method is called (the one that takes the ExecutionReport parameter)? Is this something that automagically happens with the crack method if it determines the message is of type ExecutionReport? Also on the flipside of it. If I call sendToTarget from my business layer will it automatically go to the Application.toApp method OR do I need to somehow call toApp and then call sendToTarget from there? Any help would be much, much appreciated! thanks! Azmat Patrick Wright-3 wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > You need to call the crack method. > In this example I create an AdapterTradeResult class which encapsulates > the response in a way which is sensible for my systems (sorry about > formatting). > My Application-Derived class (not included here) calls this adapter > whenever it receives a message. > -- View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14932270.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: <phi...@ta...> - 2008-01-17 11:53:52
|
Hi, =0A=0AI;ve been using quickfix for a few years, in quite a large scale = enterprise application. Server is a .NET Fix Server using the latest 1.12.4= release, running in .NET 2.0. Generally performance has been OK, however w= hilst scaling up I have been having many more issues. I was wondering if an= y one else had similar issues and posssible solutions. =0A=0A=0A1) .NET Fau= lts, MS Runtine "out of memory dialog". Since adding extra load I often see= (approx 1 month) the system die with a General protection fault which resu= lts in a "MS C Runtime dialog appearing". Checking DrWatson logs shows this= is happening generally in around the .NET interop libraries. Not a gracefu= ll way to die.=0A=0A2) Database Errors. I currently use ODBC interface to M= S Sql Server Database. I often see failures to insert in the "Message" tabl= e due to Duplicate KEY. This then creates duplicate messages to the client.= This can happen about once every 2 - 3 months. =0A=0A3) I'm not particular= happy using a ODBC interface with MS Sql Server, would have prefered a nat= ive ADO implementation. I'm thinking of moving over to MySQLServer, however= I wondering if anyone had done any performance comparisons between QF usin= g MySQL and MS SQL Server via ODBC. =0A=0A4) Read in previous article about= a pure .NET implementation, trying to get support. I think thats a great i= dea. .NET is becoming the langauge of choice in many Financial institutions= . =0A=0A5) Finnally, Oren are we due another release? I noticed reading thr= ough the list that there has been a quite a few issues raised/fixed. Would = be nice to know if any of my problems have been fixed in the current tree. = Even a roadmap would help with my planning. =0A=0AAny info will be much app= reciated. =0A=0ACheers =0APhil.=0A=0A=0A _____________________________= _____________________________=0ASent from Yahoo! Mail - a smarter inbox htt= p://uk.mail.yahoo.com=0A |
From: Patrick W. <pw...@ka...> - 2008-01-16 23:03:08
|
You need to call the crack method. In this example I create an AdapterTradeResult class which encapsulates the response in a way which is sensible for my systems (sorry about formatting).=20 My Application-Derived class (not included here) calls this adapter whenever it receives a message. =09 public class QuickFixAdapter : MessageCracker { ..... public virtual void fromAdmin(Message message_, SessionID session_) { crack(message_, session_); } public virtual void fromApp(Message message_, SessionID session_) { crack(message_, session_); } =20 public override void onMessage(QuickFix42.ExecutionReport message_, SessionID session) { OrdType ordType =3D message_.getOrdType(); SecurityType secType =3D message_.getSecurityType(); ClOrdID orderId =3D message_.getClOrdID(); OrderID tradeId =3D message_.getOrderID(); ExecTransType transType =3D message_.getExecTransType(); ExecType type =3D message_.getExecType(); OrdRejReason reason =3D new OrdRejReason(); Text text =3D new Text(); if (message_.isSetOrdRejReason()) { reason =3D message_.getOrdRejReason(); } if (message_.isSetText()) { text =3D message_.getText(); } Symbol symbol =3D message_.getSymbol(); Currency currency =3D message_.getCurrency(); Side side =3D message_.getSide(); Price price =3D new Price(); if (message_.isSetPrice()) { price =3D message_.getPrice(); } OrderQty qty =3D new OrderQty(); if (message_.isSetOrderQty()) { qty =3D message_.getOrderQty(); } TransactTime transactTime =3D new TransactTime(); if (message_.isSetTransactTime()) { transactTime =3D message_.getTransactTime(); } char execType =3D type.getValue(); switch (execType) { case Configuration.Constants.EXEC_TYPE_FILLED: { =20 AdapterTradeResult tr =3D new AdapterTradeResult(); tr.AdapterType =3D _type; tr.Status =3D = eOrderAutoTradeResultStatus.Success; tr.Quantity =3D (int)qty.getValue(); tr.Price =3D price.getValue(); tr.Direction =3D side.getValue() =3D=3D Configuration.Constants.SIDE_BUY ? eOrderDirection.Buy : eOrderDirection.Sell; tr.TradeTime =3D transactTime.getValue(); tr.ExecutionOrderId =3D eeOrder.EEOrderId; tr.FillId =3D tradeId.getValue(); } break; case Configuration.Constants.EXEC_TYPE_REJECTED: { =20 string rejectionReason =3D "Rejection code: " + Convert.ToInt32(reason.getValue()); rejectionReason +=3D " description: " + text.getValue(); AdapterTradeResult tr =3D new AdapterTradeResult(); tr.AdapterType =3D _type; tr.Status =3D eOrderAutoTradeResultStatus.Rejected; tr.Description =3D rejectionReason; tr.TradeTime =3D transactTime.getValue(); } break; } //now I send the AdapterTradeResult message to downstream systems for processing ...... } } Good luck. Patrick -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of azmat Sent: Thursday, 17 January 2008 9:23 AM To: qui...@li... Subject: Re: [Quickfix-developers] Just Starting... QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I went through the executor project (http://www.quickfixengine.org/quickfix/doc/html/csharp/application_2.ht ml)=20 but I can't see how this is beneficial to me. =20 I have this in my code write now: ThreadedSocketInitiator _initiator =3D null; public void Start() { if (_initiator !=3D null) throw new Exception("Already Started"); SessionSettings settings =3D new SessionSettings("FixSettings.txt"); Application application =3D new QFWrapper(this); FileStoreFactory storeFactory =3D new FileStoreFactory(settings); FileLogFactory logFactory =3D new FileLogFactory(settings); MessageFactory messageFactory =3D new = DefaultMessageFactory(); _initiator =3D new ThreadedSocketInitiator(application, storeFactory, settings, logFactory, messageFactory); _initiator.start(); } I have a qfwrapper class that is a nested class inside of a FixServer class.=20 QFWrapper inherits from MessageCracker and implements the QF Interface methods. The FIXServer class is the class that contains the start, stop and all the delegates I will need in order to function with a windows form. I can now communicate with our brokerage company, but the problem is in dissecting the messages that come back from the FIX Server. How do I (or where do I) take the message apart to realize what type of message it is...so I can then write all the various handling methods for the many different types of messages that we might expect from the Server. I imagine I will need to capture the message (in order to dissect it and run my own business logic) in the fromApp function. But I have no idea how to do any of the FIX Message 'surgery', so to speak.=20 Can someone help shed some light on this? thanks! Azmat Paige wrote: >=20 > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html >=20 > You should start with the executor project. Review the code, set up a > config file with your connections and see if you can connect. You can go > to the Open Fix testing website to see if you can connect and practice > sending different types of orders. Below is my config file code: >=20 >=20 --=20 View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14896451.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. ------------------------------------------------------------------------ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: azmat <mr...@gm...> - 2008-01-16 22:22:57
|
I went through the executor project (http://www.quickfixengine.org/quickfix/doc/html/csharp/application_2.html) but I can't see how this is beneficial to me. I have this in my code write now: ThreadedSocketInitiator _initiator = null; public void Start() { if (_initiator != null) throw new Exception("Already Started"); SessionSettings settings = new SessionSettings("FixSettings.txt"); Application application = new QFWrapper(this); FileStoreFactory storeFactory = new FileStoreFactory(settings); FileLogFactory logFactory = new FileLogFactory(settings); MessageFactory messageFactory = new DefaultMessageFactory(); _initiator = new ThreadedSocketInitiator(application, storeFactory, settings, logFactory, messageFactory); _initiator.start(); } I have a qfwrapper class that is a nested class inside of a FixServer class. QFWrapper inherits from MessageCracker and implements the QF Interface methods. The FIXServer class is the class that contains the start, stop and all the delegates I will need in order to function with a windows form. I can now communicate with our brokerage company, but the problem is in dissecting the messages that come back from the FIX Server. How do I (or where do I) take the message apart to realize what type of message it is...so I can then write all the various handling methods for the many different types of messages that we might expect from the Server. I imagine I will need to capture the message (in order to dissect it and run my own business logic) in the fromApp function. But I have no idea how to do any of the FIX Message 'surgery', so to speak. Can someone help shed some light on this? thanks! Azmat Paige wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > You should start with the executor project. Review the code, set up a > config file with your connections and see if you can connect. You can go > to the Open Fix testing website to see if you can connect and practice > sending different types of orders. Below is my config file code: > > -- View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14896451.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: azmat <mr...@gm...> - 2008-01-16 21:38:38
|
Paige- Thank you for replying! I will take a look at the executor project and go from there. I know I will not be using QF as a server, at my firm. We are using it simply to connect to one brokerage house that handles our orders. I need to write a front end that allows us to enter orders and then send them to our brokerage partner that will be receiving the FIX message. The hardest part of doing any of this is, the complete lack of any substantial code snippets that show how I can interact completely with the QF engine. I'm hoping this thread can change that ;-) many thanks, azmat Paige wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > You should start with the executor project. Review the code, set up a > config file with your connections and see if you can connect. You can go > to the Open Fix testing website to see if you can connect and practice > sending different types of orders. > -- View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14895700.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: McAndrew, P. <pa...@no...> - 2008-01-16 21:17:23
|
You should start with the executor project. Review the code, set up a = config file with your connections and see if you can connect. You can = go to the Open Fix testing website to see if you can connect and = practice sending different types of orders. Below is my config file = code: =20 [DEFAULT] ConnectionType=3Dinitiator ReconnectInterval=3D30 FileStorePath=3DC:\QuickFix\Log FileLogPath=3DC:\QuickFix\Log [SESSION] BeginString=3DFIX.4.2 TargetCompID=3DTarget HeartBtInt=3D45 LogonTimeout=3D60 SenderCompID=3DSender SocketConnectPort=3D1234 SocketConnectHost=3D198.63.227.24 StartTime=3D00:00:00 EndTime=3D23:59:00 DataDictionary=3DC:\\quickfix\spec\FIX42.xml CheckLatency=3DN ResetOnLogout=3DN ResetOnDisconnect=3DN SendResetSeqNumFlag=3DY RefreshOnLogon=3DY =20 [SESSION] BeginString=3DFIX.4.2 TargetCompID=3DTarget1 HeartBtInt=3D45 LogonTimeout=3D60 SenderCompID=3DSender SocketConnectPort=3D1234 SocketConnectHost=3D66.150.110.105 StartDay=3Dsun StartTime=3D00:01:00 EndDay=3Dsat EndTime=3D23:59:00 DataDictionary=3DC:\quickfix\spec\FIX42.xml ValidateUserDefinedFields=3DN ValidateFieldsHaveValues=3DN=20 CheckLatency=3DN ResetOnLogout=3DN ResetOnDisconnect=3DN SendResetSeqNumFlag=3DY RefreshOnLogon=3DY =20 [SESSION] BeginString=3DFIX.4.2 TargetCompID=3DTarget2 HeartBtInt=3D45 LogonTimeout=3D60 SenderCompID=3DSender SocketConnectPort=3D1234 SocketConnectHost=3D66.150.110.105 StartDay=3Dsun StartTime=3D00:01:00 EndDay=3Dsat EndTime=3D23:59:00 DataDictionary=3DC:\quickfix\spec\FIX42.xml ValidateUserDefinedFields=3DN ValidateFieldsHaveValues=3DN=20 CheckLatency=3DN ResetOnLogout=3DN ResetOnDisconnect=3DN SendResetSeqNumFlag=3DY RefreshOnLogon=3DY =20 Here is the code for the executor login to begin heartbeating with the = connection you set up. This is the debug version so it's called from a = form. The live version runs as a service: =20 public void Login() { try { int index =3D new int(); index =3D 1; =20 if (!System.Diagnostics.EventLog.SourceExists("NewSource"))=20 {=20 System.Diagnostics.EventLog.CreateEventSource( "NewSource","EC_Log"); } else { //mEC_Log.Clear(); } mEC_Log.Source =3D "NewSource"; mEC_Log.Log =3D "EC_Log"; mEC_Log.Clear(); mEC_Log.WriteEntry("ElectronicClerk"); ElectronicClerk ec =3D new ElectronicClerk(); //System.Threading.AutoResetEvent autoEvent =3D new = System.Threading.AutoResetEvent(false); // Create a timer that signals the delegate to invoke=20 // ProcessOrders after one second, and every 1/4 second=20 // thereafter. TimerCallback timerDelegate =3D=20 new TimerCallback(ProcessOrders); // create timer and attach our method delegate to it mtmEC =3D=20 new Timer(timerDelegate, null, 1000, 250); =20 string path =3D System.IO.Path.GetDirectoryName(=20 System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ); path =3D path.Substring(6, path.Length - 6); System.Diagnostics.Debug.WriteLine(path); SessionSettings settings =3D new SessionSettings(path.ToString() + = "\\QuickFix_Test_ALL.cfg"); FIX_ElectronicClerk.Application application =3D new = FIX_ElectronicClerk.Application(); FileStoreFactory factory =3D new FileStoreFactory(settings); FileLogFactory logFactory =3D new FileLogFactory(settings); System.Diagnostics.Debug.WriteLine(settings); MessageFactory messageFactory =3D new DefaultMessageFactory(); m_initiator =3D new SocketInitiator(application, factory, settings, = logFactory, messageFactory); //try //{ //Conn.ConnectionString=3D settings.ToString(); m_initiator.start(); // Write an informational entry to the event log.=20 //} } catch (Exception e) { mEC_Log.WriteEntry(e.ToString()); mtmEC.Dispose(); } } =20 =20 =20 =20 ________________________________ From: qui...@li... on behalf of = azmat Sent: Wed 1/16/2008 12:40 PM To: qui...@li... Subject: Re: [Quickfix-developers] Just Starting... QuickFIX Documentation: = http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html All- In my efforts to learn and use QF at my firm, I plan to share my journey with everyone here -- well mostly for the future newcomers who will need = a place to start. Yesterday I downloaded the source code ( quickfix-1.12.4.zip) and built the solution for VS2005, and followed the Installation instructions (http://www.quickfixengine.org/quickfix/doc/html/index.html).=20 I can now view all of the class files in C++ and C#, but am unsure where = to go from here. I tried running some of the examples (ordermatch, tradeclient, etc), but that doesn't seem to work. I would like to = create a QFServer and a QFClient on my machine to simulate orders/transactions between the two projects -- but not before these samples get working. = Any suggestions? with regards, azmat azmat wrote: > > Hello everyone... > > I've been reading through the FIX Spec (4.2) as well as the quickfix > documentation. I'm able to create sessions, send logon messages, get > feedback from the server, etc.=20 > > Now I want to create a message and send it over to the Acceptor, and > hopefully receive something from the Server. This is where I am = 'stuck'. > How do I handle all of the possible return messages from the Acceptor = in > my code? Do I have to create case statements in case of each type of > message that might get returned from the Acceptor (broker)? > > Another question/concern I have now is what happens when a = packet/message > gets "dropped" between me (initiator) and the broker (acceptor)? I = know > there are a number of resend requests that get passed back and forth, = but > what actually happens? Does quickfix have some sort of internal data > structure that has all of the messages that were sent but not yet = ACKd? > Or is this something I need to implement on my OMS? > > I would also be interested in finding some sort of documentation = regarding > the data flow of objects using the quickfix engine or maybe an entity > relationship diagram of the objects....anything like this would be = much > appreciated! > > I've read several posts of people trying to learn FIX/quickfix over = the > years and now that's my turn I'm hoping some of those people can come = back > and help explain some of the things they learned along the way! > > > > thanks! > Azmat > -- Sent from the QuickFIX - Dev mailing list archive at Nabble.com. -------------------------------------------------------------------------= This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: azmat <mr...@gm...> - 2008-01-16 18:41:13
|
All- In my efforts to learn and use QF at my firm, I plan to share my journey with everyone here -- well mostly for the future newcomers who will need a place to start. Yesterday I downloaded the source code ( quickfix-1.12.4.zip) and built the solution for VS2005, and followed the Installation instructions (http://www.quickfixengine.org/quickfix/doc/html/index.html). I can now view all of the class files in C++ and C#, but am unsure where to go from here. I tried running some of the examples (ordermatch, tradeclient, etc), but that doesn't seem to work. I would like to create a QFServer and a QFClient on my machine to simulate orders/transactions between the two projects -- but not before these samples get working. Any suggestions? with regards, azmat azmat wrote: > > Hello everyone... > > I've been reading through the FIX Spec (4.2) as well as the quickfix > documentation. I'm able to create sessions, send logon messages, get > feedback from the server, etc. > > Now I want to create a message and send it over to the Acceptor, and > hopefully receive something from the Server. This is where I am 'stuck'. > How do I handle all of the possible return messages from the Acceptor in > my code? Do I have to create case statements in case of each type of > message that might get returned from the Acceptor (broker)? > > Another question/concern I have now is what happens when a packet/message > gets "dropped" between me (initiator) and the broker (acceptor)? I know > there are a number of resend requests that get passed back and forth, but > what actually happens? Does quickfix have some sort of internal data > structure that has all of the messages that were sent but not yet ACKd? > Or is this something I need to implement on my OMS? > > I would also be interested in finding some sort of documentation regarding > the data flow of objects using the quickfix engine or maybe an entity > relationship diagram of the objects....anything like this would be much > appreciated! > > I've read several posts of people trying to learn FIX/quickfix over the > years and now that's my turn I'm hoping some of those people can come back > and help explain some of the things they learned along the way! > > > > thanks! > Azmat > -- View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14888248.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: azmat <mr...@gm...> - 2008-01-14 19:57:32
|
Hello everyone... I've been reading through the FIX Spec (4.2) as well as the quickfix documentation. I'm able to create sessions, send logon messages, get feedback from the server, etc. Now I want to create a message and send it over to the Acceptor, and hopefully receive something from the Server. This is where I am 'stuck'. How do I handle all of the possible return messages from the Acceptor in my code? Do I have to create case statements in case of each type of message that might get returned from the Acceptor (broker)? Another question/concern I have now is what happens when a packet/message gets "dropped" between me (initiator) and the broker (acceptor)? I know there are a number of resend requests that get passed back and forth, but what actually happens? Does quickfix have some sort of internal data structure that has all of the messages that were sent but not yet ACKd? Or is this something I need to implement on my OMS? I would also be interested in finding some sort of documentation regarding the data flow of objects using the quickfix engine or maybe an entity relationship diagram of the objects....anything like this would be much appreciated! I've read several posts of people trying to learn FIX/quickfix over the years and now that's my turn I'm hoping some of those people can come back and help explain some of the things they learned along the way! thanks! Azmat -- View this message in context: http://www.nabble.com/Just-Starting...-tp14811784p14811784.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: azmat <mr...@gm...> - 2008-01-14 16:18:05
|
Many people have talked about major documentation improvements that could be made for quickfix. I came across this site in my research for FIX engines and their C# support. http://www.onixs.biz/dotNetFIXEngineProgrammerGuide_webEdition.html Hope it helps. Wish QF had something similar. thanks azmat -- View this message in context: http://www.nabble.com/documentation-like-this-%3A-%29-tp14804966p14804966.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Oren M. <or...@qu...> - 2008-01-10 18:50:10
|
FIX 5.0 should be available by then. I can't promise the same for FAST however. --oren On Jan 10, 2008, at 12:34 PM, Scott Mitchell wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Greetings, > > Is there any update available on QuickFIX support for FIX 5.0 and/or > FAST? > > We are going to need both for various projects in the second half of > this year and I need to decide if we will be able to stick with > QuickFIX > (which we're currently extremely happy with) or if I need to start > investigating alternatives. > > Cheers, > > Scott > > ---------------------------------------------------------------------- > --- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/ > marketplace > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Scott M. <rs...@pr...> - 2008-01-10 18:34:41
|
Greetings, Is there any update available on QuickFIX support for FIX 5.0 and/or FAST? We are going to need both for various projects in the second half of this year and I need to decide if we will be able to stick with QuickFIX (which we're currently extremely happy with) or if I need to start investigating alternatives. Cheers, Scott |
From: <phi...@ta...> - 2008-01-10 10:13:00
|
Hi,=0A=0AI;ve been using quickfix for a few years, in quite a large scale = enterprise application. Server is a .NET Fix Server using the latest 1.12.4= release, running in .NET 2.0. Generally performance has been OK, however w= hilst scaling up I have been having many more issues. I was wondering if a= ny one else had similar issues and posssible solutions.=0A=0A=0A 1) .NET Fa= ults, MS Runtine "out of memory dialog". Since adding extra load I often = see (approx 1 month) the system die with a General protection fault which r= esults in a "MS C Runtime dialog appearing". Checking DrWatson logs shows= this is happening generally in around the .NET interop libraries.=0A=0A2) = Database Errors. I currently use ODBC interface to MS Sql Server Database.= I often see failures to insert in the "Message" table due to Duplicate KE= Y. This then creates duplicate messages to the client. This can happen ab= out once every 2 - 3 months.=0A=0A3) I'm not particular happy using a ODBC = interface with MS Sql Server, would have prefered a native ADO implementat= ion. I'm thinking of moving over to MySQLServer, however I wondering if a= nyone had done any performance comparisons between QF using MySQL and MS SQ= L Server via ODBC.=0A=0A4) Read in previous article about a pure .NET imple= mentation, trying to get support. I think thats a great idea. .NET is beco= ming the langauge of choice in many Financial institutions. =0A=0A5) Finnal= y, Oren are we due another release? I noticed reading through the list th= at there has been a quite a few issues raised/fixed. Would be nice to know= if any of my problems have been fixed in the current tree. Even a roadmap= would help with my planning.=0A=0AAny info will be much appreciated.=0A=0A= Cheers=0APhil.=0A=0A=0A ______________________________________________= _____________=0ASupport the World Aids Awareness campaign this month with Y= ahoo! For Good http://uk.promotions.yahoo.com/forgood/ |
From: Craig H. <fir...@ho...> - 2008-01-09 23:30:44
|
Hi, Any Delphi Develpers out there? Im real strong in TCP/IP, but just learning= FIX. Im wanting to put forex orders onto Hotspot.. =20 Looking for anyone with common interests.. =20 =20 _________________________________________________________________ Make distant family not so distant with Windows Vista=AE + Windows Live=99. http://www.microsoft.com/windows/digitallife/keepintouch.mspx?ocid=3DTXT_TA= GLM_CPC_VideoChat_distantfamily_012008= |
From: <Asa...@ly...> - 2008-01-09 11:54:43
|
Hi all, When I connect to my broker and do nothing more than receives = heartbeats, I get an error message saying "(Socket Error: An operation = was attempted on something that is not a socket)" after a few minutes, = and then I get disconnected. Does anyone know what causes that error? Regards, =C5sa |
From: Oren M. <or...@qu...> - 2008-01-08 20:59:08
|
If you just want to logout I would just call the logout method instead of stopping the engine. --oren On Jan 8, 2008, at 1:25 PM, Rick Lane wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Nevermind -- I was manually sending a Logout message as opposed to > simply calling Initiator.stop() (which calls the logout for me). > > Unfortunately, over the last few days the archive search engine has > been down. I apologize if the answers to these questions are there > -- I imagine they are. What can I do to keep the Initiator from > hanging when I call .stop() ? > > Thanks, > Rick > > Rick Lane wrote: >> Greetings, >> >> I'm having an issue with logging out where QuickFix is responding >> to the Logout confirmation with a logout. Namely, I send the >> Logout message, my exchange (the CME) responds with a Logout >> message (to confirm), but then QuickFix responds with another >> Logout message. >> >> Is this default behavior? How do you recommend I disable this 3rd >> Logout message from being sent? Is there any way, in toAdmin, to >> suppress a message from being sent, along the same lines as >> consuming an event in an event handler? >> >> Thanks, >> Rick > ---------------------------------------------------------------------- > --- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/ > marketplace_______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Rick L. <ric...@gm...> - 2008-01-08 20:39:44
|
Greetings, Is there an automated way in QuickFix to do an in-session logon? The CME requires you to send a TestRequest message and listen for a Heartbeat response. once that Heartbeat is received, you are to send a Logon message with 141=Y, and 34=1. The CME then /responds /with a Logon confirmation, with 34=1 and QuickFix logs me out because for some reason it's expecting 34=2 (not sure why). So if there isn't an automated way to do an in-session Logon, I'm going to need to figure out why QuickFix is expecting MsgSeqNum to be 2, and not 1. Any thoughts? Thanks, RL |
From: Rick L. <ric...@gm...> - 2008-01-08 19:28:01
|
Greetings, If an incoming sequence number is lower than QuickFix expects, it logs me out -- however I'd rather it send a SequenceReset in this case. I'm having trouble finding this setting -- does one exist, or do I need to implement this manually? Thanks, RL |
From: Rick L. <ric...@gm...> - 2008-01-08 19:25:30
|
Nevermind -- I was manually sending a Logout message as opposed to simply calling Initiator.stop() (which calls the logout for me). Unfortunately, over the last few days the archive search engine has been down. I apologize if the answers to these questions are there -- I imagine they are. What can I do to keep the Initiator from hanging when I call .stop() ? Thanks, Rick Rick Lane wrote: > Greetings, > > I'm having an issue with logging out where QuickFix is responding to > the Logout /confirmation /with a logout. Namely, I send the Logout > message, my exchange (the CME) responds with a Logout message (to > confirm), but then QuickFix responds with /another /Logout message. > > Is this default behavior? How do you recommend I disable this 3rd > Logout message from being sent? Is there any way, in toAdmin, to > /suppress /a message from being sent, along the same lines as > /consuming /an event in an event handler? > > Thanks, > Rick |
From: Rick L. <ric...@gm...> - 2008-01-08 18:08:13
|
Greetings, I'm having an issue with logging out where QuickFix is responding to the Logout /confirmation /with a logout. Namely, I send the Logout message, my exchange (the CME) responds with a Logout message (to confirm), but then QuickFix responds with /another /Logout message. Is this default behavior? How do you recommend I disable this 3rd Logout message from being sent? Is there any way, in toAdmin, to /suppress /a message from being sent, along the same lines as /consuming /an event in an event handler? Thanks, Rick |
From: Rick L. <ric...@gm...> - 2008-01-07 16:32:25
|
Greetings, I've asked this in the past, and didn't really get any definitive answers, but I'm curious if there is any general (ballpark) documentation on c# .NET performance with QuickFix? What kind of max message rates /should /I expect? Is there perhaps something I should be doing at compile-time (something c# or .NET specific) that should speed up my message handling? It takes about 2.5 seconds to process 300 fill messages -- this /can't /be the going rate for QuickFix. Thanks, RL |
From: Eranga S. <pe...@ri...> - 2008-01-07 06:19:25
|
Hello, I was build an application that use QF with tcmalloc. I didn't notice any error in the build. But the run time my application throw the "'FIX::ConfigError'". When I tried to run same application without tcmalloc it worked fine. I would like to know whether QF hasn't support for tcmalloc. I am using QF 1.12.4 in Linux 64 bit environment. Regards, Eranga |
From: Oren M. <or...@qu...> - 2008-01-03 21:35:57
|
Well, this is something we've admittedly not been moving on as fast as we'd like. FAST is quite different and pretty complicated, and we haven't yet gotten something together as of yet. We have been low on resources for this but are working on changing this. We're going to be evaluating where we are and where we want to be. We should be putting out the yearly update of the state of quickfix within a couple weeks. --oren On Jan 3, 2008, at 2:55 PM, Brian Erst wrote: > Oren - > > How about FAST FIX support? In the past, it's been mentioned that > FAST FIX support was "in development", but nothing much further has > been stated. > > FAST FIX is VERY hot right now, with several exchanges including > hometown CME moving to it for market data distribution. > > Can you give any updates on when/if FAST FIX will be supported? > > Thanks, > > Brian Erst > > ----- Original Message ---- > From: Oren Miller <or...@qu...> > To: jwa...@co... > Cc: qui...@li... > Sent: Thursday, January 3, 2008 2:34:13 PM > Subject: Re: [Quickfix-developers] FIX 5.0 Support > > QuickFIX Documentation:http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > A release has not gone out in some time because what is out now is > very stable and none of the changes in svn are truly critical. For > this same reason there have not been a ton of svn commits. The > product is mature and the goals are to remain simple and effective > which means steering clear of feature creep. FIX 5.0 support has not > been forthcoming because demand has been low to non-existent. If you > really want 5.0 supports soon, then yes, you should look into > purchasing a product which supports it. > > --oren > > On Jan 3, 2008, at 1:41 PM, Jay Walters wrote: > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > > html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > So looking at the time since last release (15 months), lack of > > traffic on the list concerning this issue, low number of SVN > > commits (67) during the past year and no reponse to my FIX 5.0 > > question; I should buy a FIX 5.0 compatible engine right? > > > > Or does one of the paid support companies help out in this > situation? > > > > Cheers > > > > > ---------------------------------------------------------------------- > > --- > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2005. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Quickfix-developers mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > |
From: <ily...@bn...> - 2008-01-03 21:10:38
|
Je serai absent(e) =E0 partir du 12/24/2007 de retour le 01/07/2008. Je r=E9pondrai =E0 votre message d=E8s mon retour. I'll be out of office from till January 7th. I'll reply to your email as soon as I get back. In the meantime, you can contact Damien Delvall=E9e (dam...@bn...) or FIB...@bn.... This message and any attachments (the "message") is intended solely for the addressees and is confidential.=20 If you receive this message in error, please delete it and=20 immediately notify the sender. Any use not in accord with=20 its purpose, any dissemination or disclosure, either whole=20 or partial, is prohibited except formal approval. The internet can not guarantee the integrity of this message.=20 BNP PARIBAS (and its subsidiaries) shall (will) not=20 therefore be liable for the message if modified.=20 Do not print this message unless it is necessary, consider the environment. --------------------------------------------- Ce message et toutes les pieces jointes (ci-apres le=20 "message") sont etablis a l'intention exclusive de ses=20 destinataires et sont confidentiels. Si vous recevez ce=20 message par erreur, merci de le detruire et d'en avertir=20 immediatement l'expediteur. Toute utilisation de ce=20 message non conforme a sa destination, toute diffusion=20 ou toute publication, totale ou partielle, est interdite, sauf=20 autorisation expresse. L'internet ne permettant pas=20 d'assurer l'integrite de ce message, BNP PARIBAS (et ses filiales) decline(nt) toute responsabilite au titre de ce=20 message, dans l'hypothese ou il aurait ete modifie. N'imprimez ce message que si necessaire, pensez a l'environnement. |