quickfix-developers Mailing List for QuickFIX (Page 12)
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: Viktor P. <pohrebnyak@i.ua> - 2014-09-11 18:00:20
|
I don't see where this code can leak except program termination due to missing cleanup for SessionFactoryu::m_dictionaries container. -- View this message in context: http://quickfix.13857.n7.nabble.com/quickfix-memory-leak-tp6680p6682.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: <or...@qu...> - 2014-09-11 15:58:27
|
Thanks, we are investigating. > -------- Original Message -------- > Subject: [Quickfix-developers] quickfix memory leak > From: Man T <ktm...@gm...> > Date: Thu, September 11, 2014 9:37 am > To: qui...@li... > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html<hr>Hello. > > I found memory leak. > > quickfix 1.14.0 > > Session Factory line 226 > DataDictionary * pCopyOfDD = new DataDictionary(*pDD); > > when delete this variable?<hr>------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk<hr>_______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Man T <ktm...@gm...> - 2014-09-11 14:37:19
|
Hello. I found memory leak. quickfix 1.14.0 Session Factory line 226 DataDictionary * pCopyOfDD = new DataDictionary(*pDD); when delete this variable? |
From: Saha B. <Bin...@sr...> - 2014-09-10 14:34:01
|
Most likely you are missing tag defined in FIXxx.xml. You want to find out the tag as defined by server side and include that in your FIXxx.xml. -----Original Message----- From: Mike Gatny [mailto:mg...@co...] Sent: Wednesday, September 10, 2014 5:20 AM To: WayneGraham Cc: Quickfix Developers List Subject: Re: [Quickfix-developers] TradeCapture Report - Require Tag Missing ************************************************************************************************** SRP WARNING: This is an EXTERNAL email. STOP. DON'T CLICK links or open attachments unless you are sure the source and content of the email is credible. If you have a business need to click a link or open an attachment and you are not sure the email is credible you can send this to the EmailCheck mailbox for a review (reviews conducted 8:00-4:30 Mon-Fri). ************************************************************************************************** QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html |
From: Mike G. <mg...@co...> - 2014-09-10 12:20:39
|
On Wed, Sep 10, 2014 at 2:27 AM, WayneGraham <wrg...@gm...> wrote: > 8=FIX.4.4 9=106 35=3 34=3 49=SASBuat1 52=20140909-12:28:37.646 56=LMXBD > 45=3 58=Required > tag missing* 371=571 372=AE* 373=1 10=081 > This is quickfix sending a session-level reject for you automatically because tag 571 (TradeReportID) is missing from the AE message. To prevent quickfix from doing that, you need to alter the DataDictionary xml file for message AE and set TradeReportID to *required="N". *This tag is required by default, and it is unusual that a trade capture report would not have it. -- Mike Gatny Connamara Systems, LLC |
From: WayneGraham <wrg...@gm...> - 2014-09-10 06:27:59
|
Hi I am generating a TradeCaptureReportRequest, which seems to be accepted as I receive a TradeCaptureReportReqAck with flags 749 and 750 confirming success. I then receive a TradeCaptureRequestReport, which seems ok, but this is immediately followed by a string of error messages where Tag 571 is missing for the TradeCaptureRequestReport ? Should I be clearing the TradeCaptureRequestReport in the On Message Sub before I can receive the next TradeCaptureRequestReport ? Thanks very much. Wayne Here is my message log: 20140909-12:28:37.281 : 8=FIX.4.49=13835=AD34=249=SASBuat152=20140909-12:28:37.27756=LMXBD263=0568=14:28:37569=1580=260=20140909-00:00:00.00060=20140909-14:28:37.00010=209 20140909-12:28:37.496 : 8=FIX.4.49=9435=AQ49=LMXBD56=SASBuat134=252=20140909-12:28:38.788568=14:28:37569=1263=0749=0750=010=053 20140909-12:28:37.514 : 8=FIX.4.49=25035=AE49=LMXBD56=SASBuat134=352=20140909-12:28:38.788568=14:28:37912=N17=O87lagAAAAJwrgDo527=QGFGOAAAAAXWY00C48=10054722=832=9.231=10.8238275=2014090960=20140909-06:04:33.154552=154=237=AAGKZwAAAAJVH00M11=1.1-08:04:31-11=100341489010=133 20140909-12:28:37.647 : 8=FIX.4.49=10635=334=349=SASBuat152=20140909-12:28:37.64656=LMXBD45=358=Required tag missing371=571372=AE373=110=081 and my code: Public Sub GetTradeHistory() GTHCounter = GTHCounter + 1 Dim TradeRequestID As TradeRequestID = New TradeRequestID(Format(Now(), "HH:mm:ss") & "." & GTHCounter) Dim TradeRequestType As TradeRequestType = New TradeRequestType(TradeRequestType.MATCHED_TRADES_MATCHING_CRITERIA_PROVIDED_ON_REQUEST) Dim m1 As QuickFix.FIX44.TradeCaptureReportRequest = New QuickFix.FIX44.TradeCaptureReportRequest(TradeRequestID, TradeRequestType) Try m1.Header.SetField(New TargetCompID("LMXBD")) m1.Header.SetField(New SenderCompID("SASBuat1")) m1.Header.SetField(New SendingTime(Now())) m1.SetField(New SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT)) Dim TransactTime1 As QuickFix.FIX44.TradeCaptureReportRequest.NoDatesGroup = New QuickFix.FIX44.TradeCaptureReportRequest.NoDatesGroup TransactTime1.Set(New TransactTime(Now().Date.ToString)) Dim TransactTime2 As QuickFix.FIX44.TradeCaptureReportRequest.NoDatesGroup = New QuickFix.FIX44.TradeCaptureReportRequest.NoDatesGroup TransactTime2.Set(New TransactTime(Now().ToString)) m1.AddGroup(TransactTime1) m1.AddGroup(TransactTime2) m1.Header.SetField(New BodyLength(135)) m1.Trailer.SetField(New CheckSum(m1.CheckSum.ToString)) m1.Validate() _sessionTrd.Send(m1) Catch ex As Exception MsgBox("Trade Capture Report Request: " & ex.Message) End Try End Sub Public Sub OnMessage(TCR As QuickFix.FIX44.TradeCaptureReportRequest, sessionID As SessionID) OutPutMsg("TradeReq: " & sessionID.ToString) End Sub Public Sub OnMessage(TCR As QuickFix.FIX44.TradeCaptureReportRequestAck, sessionID As SessionID) OutPutMsg("TradeReqAck: " & TCR.TradeRequestStatus.ToString) End Sub Public Sub OnMessage(TCR As QuickFix.FIX44.TradeCaptureReport, sessionID As SessionID) Dim _on As Integer = 0 OutPutMsg("TradeCapRpt: " & TCR.TradeRequestID.ToString) _on = AddOrder() End Sub -- View this message in context: http://quickfix.13857.n7.nabble.com/TradeCapture-Report-Require-Tag-Missing-tp6677.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: <or...@qu...> - 2014-09-08 17:08:08
|
QuickFIX 1.14.0 is available at http://www.quickfixengine.org Release notes at http://www.quickfixengine.org/NEWS Hello all, This release has really been out for about a month, but just getting the word out now. Many performance improvements here. Special thanks to Viktor Pogrebnyak for his contributions. Check the release notes for a full list of changes, but some things to note. The .NET wrapper is now superseded but QuickFIX/n. This is the same process we went through when we removed the JNI wrapper in favor of QuickFIX/J. Like QuickFIX/J, QuickFIX/n has been in production for quite some time, is a native implementation, and has a great company supporting it, in this case Connamara Systems. Visual Studio support is available for VS10, VS11, and VS12. So now it supports the latest public releases. Older versions have been dropped. We are now only supporting versions of Visual Studio that Microsoft distributes with a freely available version of Visual Studio Express. If you want to continue using older legacy versions of Visual Studio you will need to maintain your own solutions, or use an older version of QuickFIX. Out website has been redesigned. It is now just one landing page and has all the same basic information. Check it out, I think you'll find it much easier to find what you need. The documentation has been heavily reformatted and simplified. The idea is to make it a little easier for new users to get going. This tagged release and all previous releases can also be pulled from github. Enjoy! And thank you to the FIX protocol organization for honoring QuickFIX at the FIX Trading Community Americas regional meeting in Chicago. FIX is celebratings it's 20th year, and QuickFIX is now in its 13th year. Back then there was a lot of skepticism that open source would work in the financial industry. Now I can't even keep track of just the open source FIX engines that are available. Thanks for everyone's support for QuickFIX and open source in finance. |
From: Grant B. <gbi...@co...> - 2014-09-02 15:55:37
|
Yes, what Dariusz said. If your counterparty modifies fields in a repeating group, then you *need* to use a DataDictionary, else the engine can not know which field belongs in a group or not, and thus can't really tell which field is the last field of a group. I feel your pain, though. I maintain an application that connects to one of ICE's interfaces. About twice a year ICE makes changes, and I have to spend a few hours making corresponding adjustments and testing. -Grant On Tue, Sep 2, 2014 at 9:55 AM, Dariusz Nawrocki <dna...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hello Ron, > > 2014-09-02 15:44 GMT+02:00 Franssen, Ron <Ron...@ko...>: > >> I tried to change the configuration setting to “N” to NOT use a data >> dictionary and QuickFix promptly began rejecting messages. >> > > Generally as far as I know you need message validation for repeating > groups to work correctly (repeating groups work upon defined in the > dictionary fields order) . > > Regards > Darek > > > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com |
From: Dariusz N. <dna...@gm...> - 2014-09-02 14:55:37
|
Hello Ron, 2014-09-02 15:44 GMT+02:00 Franssen, Ron <Ron...@ko...>: > I tried to change the configuration setting to “N” to NOT use a data > dictionary and QuickFix promptly began rejecting messages. > Generally as far as I know you need message validation for repeating groups to work correctly (repeating groups work upon defined in the dictionary fields order) . Regards Darek |
From: Franssen, R. <Ron...@ko...> - 2014-09-02 14:24:11
|
Hello All, We have had a QuickFix implementation for about 5 years now that connects to one of the major exchanges. Anyhow, we are wondering if there is a way to use QuickFix without the message validation. We are currently using a data dictionary and validate incoming messages. However, the vendor routinely adds new information to the data dictionary (which we must go manually update). This can become a bit of a tedious chore. I tried to change the configuration setting to "N" to NOT use a data dictionary and QuickFix promptly began rejecting messages. Further research indicates that I can use the ValidateFieldsHaveValues and ValidateUserDefinedFields (set to N) to turn of message validation, although I don't have this working yet. What is the proper way to turn of message validation and what are the pitfalls if I do? thanks The information in this e-mail and any attachments is confidential and intended solely for the attention and use of the named addressee(s). It must not be disclosed to any person without proper authority. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, you are not authorized to and must not disclose, copy, distribute, or retain this message or any part of it. |
From: Grant B. <gbi...@co...> - 2014-08-28 22:51:07
|
I guess I won't question it, then :) On Thu, Aug 28, 2014 at 5:02 PM, Yavnel, Slava <sla...@jp...> wrote: > We didn’t experience any issues so far. > > > > *From:* Grant Birchmeier [mailto:gbi...@co...] > *Sent:* Friday, August 29, 2014 1:00 AM > *To:* Yavnel, Slava > *Cc:* qui...@li...; Voronov, Alec; Schwartz, > Marina > *Subject:* Re: [Quickfix-developers] Sending message from > ToAdmin()/ToApp() > > > > I don't know if this is wrong, but it doesn't seem right. You should > definitely do some testing before going to production. > > > > On Wed, Aug 27, 2014 at 4:41 AM, Yavnel, Slava <sla...@jp...> > wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi, > > > > In order to cancel outstanding quotes on logout we send quote cancel > request from toAdmin() when outgoing message type is FIX::MsgType_Logout. > Is there any problem with this approach ? > > > > Thanks, > > Slava > > This email is confidential and subject to important disclaimers and > conditions including on offers for the purchase or sale of securities, > accuracy and completeness of information, viruses, confidentiality, legal > privilege, and legal entity disclaimers, available at > http://www.jpmorgan.com/pages/disclosures/email. > > > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > > > -- > > Grant Birchmeier > > *Connamara Systems, LLC* > > *Made-To-Measure Trading Solutions.* > > Exactly what you need. No more. No less. > > http://connamara.com > > This email is confidential and subject to important disclaimers and > conditions including on offers for the purchase or sale of securities, > accuracy and completeness of information, viruses, confidentiality, legal > privilege, and legal entity disclaimers, available at > http://www.jpmorgan.com/pages/disclosures/email. > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com |
From: Yavnel, S. <sla...@jp...> - 2014-08-28 22:02:22
|
We didn’t experience any issues so far. From: Grant Birchmeier [mailto:gbi...@co...] Sent: Friday, August 29, 2014 1:00 AM To: Yavnel, Slava Cc: qui...@li...; Voronov, Alec; Schwartz, Marina Subject: Re: [Quickfix-developers] Sending message from ToAdmin()/ToApp() I don't know if this is wrong, but it doesn't seem right. You should definitely do some testing before going to production. On Wed, Aug 27, 2014 at 4:41 AM, Yavnel, Slava <sla...@jp...<mailto:sla...@jp...>> wrote: QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Hi, In order to cancel outstanding quotes on logout we send quote cancel request from toAdmin() when outgoing message type is FIX::MsgType_Logout. Is there any problem with this approach ? Thanks, Slava This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email. ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ Quickfix-developers mailing list Qui...@li...<mailto:Qui...@li...> https://lists.sourceforge.net/lists/listinfo/quickfix-developers -- Grant Birchmeier Connamara Systems, LLC Made-To-Measure Trading Solutions. Exactly what you need. No more. No less. http://connamara.com This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email. |
From: Grant B. <gbi...@co...> - 2014-08-28 22:00:34
|
I don't know if this is wrong, but it doesn't seem right. You should definitely do some testing before going to production. On Wed, Aug 27, 2014 at 4:41 AM, Yavnel, Slava <sla...@jp...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > > > In order to cancel outstanding quotes on logout we send quote cancel > request from toAdmin() when outgoing message type is FIX::MsgType_Logout. > Is there any problem with this approach ? > > > > Thanks, > > Slava > > This email is confidential and subject to important disclaimers and > conditions including on offers for the purchase or sale of securities, > accuracy and completeness of information, viruses, confidentiality, legal > privilege, and legal entity disclaimers, available at > http://www.jpmorgan.com/pages/disclosures/email. > > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com |
From: Yavnel, S. <sla...@jp...> - 2014-08-27 09:57:10
|
Hi, In order to cancel outstanding quotes on logout we send quote cancel request from toAdmin() when outgoing message type is FIX::MsgType_Logout. Is there any problem with this approach ? Thanks, Slava This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email. |
From: Grant B. <gbi...@co...> - 2014-08-26 15:00:49
|
Go in your DD xml file (probably FIX44.xml) and change the order of fields within the Instrument component. See this page. It's for a different QF port, but the DataDictionary files are the same, so I think it will be helpful. http://quickfixn.org/tutorial/custom-fields-groups-and-messages On Tue, Aug 26, 2014 at 9:50 AM, WayneGraham <wrg...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I need to change the field order within the Instrument group to submit the > message with tag 48 preceding 22. i.e should be: > > > 8=FIX.4.4|9=150|35=V|49=company1|56=LMXBLM|34=342159|52=20140826-09:05:20.009|262=100761--1-20140826090520009|263=1|264=1|265=0|267=2|269=0|269=1|146=1|48=100761|22=8|10=247| > > but is: > > > 8=FIX.4.4|9=150|35=V|49=company1|56=LMXBLM|34=342159|52=20140826-09:05:20.009|262=100761--1-20140826090520009|263=1|264=1|265=0|267=2|269=0|269=1|146=1|22=8|48=100761|10=247| > > Can any help on how to do this. > > Thanks > > W > > > > -- > View this message in context: > http://quickfix.13857.n7.nabble.com/Re-ordering-fields-in-repeating-groups-tp6663.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com |
From: WayneGraham <wrg...@gm...> - 2014-08-26 14:50:30
|
I need to change the field order within the Instrument group to submit the message with tag 48 preceding 22. i.e should be: 8=FIX.4.4|9=150|35=V|49=company1|56=LMXBLM|34=342159|52=20140826-09:05:20.009|262=100761--1-20140826090520009|263=1|264=1|265=0|267=2|269=0|269=1|146=1|48=100761|22=8|10=247| but is: 8=FIX.4.4|9=150|35=V|49=company1|56=LMXBLM|34=342159|52=20140826-09:05:20.009|262=100761--1-20140826090520009|263=1|264=1|265=0|267=2|269=0|269=1|146=1|22=8|48=100761|10=247| Can any help on how to do this. Thanks W -- View this message in context: http://quickfix.13857.n7.nabble.com/Re-ordering-fields-in-repeating-groups-tp6663.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: WayneGraham <wrg...@gm...> - 2014-08-20 08:40:13
|
Hi I have created a simple Initiator that is connecting and logging in fine. When I connect I am able to set a textbox text to the session_ID without problem from the OnCreate method as follows: Public Sub OnCreate(sessionID As SessionID) Implements IApplication.OnCreate _session = Session.LookupSession(sessionID) mainclass.OutputTB.Text = "On Create - " & _session.ToString End Sub However, when I log in I am unable to access the textbox - code is as follows: Public Sub OnLogon(sessionID As SessionID) Implements IApplication.OnLogon mainclass.OutputTB.Text = "Logged on" MsgBox("Logged On") End Sub I get the messagebox coming up confirming that I am logged on, but I does not set the textbox text. Can anyone tell me one method can access the mainclass and the other not Thanks very much. W -- View this message in context: http://quickfix.13857.n7.nabble.com/VB-unable-to-access-main-class-objects-tp6658.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: WayneGraham <wrg...@gm...> - 2014-08-19 14:46:02
|
All sorted thanks -- View this message in context: http://quickfix.13857.n7.nabble.com/Logon-with-username-and-password-tp6655p6656.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Grant B. <gbi...@co...> - 2014-08-19 14:43:02
|
Don't call _session.Send() inside ToAdmin() or ToApp(). Those get called on every message that is *already being sent*. It's basically an intercept, allowing to you mess with the message before it goes out. Other than that, you're code looks correct to me (though it should be noted that I don't actually know VB). On Tue, Aug 19, 2014 at 1:53 AM, WayneGraham <wrg...@gm...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi > > I am new to Quickfix and need help with the logon - am using VB. > > I am currently able to to establish the connection, and initiate the logon. > However, my logon seems to be getting rejected as I have not included the > username and password correctly, so immediately get logged off. > > Am I correct that once I have started an initiator, within the ToAdmin Sub, > I need to check if the message is a Logon message and then add the username > and password to the ToAdmin message. Do I also need to reset the BodyLength > and Checksum after having done so? Do I then just re-send the message ? > Sorry know this is probably basic stuff, but have been going round in > circles for 2 days now. > > Here is my code - does not cause logon: > > Public Sub ToAdmin(message As Message, sessionID As SessionID) Implements > IApplication.ToAdmin > If message.GetType.ToString = "A" Then > message.SetField(New Username("JHFTB1")) > message.SetField(New Password("FG#T1K8")) > _session.Send(message) > End If > End Sub > > Thanks for any help. > > Wayne > > > > -- > View this message in context: > http://quickfix.13857.n7.nabble.com/Logon-with-username-and-password-tp6655.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com |
From: WayneGraham <wrg...@gm...> - 2014-08-19 06:53:12
|
Hi I am new to Quickfix and need help with the logon - am using VB. I am currently able to to establish the connection, and initiate the logon. However, my logon seems to be getting rejected as I have not included the username and password correctly, so immediately get logged off. Am I correct that once I have started an initiator, within the ToAdmin Sub, I need to check if the message is a Logon message and then add the username and password to the ToAdmin message. Do I also need to reset the BodyLength and Checksum after having done so? Do I then just re-send the message ? Sorry know this is probably basic stuff, but have been going round in circles for 2 days now. Here is my code - does not cause logon: Public Sub ToAdmin(message As Message, sessionID As SessionID) Implements IApplication.ToAdmin If message.GetType.ToString = "A" Then message.SetField(New Username("JHFTB1")) message.SetField(New Password("FG#T1K8")) _session.Send(message) End If End Sub Thanks for any help. Wayne -- View this message in context: http://quickfix.13857.n7.nabble.com/Logon-with-username-and-password-tp6655.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Sev Z. <se...@gm...> - 2014-08-02 00:29:46
|
Regarding your experiment with modifying the output of message.ToString, I think that once you modify the string, you'll invalidate the CheckSum(10) field that QuickFix appends to the end of each message. On 7/6/2014 5:30 AM, Wjack07 wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Hi: > > I am trying to trim the latency of sending message by using as less overhead > as possible. > > But I met some weird issue, and have no clue so far. Hope anyone has some > idea. > > > Basically, instead of using FIX::Session::sendtotarget ( Message& message) > > One can use FIX::Session::send ( Message& message)* > > *But the SessionID needs to be set up first. this can be done separately. > But once it is done, we can save this step for every to-be-sent message > after (in QuickFIX, it check the sesseionID every time when a message is to > be sent, and this slows down a little bit.) > > > Furthermore, one can even use FIX::Session::sendRaw (Message& message)** > And this can further save few steps > > **sendRaw in session.h is in "private" category, so the .h file needs to be > modified a bit before using. > > > To push further, I tried FIX::Session::send ( const std::string& string )*** > > *** again, it is in "private category" so the .h file needs to be modified. > Also the string should be well defined before head (for example, from > message.ToString). The MegSeqNum issue also needs to be considered. > > So far so good, and I did successfully send out the message by this way. > By using FIX::Session::send ( const std::string& string ), the latency for > sending message is significantly reduced. > > BUT, here is the problem. > > if I do message.ToString > FIX::Session::send ( const std::string& string ), > then the message is sent successfully. > if I do message.ToString > modify this string (for example, COrderID from > 12345 to 54321)> FIX::Session::send ( const std::string& string ), the > message will be written on the log file (or shown on the screen logger) > saying it is outgoing, but the server would never respond, which suggesting > this message want sent out. > > What is interesting is, if I do > do message.ToString > modify this string (COrderID from 12345 to 54321 by > string.erase and then string insert)> modify this string (COrderID from > 54321 back to 12345) > FIX::Session::send ( const std::string& string ) > then this is successful. > > This is very weird to me, and it seems the message.ToString automatically > set up some flag, and the FIX::Session::send will check that flag (to see if > message and message.ToString are matched). > I read hose code, but didnt find such a thing. > > So, my question is, > why the modification after message.ToString makes FIX::Session::send ( const > std::string& string ) failed? > > Many thanks > Wjack > > > > > > -- > View this message in context: http://quickfix.13857.n7.nabble.com/Problem-with-Session-send-const-std-string-string-tp6646.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Open source business process management suite built on Java and Eclipse > Turn processes into business applications with Bonita BPM Community Edition > Quickly connect people, data, and systems into organized workflows > Winner of BOSSIE, CODIE, OW2 and Gartner awards > http://p.sf.net/sfu/Bonitasoft > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Ilija O. <ili...@rb...> - 2014-07-28 17:12:10
|
Hi, Below is my configuration file (I want custom fields validation to be ignored). Still, all messages that contain user defined fields are rejected. In the log file I see that incoming message contains user defined field: quickfixj.msg.incoming: 35=b.. 21002=DLRSPRDCUSIP must be 912828WS5 quickfixj.errorEvent: Rejecting invalid message: quickfix.FieldException: Invalid tag number, field=21002 Please let me know what I am doing wrong. This is my quickfixj configuration file: [DEFAULT] ConnectionType=initiator ReconnectInterval=30 SenderCompID=XXXXXXX [SESSION] DefaultApplVerID=9 BeginString=FIXT.1.1 TargetCompID=XXXX StartTime=00:00:00 EndTime=00:00:00 HeartBtInt=10 SocketConnectPort=XXXXX SocketConnectHost=XXXXX SocketKeepAlive=Y NonStopSession=Y UseDataDictionary=Y DataDictionary=META-INF/FIX50SP2-CUSTOM.xml SLF4JLogHeartbeats=N FileLogHeartbeats=N ResetOnLogon=Y ValidateFieldsOutOfOrder=N ValidateFieldsHaveValues=N ValidateUserDefinedFields=N Regards, -- View this message in context: http://quickfix.13857.n7.nabble.com/ValidateUserDefinedFields-quickfixj-1-5-3-tp6652.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
From: Grant B. <gbi...@co...> - 2014-07-16 14:40:55
|
This is the C++ QF list. You should join the Java list instead. See http://quickfixj.org/support/ On Tue, Jul 15, 2014 at 11:45 PM, Obucina, Ilija (CWM-NR) < ili...@rb...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > I am using quickfixj 1.53 (counterparty is using FIX50SP2 specs. I am > trying to create MassQuoteMessage , but I am having difficulties adding > instrument information and custom tags defined by the counterparty: > > > > Here is part of my counterparty requirements: > > > > *Header: * > > MsgType=i > > > > *Message:* > > Tag:117 (QuoteID) > > Tag 296 (NoQuoteSets) > > Tag : 302 (QuoteSetID) > > Taag 48: (SecurityId) > > Tag 22: (SecurityIDSource) > > Tag 12345 (Custom) > > Tag: 12346 (Custom2) > > ….. > > Tag 299 (QuoteEntryID) > > Tag 132 (BidPx) > > Tag 133(OfferPx) > > > > > > > > My Java code : > > MassQuote offeringMessage = new MassQuote(new > QuoteID(String.format("QID_%s", sequence++))); > > > > // header -- TODO maybe it is not needed > > offeringMessage.getHeader().setField(new MsgType(MsgType.MASS_QUOTE)); > > > > MassQuote.NoQuoteSets quoteSetGroup = new MassQuote.NoQuoteSets(); > > quoteSetGroup.set(new QuoteSetID(String.format("QSET_%s", > sequence))); > > quoteSetGroup.set(new TotNoQuoteEntries(1)); > > > > // How to add custom filelds and Instrument info ???????? > > > > MassQuote.NoQuoteSets.NoQuoteEntries quoteEntryGroup = new > MassQuote.NoQuoteSets.NoQuoteEntries(); > > quoteEntryGroup.set(new QuoteEntryID(“1”)); > > > > quoteEntryGroup.set(*new* BidPx(2.1)); > > quoteEntryGroup.set(*new* OfferPx(2.0)); > > > > quoteSetGroup.addGroup(quoteEntryGroup); > > offeringMessage.addGroup(quoteSetGroup); > > > > > > Thank you, > > Ilija > > _______________________________________________________________________ > > This email is intended only for the use of the individual(s) to whom it is > addressed and may be privileged and confidential. > Unauthorised use or disclosure is prohibited. If you receive This e-mail > in error, please advise immediately and delete the original message. > This message may have been altered without your or our knowledge and the > sender does not accept any liability for any errors or omissions in the > message. > > Ce courriel est confidentiel et protégé. L'expéditeur ne renonce pas aux > droits et obligations qui s'y rapportent. > Toute diffusion, utilisation ou copie de ce message ou des renseignements > qu'il contient par une personne autre que le (les) destinataire(s) > désigné(s) est interdite. > Si vous recevez ce courriel par erreur, veuillez m'en aviser > immédiatement, par retour de courriel ou par un autre moyen. > > > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com |
From: Obucina, I. (CWM-NR) <ili...@rb...> - 2014-07-16 05:19:44
|
Hi, I am using quickfixj 1.53 (counterparty is using FIX50SP2 specs. I am trying to create MassQuoteMessage , but I am having difficulties adding instrument information and custom tags defined by the counterparty: Here is part of my counterparty requirements: Header: MsgType=i Message: Tag:117 (QuoteID) Tag 296 (NoQuoteSets) Tag : 302 (QuoteSetID) Taag 48: (SecurityId) Tag 22: (SecurityIDSource) Tag 12345 (Custom) Tag: 12346 (Custom2) ….. Tag 299 (QuoteEntryID) Tag 132 (BidPx) Tag 133(OfferPx) My Java code : MassQuote offeringMessage = new MassQuote(new QuoteID(String.format("QID_%s", sequence++))); // header -- TODO maybe it is not needed offeringMessage.getHeader().setField(new MsgType(MsgType.MASS_QUOTE)); MassQuote.NoQuoteSets quoteSetGroup = new MassQuote.NoQuoteSets(); quoteSetGroup.set(new QuoteSetID(String.format("QSET_%s", sequence))); quoteSetGroup.set(new TotNoQuoteEntries(1)); // How to add custom filelds and Instrument info ???????? MassQuote.NoQuoteSets.NoQuoteEntries quoteEntryGroup = new MassQuote.NoQuoteSets.NoQuoteEntries(); quoteEntryGroup.set(new QuoteEntryID(“1”)); quoteEntryGroup.set(new BidPx(2.1)); quoteEntryGroup.set(new OfferPx(2.0)); quoteSetGroup.addGroup(quoteEntryGroup); offeringMessage.addGroup(quoteSetGroup); Thank you, Ilija _______________________________________________________________________ This email is intended only for the use of the individual(s) to whom it is addressed and may be privileged and confidential. Unauthorised use or disclosure is prohibited. If you receive This e-mail in error, please advise immediately and delete the original message. This message may have been altered without your or our knowledge and the sender does not accept any liability for any errors or omissions in the message. Ce courriel est confidentiel et protégé. L'expéditeur ne renonce pas aux droits et obligations qui s'y rapportent. Toute diffusion, utilisation ou copie de ce message ou des renseignements qu'il contient par une personne autre que le (les) destinataire(s) désigné(s) est interdite. Si vous recevez ce courriel par erreur, veuillez m'en aviser immédiatement, par retour de courriel ou par un autre moyen. |
From: Wjack07 <ck...@gm...> - 2014-07-06 10:17:29
|
Hi: I am trying to measure QuickFix performance, but have several questions. I hope anyone has some clues about them. *Some information: I am using MSVC2013 + QuickFix c++ *I use QueryPerformanceFrequency and QueryPerformanceCounter to measure to micro second precision *(1) To measure sending out messages.* Basically, I have no problem on measuring this part. But I have seen some commercial FIX engines, which publish their benchmark. Some of them list their measuring results on QuickFIX to compare to their product. And usually, it shows QuickFix can handle sending message at about 7500~10000 messages per second. (100~130 micro second / msg) BUT, in my testing, it can only support up to 2000 messages per second. (500 micro seconds / msg) So I wonder if anyone also test this, and share your results. Why there is a 4x difference? *My cpu has 3.0 Ghz, which is not super fast, but I thought it can support up to 5000 at least. *(2) To measure receiving message* About this part, I totally have no idea how to measure. The message shown in fromApp is also processed (it should be binary information first, and then translated to string, and then translated to QuickFIX message format.) I dont know how to measure the time of this processing before the message shows in fromApp. Simply put: How to measure from when the "information" arrived computer to when the message in fromApp is ready to be used. *(3) To measure receiving message (extracting)* In QuickFIX, we can use fromApp to get message components. So what I do is to measure how quick QuickFIX is extracting message components. My results show QuickFIX performances at about 50~100 micro seconds for extracting one single component (OrdID, price, symbol etc) I am aware that QuickFIX is mostly for education purpose, so one probably shouldnt compare it with other dedicated commerical FIX engine. But I am quite surprised the performance can have such a big difference, more than 50 x (some commercial FIX engine claims they can achieve 1 micro for extracting). What makes this such big difference? Or commercial FIX engine just brag? Or I just didnt correctly use QuickFIX, so it has a poor performance? Many thanks Wjack -- View this message in context: http://quickfix.13857.n7.nabble.com/Latency-measurement-tp6647.html Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |