quickfix-developers Mailing List for QuickFIX (Page 104)
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
|
| 2026 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Goodman, J. <Jef...@cm...> - 2007-10-28 13:15:28
|
I have an application right now that has a class that implements Application to process all the messages. It processes one message at a time, stores in our database and sends events to the user's front end of the change. The problem is that if I have hundreds of messages at once coming in, then I am sending notifications very quickly and its slowing the front end down. I would like to read a message, insert, read a message, insert, etc until I receive 50 messages or so, then commit and send all events at once. The problem is once I am done processing one message and return, it is gone so if the server crashes somewhere before 50, The messages that have not been committed will be gone and wont be resent on startup. Any suggestions. Also, It seems that Quickfix must be single threaded since we must process the messages in the order they arrive, correct? So what benefit does the multithreaded socket have? ***************************************************************************= ******** This communication, including any attachments, is for the exclusive use of = the intended recipient(s) and/or the intended recipient's designees and may= contain proprietary, confidential and/or privileged information. Any use,= retention or dissemination by a person other than the intended recipient i= s strictly prohibited. If you are not the intended recipient or designee, = please notify the sender immediately by return e-mail and delete/destroy al= l copies of this communication. Any opinions, conclusions or information herein not related to the official= business of Natixis Capital Markets shall be understood as neither given n= or endorsed by the company. |
|
From: Yoav <yo...@ya...> - 2007-10-26 22:27:56
|
Hi,=0AMy company is developing a FOREX trading system and will most likely = use QuickFIX for the FIX implementation component.=0AI'm new to QuickFIX an= d one of the first questions that just rose was this:=0AI can see that one = SocketAcceptor/Initiator instance can handle many connections to different = hosts.=0AThe direction in my company though is to have one instance of Sock= etAcceptor/Initiator per host.=0AThat means the same process that handles c= onnections to many hosts will have many instances of the class.=0AIs that a= reasonable decision? Is there a reason why we shouldn't do that?=0AI'm mos= tly interested in the performance aspect of this decision.=0A=0AThanks in a= dvance,=0AYoav=0A=0A=0A=0A=0A |
|
From: Ian S. <dar...@gm...> - 2007-10-26 19:45:02
|
Hello,
I would greatly appreciate assistance with python for Quickfix
My major issue is that there are no working examples of a
Python connection working. I tested my config file using Banzai, and
things are working for that connection now. On my compiled version
with Python 2.5 included, I get the following error:
NotImplementedError: No matching function for overloaded
'new_SocketAcceptorBase' I have read through all of the documentation
I can find, and all of the python examples have flaws errors and bugs.
I fixed a few in order to make the code below, but I'm still having
serious issues. Maybe this is simple, and I just need to vary the
parameters I pass to SocketAcceptor.
Building Python with quickfix took a very long time, I'm going to go
through the process again and try to write up better examples so other
people have a more "copy+paste" experience.
Here is the error and code, from a terminal session.
import quickfix
def connecttest(file):
try:
settings = quickfix.SessionSettings(file)
application = Application()
storeFactory = quickfix.FileStoreFactory(settings)
logFactory = quickfix.FileLogFactory(settings)
acceptor = quickfix.SocketAcceptor(application, storeFactory,
settings, logFactory)
acceptor.start()
# while condition == true: do something
acceptor.stop()
except quickfix.ConfigError, e:
print e
connecttest("/tmp/config.ini")
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
connecttest("/tmp/config.ini")
File "<pyshell#40>", line 7, in connecttest
acceptor = quickfix.SocketAcceptor(application, storeFactory,
settings, logFactory)
File "/usr/lib/python2.5/site-packages/quickfix.py", line 19982, in __init__
def __init__(self, application, storeFactory, settings, logFactory):
File "/usr/lib/python2.5/site-packages/quickfix.py", line 19940, in __init__
this = _quickfix.new_SocketAcceptorBase(*args) #orig
NotImplementedError: No matching function for overloaded
'new_SocketAcceptorBase'
--
Ian Smith
|
|
From: Djalma R. d. S. F. <drs...@gm...> - 2007-10-26 19:12:44
|
Hi Andrew, QuickFIX uses the gmtime function to calculate the UTC time based on the local time. I believe that the OS should always determine whether daylight saving time is in effect. If your server runs Windows, the msvc run-time will assume the USA rules for implementing the DST calculation. But, in the Date/Time properties, the well-known option Automatically adjust clock for daylight saving time **MUST** be selected. Because QF internally uses some variables to cache data time values, I believe that an abrupt change in the server's clock might cause unpredictable behaviour for the running application. Since there is no hooking for changes in OS clock to update these variables, I would prefer to shutdown the application that uses QF before any adjustment in the machine's clock and then restart it. Djalma On 10/25/07, Andrew Culross <And...@tw...> wrote: > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: > http://www.quickfixengine.org/services.html > > > > > All, > > With DST approaching for some of us on Nov 4th, are there any known > issues/recommendations with QuickFix 1.12.4 ? Given that I have multiple > sessions specified (the times are in UTC) with start and stop times I > wanted to check. Will a running QuickFix engine update it's internal time > properly if the server's time changes due to DST? > > > > Andrew Culross > > TwoFour Systems > > 445 Hamilton Ave > > White Plains, NY 10601 > > Direct +1 (914) 220-8849 > > Main +1 (914) 220-8800 > > Fax +1 (914) 220-8899 > > www.TwoFour.com > > > > http://www.twofour.com/emaildisclaimer.aspx > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Andrew C. <And...@Tw...> - 2007-10-25 18:40:14
|
All, With DST approaching for some of us on Nov 4th, are there any known issues/recommendations with QuickFix 1.12.4 ? Given that I have multiple sessions specified (the times are in UTC) with start and stop times I wanted to check. Will a running QuickFix engine update it's internal time properly if the server's time changes due to DST? Andrew Culross TwoFour Systems 445 Hamilton Ave White Plains, NY 10601 Direct +1 (914) 220-8849 Main +1 (914) 220-8800 Fax +1 (914) 220-8899 <http://www.twofour.com/> www.TwoFour.com http://www.twofour.com/emaildisclaimer.aspx |
|
From: Patrick W. <pw...@ka...> - 2007-10-25 00:08:47
|
Hi,
=20
When a socket initiator is stopped the storage files are still in use so
that starting it again causes an error ('cannot open body file').
I get the problem when using the .NET version of QuickFix 1.12.4 but I
notice that there is at least one other thread asking about this
problem.
Here is the relevant code section copied from that previous thread:
=20
> settings =3D new SessionSettings(configFile);
> storeFactory =3D new
> FileStoreFactory(settings); logFactory =3D new =
FileLogFactory(settings);
> messageFactory =3D new DefaultMessageFactory(); initiator =3D new
> ThreadedSocketInitiator(this, storeFactory, settings, logFactory,
> messageFactory);
>
>...
> initiator.start();
>...
> initiator.stop();
> initiator =3D null;
> settings =3D null;
> storeFactory =3D null;
> logFactory =3D null;
> messageFactory =3D null;
> ----------------------------------------
> At this point all of the four storage files are still locked (can't be
> opened in notepad). Forcing garbage collection doesn't help.
=20
My question is:
Has anyone managed to work around/fix this problem?
I am using QuickFix from a .NET 2.0 WinForms app in C#.
=20
Thanks,
Patrick Wright
=20
|
|
From: jgoodman999 <jef...@cm...> - 2007-10-23 18:34:52
|
I have an application right now that has a class that implements Application to process all the messages. It processes one message at a time, stores in our database and sends events to the user's front end of the change. The problem is that if I have hundreds of messages at once coming in, then I am sending notifications very quickly and its slowing the front end down. I would like to read a message, insert, read a message, insert, etc until I receive 50 messages or so, then commit and send all events at once. The problem is once I am done processing one message and return, it is gone so if the server crashes somewhere before 50, The messages that have not been committed will be gone and wont be resent on startup. Any suggestions. Also, It seems that Quickfix must be single threaded since we must process the messages in the order they arrive, correct? So what benefit does the multithreaded socket have? -- View this message in context: http://www.nabble.com/Processing-messages-in-batches-tf4679528.html#a13370932 Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
|
From: Jay B. <jay...@gm...> - 2007-10-23 11:52:55
|
Yes Cameron has an API but it has a sad object model around it and you need
to write code to do all the heavy lifting, flattening to tags etc before
shooting it across the socket to the FIX Engine...
QuickFix API seems to have well formed classes, nicer semantics of creating
and handling messages... so it would be nice where once can use QuickFix
with other FIX engines...
So I guess you can write code like:
void sendOrderCancelRequest()
{
FIX41::OrderCancelRequest message(
FIX::OrigClOrdID("123"),
FIX::ClOrdID("321"),
FIX::Symbol("LNUX"),
FIX::Side(FIX::Side_BUY));
message.set(FIX::Text("Cancel My Order!"));
*** FIX::Session::setEngine("Cameron"); *** // or set this in the
environment
FIX::Session::sendToTarget(message, SenderCompID("TW"),
TargetCompID("TARGET"));
// so this now send just the message and not the headers
}
Thanks for the reply...
On 10/22/07, Caleb Epstein <cal...@gm...> wrote:
>
> On 10/22/07, Jay Bholenath <jay...@gm...> wrote:
> >
> >
> > Am a newbie to this FIX world... I like the C++ class design and the
> > API, but was wondering if I could use the API against a Cameron FIX Engine?
> > The firm I work for has standardized on Cameron FIX Engine...
> >
> > So the API formats messages and the appropriate tags but when a send is
> > called it shoots of the message to Cameron instead of managing the socket to
> > Taget itself...
> >
>
>
> You can certainly use QuickFIX to communicate with another FIX application
> be it Cameron or something else, but QuickFIX is a complete and
> self-contained API. It has no means to pass messages up to some other API.
>
> If your firm has standardized on using Cameron, then shouldn't yo be
> developing using their APIs and not QuickFIX?
>
>
> --
> Caleb Epstein
|
|
From: Caleb E. <cal...@gm...> - 2007-10-22 18:00:09
|
On 10/22/07, Jay Bholenath <jay...@gm...> wrote: > > > Am a newbie to this FIX world... I like the C++ class design and the API, > but was wondering if I could use the API against a Cameron FIX Engine? The > firm I work for has standardized on Cameron FIX Engine... > > So the API formats messages and the appropriate tags but when a send is > called it shoots of the message to Cameron instead of managing the socket to > Taget itself... > You can certainly use QuickFIX to communicate with another FIX application be it Cameron or something else, but QuickFIX is a complete and self-contained API. It has no means to pass messages up to some other API. If your firm has standardized on using Cameron, then shouldn't yo be developing using their APIs and not QuickFIX? -- Caleb Epstein |
|
From: Jay B. <jay...@gm...> - 2007-10-22 12:28:18
|
Hi all, Am a newbie to this FIX world... I like the C++ class design and the API, but was wondering if I could use the API against a Cameron FIX Engine? The firm I work for has standardized on Cameron FIX Engine... Has someone done something like this? So the API formats messages and the appropriate tags but when a send is called it shoots of the message to Cameron instead of managing the socket to Taget itself... Any insights welcome... Thanks Arun |
|
From: Andrei G. <an...@gm...> - 2007-10-22 12:06:32
|
> Hi, > > My application (C++, Linux) is sending fix messages to Trader application. > These fix messages have some customized tags. Ordering of these customized > tags is important for Trading application. But when QuickFix is creating a > message from string provided, it changes the order of tags. QuickFix > re-arranges tags from smallest to largest (except for headers and tailer > tags) > > I think Data Dictionary is used for validation and tag ordering. I have > added those tags in Data Dictionary. Can some one please suggest/help? According to the FIX specs, tag ordering is only required inside repeating groups. If your tag is inside a repeating group, I believe you can enforce the ordering by adding your tag to the appropriate FIX<NN>.xml and regenerating the QuickFIX message classes. |
|
From: <San...@ub...> - 2007-10-22 10:53:50
|
Visit our website at http://www.ubs.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mails are not encrypted and cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments. |
|
From: JiteshT <ji...@ed...> - 2007-10-19 19:57:37
|
Hello, Does anyone have some sample code I can use to read a price message log file, and send out the read messages on a socket? thanks, Jitesh -- View this message in context: http://www.nabble.com/sample-code-to-read-price-log-file-and-resend-tf4655439.html#a13301931 Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
|
From: Jitesh T. <ji...@ed...> - 2007-10-19 18:19:45
|
Scott, Thanks for the reply. You are right, I copied the wrong set of messages. But the problem remains the same. I am now copying the correct set. <20071019-16:55:55, FIX.4.2:TTSIMPRICE->JITESHPRICE, outgoing> = (8=3DFIX.4.2=E2=98=BA9=3D159=E2=98=BA35=3DX=E2=98=BA34=3D274=E2=98=BA49=3D= TTSIMPRICE=E2=98=BA52=3D20071019-16:55:55.375=E2=98=BA56=3DJITESHPRICE=E2= =98=BA262=3D10/19/2007 11:55:24 = AM1=E2=98=BA268=3D1=E2=98=BA269=3D1=E2=98=BA270=3D154125=E2=98=BA271=3D31= 2=E2=98=BA279=3D1=E2=98=BA290=3D1=E2=98=BA387=3D235166=E2=98=BA10455=3DES= Z7=E2=98=BA10=3D134=E2=98=BA) <20071019-16:55:55, FIX.4.2:TTSIMPRICE->JITESHPRICE, incoming> = (8=3DFIX.4.2=E2=98=BA9=3D137=E2=98=BA35=3D3=E2=98=BA34=3D273=E2=98=BA49=3D= JITESHPRICE=E2=98=BA52=3D20071019-16:55:55.406=E2=98=BA56=3DTTSIMPRICE=E2= =98=BA45=3D274=E2=98=BA58=3DIncorrect NumInGroup count for repeating = group=E2=98=BA371=3D268=E2=98=BA372=3DX=E2=98=BA10=3D237=E2=98=BA) Thanks, Jitesh -----Original Message----- From: Scott Riopelle [mailto:sri...@fo...]=20 Sent: Friday, October 19, 2007 1:14 PM To: JiteshT; qui...@li... Subject: RE: [Quickfix-developers] Problem receiving a 35=3DX = IncrRefreshMessage That isn't the message that is being rejected. Tag 45 in your reject = message points to the seqnum of the rejected message. In this case, it = points to message 272. The first message you included is message 273. -----Original Message----- From: qui...@li... = [mailto:qui...@li...] On Behalf Of = JiteshT Sent: Friday, October 19, 2007 1:10 PM To: qui...@li... Subject: [Quickfix-developers] Problem receiving a 35=3DX = IncrRefreshMessage QuickFIX Documentation: = http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html I have 2 applications built with QuickFIX. One is a sender, other a receiver. I'm reading in previously recorded price log files to read in data and = send it to the receiver app. The QuickFIX within the reciever app is not able to process the message, = and it rejects it with error msg: Incorrect NumInGroup count for repeating = group Here are the messages: <20071019-16:55:55, FIX.4.2:TTSIMPRICE->JITESHPRICE, outgoing> =20 (8=3DFIX.4.2=E2=98=BA9=3D159=E2=98=BA35=3DX=E2=98=BA34=3D273=E2=98=BA49=3D= TTSIMPRICE=E2=98=BA52=3D20071019-16:55:55.312=E2=98=BA56=3DJITESHP RICE=E2=98=BA262=3D10/19/2007 11:55:24 AM1=E2=98=BA268=3D1=E2=98=BA269=3D1=E2=98=BA270=3D154125=E2=98=BA271=3D30= 1=E2=98=BA279=3D1=E2=98=BA290=3D1=E2=98=BA387=3D 235166=E2=98=BA10455=3DESZ7=E2=98=BA10=3D122=E2=98=BA) <20071019-16:55:55, FIX.4.2:TTSIMPRICE->JITESHPRICE, incoming> =20 (8=3DFIX.4.2=E2=98=BA9=3D137=E2=98=BA35=3D3=E2=98=BA34=3D271=E2=98=BA49=3D= JITESHPRICE=E2=98=BA52=3D20071019-16:55:55.296=E2=98=BA56=3DTTSIMP RICE=E2=98=BA45=3D272=E2=98=BA58=3DIncorrect NumInGroup count for = repeating group=E2=98=BA371=3D268=E2=98=BA372=3DX=E2=98=BA10=3D2 40=E2=98=BA) Jitesh --=20 View this message in context: = http://www.nabble.com/Problem-receiving-a-35%3DX-IncrRefreshMessage-tf465= 4615.html#a13299015 Sent from the QuickFIX - Dev mailing list archive at Nabble.com. -------------------------------------------------------------------------= This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: JiteshT <ji...@ed...> - 2007-10-19 17:09:38
|
I have 2 applications built with QuickFIX. One is a sender, other a receiver. I'm reading in previously recorded price log files to read in data and send it to the receiver app. The QuickFIX within the reciever app is not able to process the message, an= d it rejects it with error msg: Incorrect NumInGroup count for repeating grou= p Here are the messages: <20071019-16:55:55, FIX.4.2:TTSIMPRICE->JITESHPRICE, outgoing> =20 (8=3DFIX.4.2=E2=98=BA9=3D159=E2=98=BA35=3DX=E2=98=BA34=3D273=E2=98=BA49=3DT= TSIMPRICE=E2=98=BA52=3D20071019-16:55:55.312=E2=98=BA56=3DJITESHP RICE=E2=98=BA262=3D10/19/2007 11:55:24 AM1=E2=98=BA268=3D1=E2=98=BA269=3D1=E2=98=BA270=3D154125=E2=98=BA271=3D301= =E2=98=BA279=3D1=E2=98=BA290=3D1=E2=98=BA387=3D 235166=E2=98=BA10455=3DESZ7=E2=98=BA10=3D122=E2=98=BA) <20071019-16:55:55, FIX.4.2:TTSIMPRICE->JITESHPRICE, incoming> =20 (8=3DFIX.4.2=E2=98=BA9=3D137=E2=98=BA35=3D3=E2=98=BA34=3D271=E2=98=BA49=3DJ= ITESHPRICE=E2=98=BA52=3D20071019-16:55:55.296=E2=98=BA56=3DTTSIMP RICE=E2=98=BA45=3D272=E2=98=BA58=3DIncorrect NumInGroup count for repeating group=E2=98=BA371=3D268=E2=98=BA372=3DX=E2=98=BA10=3D2 40=E2=98=BA) Jitesh --=20 View this message in context: http://www.nabble.com/Problem-receiving-a-35%= 3DX-IncrRefreshMessage-tf4654615.html#a13299015 Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
|
From: Sam S. <sa...@if...> - 2007-10-18 16:13:01
|
Hi,
=20
I need to a deep clone of a QuickFix message, retaining its type. I have
written the following method in C#.
=20
It seems to work.
=20
Having examine the C++ code of the fix library and the underlying types
I believe that this should do a by-value copy.
=20
Please can anyone let me know if there are any problems with this, or
there is a better way to do it?
=20
public static QuickFix.Message DeepCopyFixMessage
(QuickFix.Message inputMessage)
{
QuickFix.Message outputMessage;
=20
outputMessage =3D (QuickFix.Message)
System.Activator.CreateInstance (inputMessage.GetType ());
unsafe
{
outputMessage.setUnmanaged
(inputMessage.unmanaged ());
}
=20
return outputMessage;
}
Sam Smith
Intelligent Financial Systems Ltd
=20
|
|
From: Tron F. <tr...@gm...> - 2007-10-16 10:50:52
|
Hi all, We are testing initiator sessions, and we found an unexpected behaviour. If we have on the same quickfix application more than one initiator session (e.g., 3), there are a delay between socket connection and logon message sent to counterparty Here is the event log from one of this initiator sessions: 20071011-10:15:45 : Created session 20071011-10:16:29 : Connecting to 10.12.59.148 on port 8224 20071011-10:16:29 : Connection succeeded 20071011-10:22:48 : Initiated logon request It spents 6 minutes to send logon message. However, if we have only one initiator session, it begins the logon request immediately. I have checked the mail list and I found nothing similar to this.. Any ideas?? Thanks in advance Abel Monroy |
|
From: Steve B. <st...@te...> - 2007-10-15 19:30:05
|
> My question for the group: Is there an architectural reason why QuickFix > outperforms QuickFix/J? Or is this a case of C++ being faster than Java > in this problem domain (network programming and byte manipulation)? There's currently a lot of String manipulation in QFJ. Some of this could be optimized away. However, even in the best case the message fields are usually String fields. Converting to Java Unicode Strings from a byte array results in some extra processing compared to C/C++ strings. Is the C++ version using asynchronous I/O? In Java, asynchronous I/O is good for scaling to numerous simultaneous connections but can perform slightly worse than synchronous I/O in some situations. There are other places, like support for ordered fields, where microseconds could be shaved. Steve |
|
From: Ted G. <tg...@Co...> - 2007-10-15 19:05:28
|
I'm building an arbitrage system, so responding to FIX messages quickly is essential. I don't need to process hundreds of messages a second, but I need to respond to the messages that arrive very quickly. I wrote a simple Initiator client that just logs in. Once Logon is complete, I change the client's heartbeat interval to be very long, so the client quits sending HeartBeats. Therefore the server will send a TestRequest every few seconds, and QuickFix will respond with a heartbeat. I'm interested in the turnaround time to do that message processing. I used Wireshark to capture the network traffic so I could see how long it takes the client to respond. To make the times as fast as possible, I've done the following: + The Log level is WARN, so nothing is being logged + Using the MemoryStore for messages + UseDataDictionary, ValidateFieldsHaveValues, CheckCompID and CheckLatency are all turned off + SocketTcpNoDelay is turned on I did this for QuickFix, QuickFix/JNI, QuickFix from C# and QuickFix/J. I was pleased with how easy it was to get this test running using the various flavors of QuickFix. The average time to respond in MICROseconds is as follows: QuickFix: 235 QuickFix/JNI: 550 QuickFix/C#: 483 QuickFix/J: 501 I don't think the JVI vs .NET vs QuickFixJ differences are significant, but the C++ times are significantly faster than anything else. For the two Java apps, I spent some time tuning the JVM's params; I also tried the JRockit JVM. My question for the group: Is there an architectural reason why QuickFix outperforms QuickFix/J? Or is this a case of C++ being faster than Java in this problem domain (network programming and byte manipulation)? Thanks, Ted |
|
From: Anthony B. <ab...@ra...> - 2007-10-11 21:07:11
|
Looks like the problem may have been caused by a leading space between the SocketConnectHost= and the IP address. Is that possible? On 10/11/07, Oren Miller <or...@qu...> wrote: > > I would imagine his start time is within a good range, otherwise > QuickFIX wouldn't even attempt connection. > > --oren > > On Oct 11, 2007, at 11:44 AM, Federico Paolinelli wrote: > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > > html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > >> 20071010-22:32:28 : Created session > >> 20071010-22:32:28 : Connecting to <Remote Machine's IP> on port > >> <Remote > >> Machine's Port> > >> 20071010-22:40:53 : Created session > >> > >> That's it. Is my app ever getting a connection to the remote > >> computer? At > >> what point is this stuff breaking down? I'd like to be able to > >> tell the > >> guys at the brokerage exactly where I'm stuck but it's tough with > >> so little > >> experience. > >> > > > > Check also the start time in your configuration file and note that > > it is in UTC. > > > > Federico > > > > ---------------------------------------------------------------------- > > --- > > This SF.net email is sponsored by: Splunk Inc. > > Still grepping through log files to find problems? Stop. > > Now Search log events and configuration files using AJAX and a > > browser. > > Download your FREE copy of Splunk now >> http://get.splunk.com/ > > _______________________________________________ > > Quickfix-developers mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > |
|
From: <ec...@fi...> - 2007-10-11 19:16:33
|
I first added the following to the FIX44.xml file (in the MassQuote
mssage):
<group name=3D"NoStipulations" required=3D"N">
<field name=3D"StipulationType" required=3D"N"/>
<field name=3D"StipulationValue" required=3D"N"/>
</group>
I also tried variations of the 'required' attribute being 'Y', and also
tried adding the Stipulations component instead of the group. At the
other end of the spectrum, I attempted to add in the code for the group
to MassQuote.cs and MassQuote.h, then recompiled. I'm writing in C# and
running on Windows. Is it possible that there is something that I'm
overlooking? The raw messages appear correct, and the body count
matches the actual length that it is supposed to.
Thanks for your help!
Regards,
Everett
=20
-----Original Message-----
From: Oren Miller [mailto:or...@qu...]=20
Sent: Thursday, October 11, 2007 12:09 PM
To: Everett Conrad
Cc: qui...@li...
Subject: Re: [Quickfix-developers] How to add a new group to a message
You should be able to just add the group to the message in the data =20
dictionary.
--oren
On Oct 11, 2007, at 11:18 AM, econrad wrote:
> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/=20
> html/index.html
> QuickFIX Support: http://www.quickfixengine.org/services.html
>
>
> Hello!
>
> This is a simplification of an earlier post. If I wanted to add the
> 'NoStipulations' group (tags 232, 233, & 234) to the MassQuote =20
> message (I'm
> receiving these messages), how would I do this? Thanks in advance!
>
> Regards,
>
> Everett
>
> --=20
> View this message in context: http://www.nabble.com/How-to-add-a-=20
> new-group-to-a-message-tf4608314.html#a13159220
> Sent from the QuickFIX - Dev mailing list archive at Nabble.com.
>
>
> ----------------------------------------------------------------------
> ---
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a =20
> browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Quickfix-developers mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>
|
|
From: Oren M. <or...@qu...> - 2007-10-11 19:08:40
|
You should be able to just add the group to the message in the data dictionary. --oren On Oct 11, 2007, at 11:18 AM, econrad wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hello! > > This is a simplification of an earlier post. If I wanted to add the > 'NoStipulations' group (tags 232, 233, & 234) to the MassQuote > message (I'm > receiving these messages), how would I do this? Thanks in advance! > > Regards, > > Everett > > -- > View this message in context: http://www.nabble.com/How-to-add-a- > new-group-to-a-message-tf4608314.html#a13159220 > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a > browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Anthony B. <ab...@ra...> - 2007-10-11 18:19:26
|
So now I see my toAdmin get called:
toAdmin Message 8=<BeginString> =75 5=5 4=1 9=<SenderCompID>
2=20071011-17:57:15.570 6=<TargetCompID> 0=123
toAdmin Session <BeginString>:<SenderCompID>-><TargetCompID>
Then I get my onCreate called:
onCreate <BeginString>:<SenderCompID>-><TargetCompID>
After that nothing happens.
Also, I got some feedback from the broker:
We took a look at the logs today and see 2 issues that you are having in
your connection.
1. When your system connects to our FIX server we see the connection up but
your system then sends another connection request directly afterward and our
server rejects because it sees you already connected, along with that reject
we drop your connection.
2. When you do connect successfully we receive a sequence number of one and
we are expecting a higher number (ie. 5) but your system does not increment
sequence numbers therefore we reject the connection.
This was one of their logs:
2007/10/11 11:15:53:296: CommServer: Connection from : Socket[
209.131.123.229/<SocketConnectHost>,
port=3852,localport=<SocketConnectPort>] accepted and identified as:
RADIXFUND
2007/10/11 11:15:53:296: FIXPump: Received data on connection {RADIXFUND}
[8=<BeginString> 9=87 35=A 34=4 49=<SenderCompID>
52=20071011-16:14:45.83556=<TargetCompID> 98=0 108=20 10=164
]
2007/10/11 11:15:53:312: FIXConnectionData: Sending data on connection
{RADIXFUND} [8=<BeginString> 9=0083 35=A 34=5 49=<TargetCompID>
56=<SenderCompID> 52=20071011-16:15:53 98=0 108=20 10=05
1 ]
2007/10/11 11:15:53:312: FIXFormatter: FIX session established on
connection: RADIXFUND
2007/10/11 11:15:53:390: FIXFormatter: SENDING RESEND REQUEST - seq# begin:
2 end: 3 current: 2 to: RADIXFUND
2007/10/11 11:15:53:390: FIXConnectionData: Sending data on connection
{RADIXFUND} [8= <BeginString> 9=0080 35=2 34=6 49=<TargetCompID>
56=<SenderCompID> 52=20071011-16:15:53 7=2 16=3 10=137 ]
2007/10/11 11:15:53:406: FIXConnectionData: Socket disconnected by peer
2007/10/11 11:15:53:406: FIXConnectionData: FIX session terminated on
connection: RADIXFUND
On 10/11/07, Oren Miller <or...@qu... > wrote:
>
> I would imagine his start time is within a good range, otherwise
> QuickFIX wouldn't even attempt connection.
>
> --oren
>
> On Oct 11, 2007, at 11:44 AM, Federico Paolinelli wrote:
>
> > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/
> > html/index.html
> > QuickFIX Support: http://www.quickfixengine.org/services.html
> >
> >> 20071010-22:32:28 : Created session
> >> 20071010-22:32:28 : Connecting to <Remote Machine's IP> on port
> >> <Remote
> >> Machine's Port>
> >> 20071010-22:40:53 : Created session
> >>
> >> That's it. Is my app ever getting a connection to the remote
> >> computer? At
> >> what point is this stuff breaking down? I'd like to be able to
> >> tell the
> >> guys at the brokerage exactly where I'm stuck but it's tough with
> >> so little
> >> experience.
> >>
> >
> > Check also the start time in your configuration file and note that
> > it is in UTC.
> >
> > Federico
> >
> > ----------------------------------------------------------------------
> > ---
> > This SF.net email is sponsored by: Splunk Inc.
> > Still grepping through log files to find problems? Stop.
> > Now Search log events and configuration files using AJAX and a
> > browser.
> > Download your FREE copy of Splunk now >> http://get.splunk.com/
> > _______________________________________________
> > Quickfix-developers mailing list
> > Qui...@li...
> > https://lists.sourceforge.net/lists/listinfo/quickfix-developers
> >
>
>
|
|
From: Oren M. <or...@qu...> - 2007-10-11 16:48:39
|
I would imagine his start time is within a good range, otherwise QuickFIX wouldn't even attempt connection. --oren On Oct 11, 2007, at 11:44 AM, Federico Paolinelli wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > >> 20071010-22:32:28 : Created session >> 20071010-22:32:28 : Connecting to <Remote Machine's IP> on port >> <Remote >> Machine's Port> >> 20071010-22:40:53 : Created session >> >> That's it. Is my app ever getting a connection to the remote >> computer? At >> what point is this stuff breaking down? I'd like to be able to >> tell the >> guys at the brokerage exactly where I'm stuck but it's tough with >> so little >> experience. >> > > Check also the start time in your configuration file and note that > it is in UTC. > > Federico > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a > browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Federico P. <fed...@gm...> - 2007-10-11 16:44:18
|
> 20071010-22:32:28 : Created session
> 20071010-22:32:28 : Connecting to <Remote Machine's IP> on port <Remote
> Machine's Port>
> 20071010-22:40:53 : Created session
>
> That's it. Is my app ever getting a connection to the remote computer? At
> what point is this stuff breaking down? I'd like to be able to tell the
> guys at the brokerage exactly where I'm stuck but it's tough with so little
> experience.
>
Check also the start time in your configuration file and note that it is in UTC.
Federico
|