quickfix-users Mailing List for QuickFIX (Page 56)
Brought to you by:
orenmnero
You can subscribe to this list here.
2002 |
Jan
|
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(11) |
Oct
(3) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(7) |
Feb
(3) |
Mar
(10) |
Apr
(40) |
May
(63) |
Jun
(12) |
Jul
(26) |
Aug
(13) |
Sep
(6) |
Oct
(13) |
Nov
(17) |
Dec
(28) |
2004 |
Jan
(13) |
Feb
(6) |
Mar
(9) |
Apr
(20) |
May
(15) |
Jun
(29) |
Jul
(22) |
Aug
(11) |
Sep
(32) |
Oct
(34) |
Nov
(22) |
Dec
(33) |
2005 |
Jan
(17) |
Feb
(8) |
Mar
(3) |
Apr
(20) |
May
(19) |
Jun
(29) |
Jul
(30) |
Aug
(10) |
Sep
(24) |
Oct
|
Nov
(17) |
Dec
(11) |
2006 |
Jan
(32) |
Feb
(54) |
Mar
(34) |
Apr
(43) |
May
(14) |
Jun
(11) |
Jul
(10) |
Aug
(43) |
Sep
(37) |
Oct
(44) |
Nov
(16) |
Dec
(11) |
2007 |
Jan
(26) |
Feb
(5) |
Mar
(23) |
Apr
(3) |
May
(22) |
Jun
(17) |
Jul
(22) |
Aug
(34) |
Sep
(17) |
Oct
(18) |
Nov
(4) |
Dec
(8) |
2008 |
Jan
(28) |
Feb
(28) |
Mar
(23) |
Apr
(37) |
May
(53) |
Jun
(20) |
Jul
(30) |
Aug
(12) |
Sep
(19) |
Oct
(16) |
Nov
(15) |
Dec
(10) |
2009 |
Jan
(19) |
Feb
(8) |
Mar
(21) |
Apr
(8) |
May
(15) |
Jun
(22) |
Jul
(34) |
Aug
(18) |
Sep
(23) |
Oct
(26) |
Nov
(16) |
Dec
(13) |
2010 |
Jan
(38) |
Feb
(17) |
Mar
(39) |
Apr
(34) |
May
(5) |
Jun
(15) |
Jul
(7) |
Aug
(18) |
Sep
(4) |
Oct
(16) |
Nov
(3) |
Dec
(17) |
2011 |
Jan
(28) |
Feb
(12) |
Mar
(36) |
Apr
(9) |
May
(26) |
Jun
(27) |
Jul
(6) |
Aug
(10) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(9) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(9) |
Nov
(10) |
Dec
(8) |
2013 |
Jan
(3) |
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(22) |
Aug
(5) |
Sep
(3) |
Oct
(3) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(4) |
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(5) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Oren M. <or...@qu...> - 2006-08-09 22:41:41
|
Mike, The logviewer requires that messages be separated by a newline. The store is not really a log file, but a storage file that is optimized for processing quick storage and processing resend requests. Properly reading a storage file requires both the .body file and the .header file. This is very QuickFIX specific. Instead, you should be opening up the .messages file created by your logger. This is a more traditional log with line feeds between entries. The logviewer will be able to handle this file. --oren On Aug 9, 2006, at 4:53 PM, Mike Perik wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I downloaded and compiled QuickFix 1.12.1. > I then copied and stripped down the executor.cfg to > just two sessions (FIX.4.0 CLIENT1 & CLIENT2 sessions) > and moved the session port specification to the > Session level of the config file. I use ports 6001 and > 9001. I then made two copies of the tradeclient.cfg > and only put one session in each file. I started the > executor and two clients using the respective config > file and they all seemed to work connect. I entered a > trade and it got rejected. > > Here is the log messages: > <20060809-21:43:51, FIX.4.0:EXECUTOR->CLIENT1, > incoming> > > (8=FIX. > 4.09=9835=D34=249=CLIENT152=20060809-21:43:5156=EXECUTOR11=12-321=138= > 100040=154=155=MSFT59=010=144) > <20060809-21:43:51, FIX.4.0:EXECUTOR->CLIENT1, event> > (Message 2 Rejected: Value is incorrect (out of > range) for this tag:40) > <20060809-21:43:51, FIX.4.0:EXECUTOR->CLIENT1, > outgoing> > > (8=FIX. > 4.09=11435=334=249=EXECUTOR52=20060809-21:43:5156=CLIENT145=258=Value > is incorrect (out of range) for this tag (40)10=093) > > > I then went to look at the "store" file and use the > Quickfix Log viewer, I attempted to open up the file > that ends with .body but there only seems to be one > message in the file. > > I used vi to look at the file and it seems as though > there are now newlines in the log. Is that the way > it's supposed to be? What file would I use to look > at all the messages of a session? Do I not have the > session or logging configured properly? > > Thanks, > Mike > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > ---------------------------------------------------------------------- > --- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: Mike P. <mic...@ya...> - 2006-08-09 21:53:28
|
I downloaded and compiled QuickFix 1.12.1. I then copied and stripped down the executor.cfg to just two sessions (FIX.4.0 CLIENT1 & CLIENT2 sessions) and moved the session port specification to the Session level of the config file. I use ports 6001 and 9001. I then made two copies of the tradeclient.cfg and only put one session in each file. I started the executor and two clients using the respective config file and they all seemed to work connect. I entered a trade and it got rejected. Here is the log messages: <20060809-21:43:51, FIX.4.0:EXECUTOR->CLIENT1, incoming> (8=FIX.4.09=9835=D34=249=CLIENT152=20060809-21:43:5156=EXECUTOR11=12-321=138=100040=154=155=MSFT59=010=144) <20060809-21:43:51, FIX.4.0:EXECUTOR->CLIENT1, event> (Message 2 Rejected: Value is incorrect (out of range) for this tag:40) <20060809-21:43:51, FIX.4.0:EXECUTOR->CLIENT1, outgoing> (8=FIX.4.09=11435=334=249=EXECUTOR52=20060809-21:43:5156=CLIENT145=258=Value is incorrect (out of range) for this tag (40)10=093) I then went to look at the "store" file and use the Quickfix Log viewer, I attempted to open up the file that ends with .body but there only seems to be one message in the file. I used vi to look at the file and it seems as though there are now newlines in the log. Is that the way it's supposed to be? What file would I use to look at all the messages of a session? Do I not have the session or logging configured properly? Thanks, Mike __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Steve B. <sb...@sm...> - 2006-08-09 21:26:50
|
> Back when Quickfix/J came out with version 1.0 (I > think) the statement was made that it was going to be > developed independently or something to that effect. Hi Mike, QuickFIX/J has always been developed, more or less, independently although Oren and I regularly discuss topics that affect both products. The announcement was about creating a separate project management and information web site for QuickFIX/J, including a separate Subversion repository. Other than that, the=20 collaboration between the projects hasn't changed=20 significantly. =20 > What is the relationship between the two projects? Are > the developers working on both projects? The development is done by separate groups of developers with Oren leading the C++ and C++-based wrapper development (Java JNI, scripting languages) and with me leading the 100%=20 Java development. > QuickFix/J claims compatibility with QuickFix, at what > level is it compatible? (Features, config files). For > instance, would QuickFix/J be able to load a config > file for QuickFix 1.12.1? The goal is that the QuickFIX JNI-based library can be replaced with a QuickFIX/J JAR file and the Java applications will continue to work. This means the Java API and configuration files are backward compatible. In other words, QFJ is backward=20 compatible with the JNI API but not vice versa. There=20 are a few places where the two libraries are not 100% backward=20 compatible. For example, QuickFIX/J relies on JDBC drivers rather=20 than having database-specific log and message store classes. However,=20 this would be a minor change for most applications. QFJ uses a slightly=20 different format for the file-based message store. Any QF JNI data=20 files should be removed before using QFJ. This is usually not a problem since it's done between FIX sessions. As for configuration, there may be one or two options in 1.12.1 that are not in QFJ 1.0.1. The releases are not synchronized so there may be a lead or lag of features between the implementations. For example, I may release a QFJ version with configuration features that are still unreleased in the C++ version. Generally though, QFJ will slightly lag the C++ implementation. Regards, Steve |
From: Mike P. <mic...@ya...> - 2006-08-09 20:40:33
|
Back when Quickfix/J came out with version 1.0 (I think) the statement was made that it was going to be developed independently or something to that effect. What is the relationship between the two projects? Are the developers working on both projects? QuickFix/J claims compatibility with QuickFix, at what level is it compatible? (Features, config files). For instance, would QuickFix/J be able to load a config file for QuickFix 1.12.1? Thanks, Mike __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Oren M. <or...@qu...> - 2006-08-08 07:58:51
|
On a Macbook Pro I get the following results: Storing NewOrderSingle messages in FileStore: num: 500000, seconds: 4.534, num_per_second: 111086 Storing NewOrderSingle messages in MySQLStore: num: 500000, seconds: 65.163, num_per_second: 8286 --oren On Aug 8, 2006, at 12:20 AM, Eranga wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > Any of you guys did a performance test with FileLogStore and > MySQLLogSore ? > Can you share those details with me? If any one have idea about > performance > difference between FileLog and MySQLLog? > > Thanks > > Eranga > -- > View this message in context: http://www.nabble.com/Performance- > FileLogStore-and-MySQLLogStore...-tf2070661.html#a5700632 > Sent from the QuickFIX - User forum at Nabble.com. > > > ---------------------------------------------------------------------- > --- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: Eranga <pe...@ri...> - 2006-08-08 05:36:51
|
First you need to compile QuickFix with MySQL support. You can found those details from the documentation. Then run nessacery databse scripts for MySQL. You need to do few code level changes. SessionSettings settings = new SessionSettings(new FileInputStream("cfg/banzai.cfg")); MessageStoreFactory messageStoreFactory = new MySQLStoreFactory(settings); LogFactory logFactory = new MySQLLogFactory(settings); -- View this message in context: http://www.nabble.com/DB2-ODBC-tf1567522.html#a5700721 Sent from the QuickFIX - User forum at Nabble.com. |
From: Eranga <pe...@ri...> - 2006-08-08 05:33:10
|
Hi, Any of you guys did a performance test with FileLogStore and MySQLLogSore ? Can you share those details with me? If any one have idea about performance difference between FileLog and MySQLLog? Thanks Eranga -- View this message in context: http://www.nabble.com/Performance-FileLogStore-and-MySQLLogStore...-tf2070661.html#a5700632 Sent from the QuickFIX - User forum at Nabble.com. |
From: Aaron Y. <ay...@pe...> - 2006-08-07 20:42:07
|
I can verify that this works, thank you for the lightning fast turnaround Aaron F Young PEAK6 312 362 2431 > -----Original Message----- > From: qui...@li...=20 > [mailto:qui...@li...] On=20 > Behalf Of Oren Miller > Sent: Monday, August 07, 2006 3:19 PM > To: qui...@li...; QuickFix Users > Subject: [Quickfix-users] QuickFIX Logviewer 1.0.1 [Fix for=20 > custom filterdialog] >=20 >=20 > QuickFIX Documentation:=20 > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html >=20 > Available at the website. It should fix the problem with the=20 > missing =20 > value widgets. Everyone who has reported this problem, please =20 > confirm that it is fixed on your system. >=20 > --oren >=20 > On Aug 7, 2006, at 1:43 PM, Aaron Young wrote: >=20 > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > > html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > Well, not to pile on > > > > But I find this tool pretty responsive > > > > But > > > > When I, without reading the documentation, went to do a custom > > filter, I > > was met with a screen that showed me about 10 "lines" > > > > Each line has two selectors > > > > One for the tag and the other for the operator > > > > Hmmm? That doesn't seem...right... > > > > Ok, no other text box appeared...so how exactly do I type=20 > in what I'm=20 > > filtering on... > > > > Fine, I'll read the documentation. Ok, so page 5 has a=20 > screen shot of=20 > > the Custom Filter dialog > > > > What? I'm missing the blank text input boxes... > > > > I'm using Windows XP Professional and the Java info is > > > > java version "1.5.0_06" > > Java(TM) 2 Runtime Environment, Standard Edition (build=20 > 1.5.0_06-b05)=20 > > Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) > > > > Other than this, I like the other canned filters ya'll have and the > > tree > > view. > > > > Aaron F Young > > PEAK6 > > 312 362 2431 > > > >=20 > ---------------------------------------------------------------------- > > --- > > Using Tomcat but need to do more? Need to support web services, =20 > > security? > > Get stuff done quickly with pre-integrated technology to make your =20 > > job easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache =20 > > Geronimo > > http://sel.as-us.falkag.net/sel?=20 > > cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D121642 > > _______________________________________________ > > Quickfix-developers mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > >=20 >=20 > -------------------------------------------------------------- > ----------- > Using Tomcat but need to do more? Need to support web=20 > services, security? > Get stuff done quickly with pre-integrated technology to make=20 > your job easier > Download IBM WebSphere Application Server v.1.0.1 based on=20 > Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057& dat=3D121642 _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users |
From: Oren M. <or...@qu...> - 2006-08-07 20:21:24
|
Yes Jerry. We are not releasing source packages, but you can access the source through the svn repository. With svn just type: svn co https://svn.sourceforge.net/svnroot/quickfix/trunk/quickfix-logviewer Currently it requires the eclipse IDE. --oren > I was wondering if the log viewer is OpenSource so that I can add > them to > yours. > > Some of the features: > > - grep function during load. Lets you load all messages which have > "PLC2006000128" (Client Original Id). Usually this is all you need to > debug a problem, as the value is on NOS, and all ExecutionReports... > > - Export to CSV. With this option the main window (or the selected > portion > thereof) is exported as CSV, which you can load into Excel (or > openoffice) > and include in documentation / emails / problem reports, etc. |
From: Oren M. <or...@qu...> - 2006-08-07 20:18:43
|
Available at the website. It should fix the problem with the missing value widgets. Everyone who has reported this problem, please confirm that it is fixed on your system. --oren On Aug 7, 2006, at 1:43 PM, Aaron Young wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Well, not to pile on > > But I find this tool pretty responsive > > But > > When I, without reading the documentation, went to do a custom > filter, I > was met with a screen that showed me about 10 "lines" > > Each line has two selectors > > One for the tag and the other for the operator > > Hmmm? That doesn't seem...right... > > Ok, no other text box appeared...so how exactly do I type in what I'm > filtering on... > > Fine, I'll read the documentation. Ok, so page 5 has a screen shot of > the Custom Filter dialog > > What? I'm missing the blank text input boxes... > > I'm using Windows XP Professional and the Java info is > > java version "1.5.0_06" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) > Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) > > Other than this, I like the other canned filters ya'll have and the > tree > view. > > Aaron F Young > PEAK6 > 312 362 2431 > > ---------------------------------------------------------------------- > --- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Jerry W. <je...@we...> - 2006-08-07 20:04:17
|
On Monday 07 August 2006 18:56, Oren Miller wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX > Support: http://www.quickfixengine.org/services.html > > Available for download at http://www.quickfixengine.org > > Documentation is available, in PDF format, here http:// > www.quickfixengine.org/quickfix-logviewer/documentation.pdf > Haven't tried it yet, but read the Docu. I've been using my own FixViewer, built in Perl/Tk for a couple of years now. I parse log files directly, and have add a few additional features to it. Your version (based on QuickFix) will be more useful than mine which can only be used for file logging. But I did have a few features that where not difficult to implement and at the same time extremely usefull. I was wondering if the log viewer is OpenSource so that I can add them to yours. Some of the features: - grep function during load. Lets you load all messages which have "PLC2006000128" (Client Original Id). Usually this is all you need to debug a problem, as the value is on NOS, and all ExecutionReports... - Export to CSV. With this option the main window (or the selected portion thereof) is exported as CSV, which you can load into Excel (or openoffice) and include in documentation / emails / problem reports, etc. Jerry Westrick |
From: Aaron Y. <ay...@pe...> - 2006-08-07 18:43:25
|
Well, not to pile on But I find this tool pretty responsive But When I, without reading the documentation, went to do a custom filter, I was met with a screen that showed me about 10 "lines" Each line has two selectors One for the tag and the other for the operator Hmmm? That doesn't seem...right... Ok, no other text box appeared...so how exactly do I type in what I'm filtering on... Fine, I'll read the documentation. Ok, so page 5 has a screen shot of the Custom Filter dialog What? I'm missing the blank text input boxes... I'm using Windows XP Professional and the Java info is java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) Other than this, I like the other canned filters ya'll have and the tree view. Aaron F Young PEAK6 312 362 2431 |
From: Oren M. <or...@qu...> - 2006-08-07 18:23:04
|
Yeah, the original implementation was built against QuickFIX JNI. This has a much lower memory imprint than QuickFIX/J. This of course comes at a cost of portability (which is important for releasing to a wider audience). There are also some performance differences due to the JNI layer, but I don't think they are too significant. If I recall the memory footprint of the Java implementation was at least twice the size of running against QuickFIX. This can probably be attributed to Java storing all strings as wide characters (or is QuickFIX/J storing them as bytes internally? I'm not sure). With QuickFIX JNI, the strings are just a facade that are created as necessary, so they are actually stored in memory as regular characters. One thing that can be done is give the option of running against the JNI library under windows at least. This would give you the capability of opening much larger files without any changes to the code. A smarter allocation strategy that only pulls in a portion of messages would help solve the dilemma, but the cost would be slower filtering when working with large files. As it is now, filtering is pretty instantaneous I think (your experience?). Also, you should take a look at the start time and end time options when opening a file. This was placed in there specifically to deal with very large files that you are only interested in part of. If you are looking for a problem that you know occurred within the last hour for instance, you can tell the viewer to only open up that time period. If the log file spans multiple days, opening up the day you are interested in is probably a good idea. --oren > And now the ugly... > I attempted to load a 180mb file and the memory usage > went to 1.5G and basicly stopped. I bumped up the max > memory size to 1.5gb after it failed with the 512mb > size. |
From: Mike P. <mic...@ya...> - 2006-08-07 18:00:32
|
First the good... Very nice, I like the filters. Thanks! Now the bad... The Customer Filter dialog doesn't display the field value widget/control after the =/</>/!= control. If I blindly tab off the operator and type in something and apply it works. And now the ugly... I attempted to load a 180mb file and the memory usage went to 1.5G and basicly stopped. I bumped up the max memory size to 1.5gb after it failed with the 512mb size. All-in-All, well done! Mike --- Oren Miller <or...@qu...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: > http://www.quickfixengine.org/services.html > > Available for download at > http://www.quickfixengine.org > > Documentation is available, in PDF format, here > http:// > www.quickfixengine.org/quickfix-logviewer/documentation.pdf > > This is a logviewer we have been using internally > for a couple > years. We've put it in a releasable state along > with substantial > user documentation. While taking a look at this, > also check out > log4fix at > http://www.opentradingsolutions.org/blog/log4fix/, > and > Hermes JMS at http://www.hermesjms.com/. All of > these take different > approaches to managing FIX logs which should prove > useful in > different scenarios. > > --oren > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support > web services, security? > Get stuff done quickly with pre-integrated > technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 > based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Oren M. <or...@qu...> - 2006-08-07 16:56:57
|
Available for download at http://www.quickfixengine.org Documentation is available, in PDF format, here http:// www.quickfixengine.org/quickfix-logviewer/documentation.pdf This is a logviewer we have been using internally for a couple years. We've put it in a releasable state along with substantial user documentation. While taking a look at this, also check out log4fix at http://www.opentradingsolutions.org/blog/log4fix/, and Hermes JMS at http://www.hermesjms.com/. All of these take different approaches to managing FIX logs which should prove useful in different scenarios. --oren |
From: Oren M. <or...@qu...> - 2006-08-02 20:33:47
|
QuickFIX 1.12.1 is now available at http://www.quickfixengine.org You can get the release notes for all versions here: http:// www.quickfixengine.org/NEWS The major purpose of this release is to fix some bugs in the new non- blocking implementation of the SocketInitiator/Acceptor. If you are using 1.12.0 with these, you should upgrade. The 1.12.0 implementation could result in an infinite loop under unix, and a full out crash under windows. These problems have been addressed in this release. There is a new configuration settings called SendRedundantResendRequests. If this is set to Y than QuickFIX will send a resend request even if it isn't completely necessary. This is the behavior of older versions of QuickFIX. Some certification systems look for this behavior even though it is less efficient. Reject messages are always sent to the application, even if their sequence number is too high. BusinessMessageReject includes the field number if applicable (contributed by Robert Bill) Fixed ResetOnLogon functionality which seems quite broken. Fixed various issues with MySQL support. Some improved logging. Compilation fixes for various systems. |
From: Oren M. <or...@qu...> - 2006-08-02 16:56:06
|
You put field 128, DeliverToCompID, in the body of the message. It =20 should be in the header. --oren On Aug 2, 2006, at 11:15 AM, spencer wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/=20 > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hello, > > I have quick fix working against a broker successfully. To make =20 > testing a > new version of my app easier, I am trying to get the example app - > executer_csharp.exe working to execute my orders. I can log in =20 > successfull > and heartbeats are fine. However, when I send this message (which =20 > works fine > with my broker): > > 8=3DFIX.=20 > 4.2=019=3D166=0135=3DD=0134=3D27=0149=3DRBCFG=0152=3D20060720-08:17:32.1= 80=0156=3DROYBTEST=0111=3D=20 > 18771=0121=3D3=0122=3D3=0138=3D500=0140=3D1=0144=3D0=0148=3D2337=0154=3D= 2=0155=3D2337=0158=3DCD=0159=3D0=0160=3D20=20 > 060720-08:17:32=01100=3DOJ=01128=3DBNPPTEST=0110=3D253=01 > > > I get this response: > > 8=3DFIX.=20 > 4.2=019=3D123=0135=3D3=0134=3D47=0149=3DROYB=0152=3D20060802-15:52:55.98= 2=0156=3Dmerrin2=01115=3DB=20 > NPP=0145=3D45=0158=3DTag > specified out of required order=01371=3D128=01372=3DD=0110=3D168=01 > > Any help is greatfully received. > > Thanks. > > --=20 > View this message in context: http://www.nabble.com/Tag-specified-=20 > out-of-required-order-tf2040806.html#a5617135 > Sent from the QuickFIX - User forum at Nabble.com. > > > ----------------------------------------------------------------------=20= > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to =20 > share your > opinions on IT & business topics through brief surveys -- and earn =20 > cash > http://www.techsay.com/default.php?=20 > page=3Djoin.php&p=3Dsourceforge&CID=3DDEVDEV > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: spencer <sru...@db...> - 2006-08-02 16:37:18
|
Hello, I have quick fix working against a broker successfully. To make testing a new version of my app easier, I am trying to get the example app - executer_csharp.exe working to execute my orders. I can log in successfull and heartbeats are fine. However, when I send this message (which works fin= e with my broker): 8=3DFIX.4.2=019=3D166=0135=3DD=0134=3D27=0149=3DRBCFG=0152=3D20060720-08:17= :32.180=0156=3DROYBTEST=0111=3D18771=0121=3D3=0122=3D3=0138=3D500=0140=3D1= =0144=3D0=0148=3D2337=0154=3D2=0155=3D2337=0158=3DCD=0159=3D0=0160=3D200607= 20-08:17:32=01100=3DOJ=01128=3DBNPPTEST=0110=3D253=01 I get this response: 8=3DFIX.4.2=019=3D123=0135=3D3=0134=3D47=0149=3DROYB=0152=3D20060802-15:52:= 55.982=0156=3Dmerrin2=01115=3DBNPP=0145=3D45=0158=3DTag specified out of required order=01371=3D128=01372=3DD=0110=3D168=01 Any help is greatfully received. Thanks. --=20 View this message in context: http://www.nabble.com/Tag-specified-out-of-re= quired-order-tf2040806.html#a5617135 Sent from the QuickFIX - User forum at Nabble.com. |
From: Oren M. <or...@qu...> - 2006-07-25 13:47:29
|
ON QUICKFIX ----------------- QuickFIX 1.12.0 is now available at http://www.quickfixengine.org You can get the release notes for all versions here: http:// www.quickfixengine.org/NEWS Ok, some of the more important features: SocketAcceptor and ThreadedSocketAcceptor can listen on multiple ports. So now you can set up on a per session basis what port will be used to accept connections. Sessions can still share a port or segment port sharing however you like. Place the SocketAcceptPort wherever you want, as often as you want, we won't tell. ODBC support for messages and logs. We have replaced the MSSQL Log and Store with the more versatile ODBCLog and ODBCStore. Now you can connect to any database with a ODBC driver. Global logging! Yeah, now we can record events that do not pertain to a particular session. The LogFactory still has the old create ( SessionID ) method to get a sessions log, and also a create() method to retrieve the global log. Non blocking sockets. No more risk of deadlocks when using the SocketInitiator or SocketAcceptor. No need to resort to using threads if you don't want to. This is a much more solid socket implementation. Did I mention the Python API is now functionally complete? Repeating groups and all. Oh yeah, and there is an equally complete Ruby API. Do you prefer Python or Ruby? No matter what you choose, you have a fully scriptable FIX engine at your disposal. Read your data dictionary from a stream. Store it wherever you want in whatever crazy format you desire. Just pass QuickFIX a stream in our file format and we'll work it out. With the ability to store this and the settings file however you like, QuickFIX can be totally integrated into your proprietary or third party configuration environment. If you use CME, get this. It's all taken care of from now on. No more need to put in your own hacks. MessageStore::refresh() and setting RefreshOnLogon make it easy to integrate QuickFIX into a redundant solution. Better API support, better logging, more convenience methods, more configuration options. Check the release notes and you'll see what I mean. |
From: Joerg T. <Joe...@ma...> - 2006-07-20 10:47:33
|
On 07/20/06 07:28, Scott Maxwell wrote: > On 7/19/06, Jerry Westrick <je...@we...> wrote: >=20 >> The Fix Specs say that the ClOrdID is Unique per Order. >> I would expect your broker to check this. >> If the ClOrdID already exists then He should reject the NewOrderSingle. >=20 > Ah, clever idea. I hadn't thought of just trying that. Jerry is right here, the broker should support the OrderStatusRequest(ClO= rdID) without the need to=20 give the OrderID. Without this feature, you have to revert to manual= operation. Otherwise the following scenario would work a bit better: (1) Generate order with new ClOrdID in your database. (2) Send order to QF; if sendToTarget() returns, the order is in the QF o= utgoing queue (3) Update database status: NEW --> SENT_TO_FIX On recovery, you request the state of all known orders: OrderStatusRequest(ClOrdID) If the crash happens between (1) and (2), the request would return "Unkno= wn ClOrdID" since the order=20 did not even manage to go to QF. If the crash happens between (2) and (3) and the order is still in the QF= outgoing queue, the=20 OrderStatusRequest is appended to the queue after the order itself. So yo= u have to wait some time=20 until the order and the request is being processed. The QF callback toApp() can be helpful here: Every time QF puts a message= on the wire, this callback=20 is triggered. If the order is sent the first time, the PossDup flag is fa= lse. If the order is resent=20 from the queue after a crash or network issue, the PossDup flag is set to= true and the field=20 OrigSendingTime is populated. By comparing SendingTime and OrigSendingTim= e you can identify a time=20 lag between the first try and the current one. For some orders this may b= e too large, and you may=20 decide to cancel sending this order again by throwing a DoNotSend excepti= on. >> 2) Isn't this a rather theoretical case?Won't QuickFix Recovery get th= is for >> you? >=20 > I am of course a newbie, so I can't speak too authoritatively. Maybe > you're right. It just seemed to me that since there's no way to both > (1) send the message (and guarantee it got to the broker) and (2) > update the database, all as part of the same guaranteed-atomic > operation, then you can always construct a scenario where you lose if > the power goes out at just the wrong moment. If the crash happens before (2), the OrderStatusRequest will finally upda= te your database. After=20 (1), there is no way in FIX to guarantee that the message actually arrive= d at the other sides=20 application layer. It may possibly stall in resend processing forever, ie= if your network is very=20 bad. This can be caught by time-outs and should be handled manually. > You're right that it's a theoretical case, but you know how it is ... > if you don't deal with it, it'll come back and bite you at the worst > possible moment. A good place to look for and discuss such issues are the forums at www.fi= xprotocol.org. Here you=20 will get more feedback on questions of this more general nature. Except m= entioning the toApp()=20 callback, my answer should apply to all compliant FIX engines. Cheers, J=F6rg --=20 Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen |
From: Jerry W. <je...@we...> - 2006-07-20 09:54:27
|
If the brokeris using QuicklFix then I think the case would be theoretical. But the level of Fix support offered by your broker leads me to disbelieve that they did the recovery correct either :( I assume you asked your broker how they want this handled, and your request fell on deaf ears... If so you are forced to drop to manual processing as described. what can I say... Silly broker ;) Jerry Westrick On Thursday 20 July 2006 07:28, Scott Maxwell wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX > Support: http://www.quickfixengine.org/services.html > > On 7/19/06, Jerry Westrick <je...@we...> wrote: > > The Fix Specs say that the ClOrdID is Unique per Order. > > I would expect your broker to check this. > > If the ClOrdID already exists then He should reject the NewOrderSingle. > > Ah, clever idea. I hadn't thought of just trying that. > > Unfortunately, it didn't work out: they treat it as a new, separate > order. So now, as far as they're concerned, I simply have two > identical orders with the same ClOrdID. > > Good thing to try, though. > > > 2) Isn't this a rather theoretical case?Won't QuickFix Recovery get this > > for you? > > I am of course a newbie, so I can't speak too authoritatively. Maybe > you're right. It just seemed to me that since there's no way to both > (1) send the message (and guarantee it got to the broker) and (2) > update the database, all as part of the same guaranteed-atomic > operation, then you can always construct a scenario where you lose if > the power goes out at just the wrong moment. > > You're right that it's a theoretical case, but you know how it is ... > if you don't deal with it, it'll come back and bite you at the worst > possible moment. > > I think my strategy is going to be that I won't try to autonomously > recover -- there's just no way to do it, at least not that I can find, > in my particular circumstances. Instead, we'll have to manually > recover (via phone calls to the broker or something) when the startup > code sees an order is marked as sent but has no broker-side order ID. > > Thanks for the suggestions! |
From: Scott M. <dl....@gm...> - 2006-07-20 05:28:35
|
On 7/19/06, Jerry Westrick <je...@we...> wrote: > The Fix Specs say that the ClOrdID is Unique per Order. > I would expect your broker to check this. > If the ClOrdID already exists then He should reject the NewOrderSingle. Ah, clever idea. I hadn't thought of just trying that. Unfortunately, it didn't work out: they treat it as a new, separate order. So now, as far as they're concerned, I simply have two identical orders with the same ClOrdID. Good thing to try, though. > 2) Isn't this a rather theoretical case?Won't QuickFix Recovery get this for > you? I am of course a newbie, so I can't speak too authoritatively. Maybe you're right. It just seemed to me that since there's no way to both (1) send the message (and guarantee it got to the broker) and (2) update the database, all as part of the same guaranteed-atomic operation, then you can always construct a scenario where you lose if the power goes out at just the wrong moment. You're right that it's a theoretical case, but you know how it is ... if you don't deal with it, it'll come back and bite you at the worst possible moment. I think my strategy is going to be that I won't try to autonomously recover -- there's just no way to do it, at least not that I can find, in my particular circumstances. Instead, we'll have to manually recover (via phone calls to the broker or something) when the startup code sees an order is marked as sent but has no broker-side order ID. Thanks for the suggestions! -- "Life results from the non-random survival of randomly varying replicators." -- Richard Dawkins |
From: Jerry W. <je...@we...> - 2006-07-19 09:44:52
|
Your Brokers support is (In my experience) fairly average... I really don't expect too much more from brokers. I have a question to your problem: 1) Is it one? The Fix Specs say that the ClOrdID is Unique per Order. I would expect your broker to check this. If the ClOrdID already exists then He should reject the NewOrderSingle. In this form, you have no problem with sending duplicates. As long as your ClOrdID remains the same... Of course if he rejects the NewOrderSingle, you still got the problem of finding out what OrderId He gave to the thing.... But Someday some thing will happen to the order resulting in a message, and the message will have the OrderID... Check if your broker accepts Deletes without OrderID, so that deletes are possible durring this unknown period. 2) Isn't this a rather theoretical case?Won't QuickFix Recovery get this for you? Jerry Westrick. On Wednesday 19 July 2006 06:39, Scott Maxwell wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX > Support: http://www.quickfixengine.org/services.html > > I'm a FIX (and QuickFIX) newbie, using QuickFIX/J to write a simple > trading application. The basic system design includes a database into > which pending orders are written, and my application, which > periodically sweeps the database, placing any pending orders. > > Naturally, I want to ensure that orders aren't placed twice (because > they'll appear to the broker as two separate orders), so after sending > the order message to the broker, my application updates the database > to say that the order has been sent. Later, when the order is > accepted or rejected by the broker, the database will be updated again > to say so. > > One concern I have is this: suppose the power goes out (or pick your > favorite disaster) after the order message has been sent but before > the database has been updated to say it was sent. Now, when my > application wakes up again, it will think the order was never sent, > and will (re-)send it to the broker. > > Realizing this, I attacked the problem in two parts. First, I changed > the code to do things the other way around: flag the order as sent, > then send the order message. Second, when my application starts up, > it looks at all orders flagged as sent (but not yet acknowledged by > the broker) and resends them with PossResend=Y. > > That seemed great -- except that it turns out that my particular > broker doesn't support orders with PossResend=Y. > > *Sigh*. > > So I changed it again: now, when my application starts up, it sends an > OrderStatusRequest for the order, which should result in an > ExecutionRpt giving the order's status; I figured that if my broker > indicated they'd never heard of the order, I should re-send it. > > That seemed great -- except that it turns out that my broker rejects > OrderStatusRequest unless it includes their OrderID (not ClOrdID), and > you don't get their OrderID until you've received the acknowledgment > to your order request. And the orders I'm worried about are precisely > the ones for which I don't have that information, because the power > went out at the wrong time. > > I ran into the same problem (my broker demands an OrderID I don't yet > have in the case I care about) when I tried to use OrderCancelRequest, > and when I tried to use OrderCancelReplaceRequest. I couldn't find > anything else promising in the FIX spec, and am now officially out of > ideas. > > So, O wise and experienced FIX folks, how would you solve this > problem? Is there a way to write my application so that it will > robustly recover from the state I'm concerned about? My broker > supports FIX4.2, if it matters. (Though not as completely as I would > like, as you can see. ;-) |
From: Scott M. <dl....@gm...> - 2006-07-19 04:39:11
|
I'm a FIX (and QuickFIX) newbie, using QuickFIX/J to write a simple trading application. The basic system design includes a database into which pending orders are written, and my application, which periodically sweeps the database, placing any pending orders. Naturally, I want to ensure that orders aren't placed twice (because they'll appear to the broker as two separate orders), so after sending the order message to the broker, my application updates the database to say that the order has been sent. Later, when the order is accepted or rejected by the broker, the database will be updated again to say so. One concern I have is this: suppose the power goes out (or pick your favorite disaster) after the order message has been sent but before the database has been updated to say it was sent. Now, when my application wakes up again, it will think the order was never sent, and will (re-)send it to the broker. Realizing this, I attacked the problem in two parts. First, I changed the code to do things the other way around: flag the order as sent, then send the order message. Second, when my application starts up, it looks at all orders flagged as sent (but not yet acknowledged by the broker) and resends them with PossResend=Y. That seemed great -- except that it turns out that my particular broker doesn't support orders with PossResend=Y. *Sigh*. So I changed it again: now, when my application starts up, it sends an OrderStatusRequest for the order, which should result in an ExecutionRpt giving the order's status; I figured that if my broker indicated they'd never heard of the order, I should re-send it. That seemed great -- except that it turns out that my broker rejects OrderStatusRequest unless it includes their OrderID (not ClOrdID), and you don't get their OrderID until you've received the acknowledgment to your order request. And the orders I'm worried about are precisely the ones for which I don't have that information, because the power went out at the wrong time. I ran into the same problem (my broker demands an OrderID I don't yet have in the case I care about) when I tried to use OrderCancelRequest, and when I tried to use OrderCancelReplaceRequest. I couldn't find anything else promising in the FIX spec, and am now officially out of ideas. So, O wise and experienced FIX folks, how would you solve this problem? Is there a way to write my application so that it will robustly recover from the state I'm concerned about? My broker supports FIX4.2, if it matters. (Though not as completely as I would like, as you can see. ;-) -- "Life results from the non-random survival of randomly varying replicators." -- Richard Dawkins |
From: Mark T. K. <mke...@di...> - 2006-07-17 20:12:20
|
i.e. is there a way to get at the underlying file descriptor so that it can be used to trigger a dispatch when select fires on it? /mark This communication and any attachments may contain confidential/proprietary information and is intended for information purposes only. It is not an invitation or offer to purchase interests from Diamondback. Any representation to the contrary is unintentional. This communication is intended only for the person(s) to whom it is addressed. If you are not the intended recipient you are hereby notified that you have received this document in error and that any review, dissemination, distribution, or copying of this message or any attachments is not permitted. If you have received this in error, please notify the sender immediately by e-mail and delete this message. All e-mails sent to or received from this address will be received by Diamondback Capital Management's company e-mail system and is subject to archival and possible review by someone other than the recipient. This notice is automatically appended to each e-mail message leaving Diamondback Capital Management. |