quickfix-developers Mailing List for QuickFIX (Page 125)
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: Robert P. <rob...@gm...> - 2006-11-15 18:41:20
|
HI Folks, I'm trying to build a simply gateway based on QuickFIX with the python bindings, and the Twisted framework (http://twistedmatrix.com). I'm finding some kind of threading issue. My aim is to wrap the quickfix engine with a simple RPC container, so that one can connect to the daemon and invoke calls like "start", "stop", "subscribe to data" etc. The twisted framework provides an asynchronous networking layer to do so. However things seem to lock up when I invoke the SocketInitiator.start() method. I can start up the service, and create the QuickFIX application, and setup and configure the various QuickFIX components, ala: class MyQFService: def __init__ settings = quickfix.SessionSettings(configFile) application = MyQFClient(connStr) storeFactory = quickfix.OdbcStoreFactory(settings) logFactory = quickfix.OdbcLogFactory(settings) self.quickfixSettings = settings self.quickfixApplication = application self.quickfixStoreFactory = storeFactory self.quickfixLogFactory = logFactory self.quickfixInitiator = quickfix.SocketInitiator(application, storeFactory, settings, logFactory) When a remote "START" command is issued, the main thread of the twisted code calls the SocketInitiator to start the QuickFIX thread: def startQF(self): log.msg("QuickFIX Engine starting.") self.quickfixInitiator.start() log.msg("QuickFIX Engine started.") return defer.succeed("STARTED") At this point, the quickfix engine thread starts, and I see logon, heartbeats, and other admin messages. The log message immediately after the start() call executes, and returns correctly. However, the main thread of the Twisted application seems to block entirely, and I don't get any response from the application on subsequent RPC attempts. At this point the appliction also stops responding to Ctrl-C on the command line, when before it would gracefully terminate. It seems as if the quickfix thread has taken over, or more likely is completely blocking the main twisted thread. Any thoughts on what might be happening here? My first guess is that it has to do with logging, but I can't be sure. thanks for any insight, rob |
|
From: Oren M. <or...@qu...> - 2006-11-15 15:35:11
|
> I'm just guessing here, but I'd guess the onCreate call is probably > running on your main thread (you instantiate a QF Application- > derived object, which creates the sessions, which call the > "onCreate" callback), while the onLogout is coming from the > internal QF socket thread (this is an asynchronous callback). The > first one works because you are in the "main" or "GUI" thread, > while the second one fails because you are on a different thread. Bingo. Likewise toApp is called from the thread sendToTarget was called from, and fromApp is called from the QuickFIX thread. But this and the above scenario isn't always the case (think poll and block instead of start), and this behavior might not always be the case in the future (possible addition of a sending thread in the future). So really in a forms app I would always recommend using Invoke and InvokeRequired when updating a control from a QuickFIX callback. --oren |
|
From: Oren M. <or...@qu...> - 2006-11-15 15:24:38
|
Before you access a windows forms control you must make sure you are in the form thread. See Invoke and InvokeRequired. http://msdn2.microsoft.com/en-us/library/ system.windows.forms.control.invoke.aspx http://msdn2.microsoft.com/en-us/library/ system.windows.forms.control.invokerequired.aspx --oren On Nov 15, 2006, at 8:21 AM, cstrader wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I have a weird problem in vb.net 2005 that is causing me major > headaches. The problem is that some commands given within > quickfix functions do not execute. > > For instance, > > This sub writes to both the console and the textbox: > Public Sub onCreate(ByVal sessionID As QuickFix.SessionID) > Implements QuickFix.Application.onCreate > > Console.write("ONCREATE") > > Form1.TextBox1.Text = "ONCREATE" > > End Sub > > But although this sub writes to the console, it does NOT write to > form1.textbox1!!! > > > > Public Sub onLogout(ByVal sessionID As QuickFix.SessionID) > Implements QuickFix.Application.onLogout > > Console.write("ONLOGOUT") > > Form1.TextBox1.Text = "LOGOUT" > > End Sub > > Also, the ToApp sub is OK in this regard, but the FromApp sub does > not print to the textbox either??? > > thanks! > > > chuck > > > > ----- Original Message ----- > From: John Haldi > To: cstrader > Sent: Wednesday, October 25, 2006 9:26 AM > Subject: RE: Any luck? > > Its very common for NetAdmins to disable pinging from external > IPs. But you need to get the broker's IT guy on the phone and > explain that you're trying to connect to their FIX engine and see > if he can determine whether there are any permission issues > preventing you from connecting. > > From: cstrader [mailto:cst...@cs...] > Sent: Wednesday, October 25, 2006 10:12 AM > To: John Haldi > Subject: Re: Any luck? > > No...but thanks for asking. > > If I can't ping the ip address my broker has given me, and there is > no reason that I can think of on my end, what do you think that means? > > > ----- Original Message ----- > From: John Haldi > To: cstrader > Sent: Wednesday, October 25, 2006 10:01 AM > Subject: Any luck? > > > > -------------------------------------- > John Haldi > Allagash Trading, LLC > 120 Broadway, 20th Floor > New York, NY 10271 > 212.433.3958 > jo...@al... > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV________________________________ > _______________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Brian E. <azz...@ya...> - 2006-11-15 15:23:47
|
You're probably having a threading issue. The .NET framework controls do no= t handle calls to them from other threads especially well (sometimes they w= ork, other times they don't).=0A=0AI'm just guessing here, but I'd guess th= e onCreate call is probably running on your main thread (you instantiate a = QF Application-derived object, which creates the sessions, which call the "= onCreate" callback), while the onLogout is coming from the internal QF sock= et thread (this is an asynchronous callback). The first one works because y= ou are in the "main" or "GUI" thread, while the second one fails because yo= u are on a different thread.=0A=0AI'm not sure how VB.NET handles this (I'm= a C# guy myself), but in the C# world you have to check the control's "Inv= okeRequired" property, and if true, use its "Invoke" method to create a mes= sage that gets handled by the GUI thread.=0A=0A=0AA quick and dirty example= :=0A=0Aprivate delegate void SessionIDDelegate(SessionID sessionID);=0A=0Ap= ublic void onLogout(SessionID sessionID)=0A{=0A // Are we on the main GU= I thread?=0A if (Form1.TextBox.InvokeRequired)=0A {=0A // No - = call this function on the main GUI thread=0A Form1.TextBox.Invoke(ne= w SessionIDDelegate(onCreate), new Object[]{sessionID});=0A }=0A else= =0A {=0A // We're on the main GUI thread - safe to update control= s=0A Console.Write("ONLOGOUT");=0A Form1.TextBox.Text =3D "LO= GOUT";=0A }=0A}=0A=0AHope this helps.=0A=0A- Brian Erst=0AThynk Software= , Inc.=0A=0A----- Original Message ----=0AFrom: cstrader <cstrader232@cstra= der.com>=0ATo: qui...@li...=0ASent: Wednesday,= November 15, 2006 8:21:13 AM=0ASubject: [Quickfix-developers] Function pro= blem in vb.net=0A=0AQuickFIX Documentation: http://www.quickfixengine.org/q= uickfix/doc/html/index.html=0AQuickFIX Support: http://www.quickfixengine.o= rg/services.html=0A=0A=0A=0A=0A =0A =0A=0A=0AI have a weird =0Aproblem in v= b.net 2005 that is causing me major headaches. The =0Aproblem is that som= e commands given within quickfix functions do not =0Aexecute.=0A=0A =0A=0AF= or instance,=0A=0A =0A=0AThis sub writes to both the console and the =0Atex= tbox:=0A=0A=0APublic Sub onCreate(ByVal sessionID As QuickFix.SessionID) Im= plements =0AQuickFix.Application.onCreate=0A=0A Console.write("ONCREATE"= )=0A=0A Form1.TextBox1.Text =3D "ONCREATE"=0A=0AEnd Sub=0A=0ABut althoug= h this =0Asub writes to the console, it does NOT write to =0Aform1.textbox1= !!!=0A=0A=0A=0A=0APublic Sub onLogout(ByVal sessionID As QuickFix.SessionID= ) Implements QuickFix.Application.onLogout=0A=0A=0A Console.write("ONLOG= OUT")=0A=0A Form1.TextBox1.Text =3D "LOGOUT"=0A=0AEnd Sub=0A=0AAlso, the= ToApp sub =0Ais OK in this regard, but the FromApp sub does not print to t= he textbox =0Aeither???=0A=0Athanks!=0A=0A =0A=0Achuck=0A=0A =0A=0A =0A=0A= =0A=0A ----- Original Message ----- =0A=0A From: =0A John Haldi =0A =0A= =0A To: cstrader =0A=0A Sent: Wednesday, October 25, 2006 9:26 =0A AM=0A= =0A Subject: RE: Any luck?=0A=0A =0A=0A=0A Its very common for NetAdmins= to disable pinging from =0A external IPs. But you need to get the broker= 's IT guy on the phone and =0A explain that you're trying to connect to th= eir FIX engine and see if he can =0A determine whether there are any permi= ssion issues preventing you from =0A connecting.=0A=0A=0A =0A =0A From:= cstrader =0A [mailto:cst...@cs...] =0ASent: Wednesday, Octobe= r 25, 2006 =0A 10:12 AM=0ATo: John Haldi=0ASubject: Re: Any =0A luck?=0A= =0A=0A=0A =0A=0A No...but thanks for asking.=0A=0A =0A=0A If I can't p= ing the ip address my broker has =0A given me, and there is no reason that= I can think of on my end, what do you =0A think that means?=0A=0A =0A= =0A =0A=0A =0A ----- Original Message ----- =0A=0A From: =0A Jo= hn Haldi =0A =0A=0A To: cstrader =0A=0A Sent: Wednesday, October 2= 5, 2006 10:01 =0A AM=0A=0A Subject: Any luck?=0A=0A =0A=0A=0A = =0A=0A =0A=0A --------------------------------------=0A=0A John H= aldi=0A=0A Allagash Trading, LLC=0A=0A 120 Broadway, 20th =0AFloor=0A= =0A New York, NY 10271=0A=0A 212.433.3958=0A=0A jo...@al...= =0A=0A =0A-------------------------------------------------------------= ------------=0ATake Surveys. Earn Cash. Influence the Future of IT=0AJoin S= ourceForge.net's Techsay panel and you'll get the chance to share your=0Aop= inions on IT & business topics through brief surveys - and earn cash=0Ahttp= ://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3DDEVDEV= =0A_______________________________________________=0AQuickfix-developers ma= iling lis...@li...=0Ahttps://lists.sour= ceforge.net/lists/listinfo/quickfix-developers=0A=0A=0A=0A |
|
From: cstrader <cst...@cs...> - 2006-11-15 14:43:48
|
I have a weird problem in vb.net 2005 that is causing me major = headaches. The problem is that some commands given within quickfix = functions do not execute. For instance, This sub writes to both the console and the textbox: Public Sub onCreate(ByVal sessionID As QuickFix.SessionID) Implements = QuickFix.Application.onCreate Console.write("ONCREATE") Form1.TextBox1.Text =3D "ONCREATE" End Sub But although this sub writes to the console, it does NOT write to = form1.textbox1!!! Public Sub onLogout(ByVal sessionID As QuickFix.SessionID) Implements = QuickFix.Application.onLogout Console.write("ONLOGOUT") Form1.TextBox1.Text =3D "LOGOUT" End Sub Also, the ToApp sub is OK in this regard, but the FromApp sub does not = print to the textbox either??? thanks! chuck ----- Original Message -----=20 From: John Haldi=20 To: cstrader=20 Sent: Wednesday, October 25, 2006 9:26 AM Subject: RE: Any luck? Its very common for NetAdmins to disable pinging from external IPs. = But you need to get the broker's IT guy on the phone and explain that = you're trying to connect to their FIX engine and see if he can determine = whether there are any permission issues preventing you from connecting. -------------------------------------------------------------------------= ----- From: cstrader [mailto:cst...@cs...]=20 Sent: Wednesday, October 25, 2006 10:12 AM To: John Haldi Subject: Re: Any luck? No...but thanks for asking. If I can't ping the ip address my broker has given me, and there is no = reason that I can think of on my end, what do you think that means? ----- Original Message -----=20 From: John Haldi=20 To: cstrader=20 Sent: Wednesday, October 25, 2006 10:01 AM Subject: Any luck? -------------------------------------- John Haldi Allagash Trading, LLC 120 Broadway, 20th Floor New York, NY 10271 212.433.3958 jo...@al... |
|
From: Aitch <har...@ho...> - 2006-11-15 02:28:59
|
Hi all - where was the error occurring Ajay, as I seem to be having problem= s with QuickFIX not validating messages due to "Incorrect NumInGroup count" too. I'm the initiator of the session, and am having trouble finding what the message received is exactly, as this erroneous one doesnt get sent to the fromAdmin method. The message I'm sending previous to it is a MarketDataRequest which seems to be sent over to the receipient fine, then the next message I see is in toApp: toadmin 8=3DFIX.4.3=019=3D130=0135=3D3=0134=3D3=0149=3DXXXX=0152=3D20061115-00:33:3= 4.928=0156=3DXXXX=0145=3D3=0158=3DIncorrect NumInGroup count for repeating group=01371=3D268=01372=3DW=01373=3D16=0110= =3D054=01 =01 The message I'm receiving which causes the above error message doesn't trigger the fromAdmin method - how can i view the message concerned? Thanks Ajay Kamdar wrote: >=20 > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html >=20 > I don't know if the component/repeating group validation problem exists > in QuickFIX 1.12. I had to make a couple of fixes and a minor extension > to QF 1.11 source code (there wasn't a way to layer them on top) to make > it work for my project. I submitted those source code changes since > they were generically useful, but since they weren't picked up it makes > the barrier to upgrade a little bit higher for me. I will certainly let > you know my results when I get the chance to reapply my changes to > current QuickFIX version and retest. >=20 > Regards, >=20 > - Ajay >=20 > -----Original Message----- > From: Oren Miller [mailto:or...@qu...]=20 > Sent: Tuesday, October 24, 2006 12:35 PM > To: Ajay Kamdar > Cc: San...@ub...; qui...@li... > Subject: Re: [Quickfix-developers] How to stop quickfix validation? >=20 >=20 > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html >=20 > Do you have an example of this? Does this problem still exist in 1.12? >=20 > --oren >=20 >> 2) The validation logic for nested repeating groups and components=20 >> doesn't always work correctly in QF 1.11.1. I had submitted a patch to >=20 >> fix the validation logic a couple of months back, but I don't >> believe it >> got picked up. Once you get past #1, chances are you might run =20 >> problems >> with QF's validation logic for nested repeating groups and components. >> >> HTH, >> >> - Ajay >=20 > -------------------------------------------------------------------------= -- >=20 > The information in this email is confidential and may be legally > privileged. > It is intended solely for the addressee. Access to this email by anyone > else > is unauthorized. If you are not the intended recipient, any disclosure, > copying, > distribution or any action taken or omitted to be taken in reliance on it= , > is > prohibited and may be unlawful. >=20 > TradeWeb reserves the right to monitor and review the content of all > messages sent > to or from this e-mail address. Messages sent to or from this e-mail > address may > be stored on the TradeWeb e-mail system. >=20 >=20 > ------------------------------------------------------------------------- > 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 Geronim= o > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers >=20 >=20 --=20 View this message in context: http://www.nabble.com/How-do-you-determine-va= lid-tags-for-a-message--tf2482860.html#a7350956 Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
|
From: Djalma R. d. S. F. <drs...@gm...> - 2006-11-14 13:38:47
|
As, far as I know this is not possible without changes in quickfix source code. But I think that this is a good feature request! On 11/14/06, Chris Griggs <ch...@gr...> wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > I too am getting the error > > c:\data\project\include\quickfix/Exceptions.h(249) : error C2664: > 'FormatMessageW' : cannot convert parameter 5 from 'char [2048]' to > 'unsigned short *' > > using Visual Studio 6. Is there anyway of using QuickFIX with a project > that is already using Unicode? > > Thanks, > > Chris Griggs. > > ------------------------------ > *From:* qui...@li... [mailto: > qui...@li...] *On Behalf Of *Djalma > Santos Filho > *Sent:* 31 October 2006 19:20 > *To:* qui...@li... > *Cc:* Oren Miller > *Subject:* Re: [Quickfix-developers] Compile error in Exceptions.h > > >> Error 1 error C2664: 'FormatMessage' : cannot convert > parameter > >> 5 from 'char [2048]' to 'LPTSTR' > >> c:\source\quickfix\quickfix > > > > \include\quickfix\Exceptions.h 247 > > > Brian, > > It seems to be an error related to unicode. > You cannot compile quickfix with unicode. > Thus, in your project settings go to: > > Configuration Properties | General | Character Set > and change it to Use Multi-Byte Character Set. > > BR, > Djalma > > On 10/31/06, Oren Miller <or...@qu... > wrote: > > > > QuickFIX Documentation: > > http://www.quickfixengine.org/quickfix/doc/html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > Were you also trying to create a custom message? Were you ever able > > to compile your project? > > > > --oren > > > > On Oct 31, 2006, at 2:22 AM, briancurtin wrote: > > > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > > > html/index.html > > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > > > > > > I'm seeing this same issue currently and I was wondering if Mike > > > Smith or > > > anyone else has come across it and would be willing to pass on a > > > hint or > > > two. > > > > > > I'm new to QuickFIX (and FIX on the whole) and this is the first > > > application > > > I'm writing from scratch, using the tradeclient example somewhat as > > > a guide > > > in places. Everything else in my project compiles fine, it's just > > > the error > > > that Mike has below is holding things back. > > > > > > Thanks, > > > > > > Brian Curtin > > > > > > What causes this FormatMessage error to > > > > > > Mike Smith-14 wrote: > > >> > > >> QuickFIX Documentation: > > >> http://www.quickfixengine.org/quickfix/doc/html/index.html > > >> QuickFIX Support: http://www.quickfixengine.org/services.html > > >> > > >> I'm currently writing a Session Acceptor program in Visual Studio > > >> 2005 > > >> C++. I wanted to create a custom message type to pass back to the > > >> initiator. So, what I did was... > > >> > > >> 1. Create a TraderLogon.h file under quickfix_vs8->Message->Message > > >> Header->fix42. > > >> 2. Update MessageCracker.h under the same directory structure. > > >> 3. Updated Values.h under Field Header Files directory. > > >> > > >> I then compiled quickfix_vs8 and everything was fine. > > >> > > >> I then went to compile my acceptor application and got the following > > >> error. > > >> > > >> Error 1 error C2664: 'FormatMessage' : cannot convert > > parameter > > >> 5 from 'char [2048]' to 'LPTSTR' > > >> c:\source\quickfix\quickfix\include\quickfix\Exceptions.h 247 > > >> > > >> I couldn't figure out how to get past this, so I backed out all my > > >> changes and recompiled quickfix_vs8. I then recompiled my acceptor > > >> application, but I still get the same error. > > >> > > >> I know this is pretty obscure, but does anyone know how I might > > >> get past > > >> this? > > >> > > >> Thanks, > > >> > > >> Mike > > > > > > > > ------------------------------------------------------------------------- > > 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 > > > > > ------------------------------------------------------------------------- > 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: Chris G. <ch...@gr...> - 2006-11-14 11:50:37
|
I too am getting the error c:\data\project\include\quickfix/Exceptions.h(249) : error C2664: 'FormatMessageW' : cannot convert parameter 5 from 'char [2048]' to 'unsigned short *' using Visual Studio 6. Is there anyway of using QuickFIX with a project that is already using Unicode? Thanks, Chris Griggs. _____ From: qui...@li... [mailto:qui...@li...] On Behalf Of Djalma Santos Filho Sent: 31 October 2006 19:20 To: qui...@li... Cc: Oren Miller Subject: Re: [Quickfix-developers] Compile error in Exceptions.h >> Error 1 error C2664: 'FormatMessage' : cannot convert parameter >> 5 from 'char [2048]' to 'LPTSTR' >> c:\source\quickfix\quickfix \include\quickfix\Exceptions.h 247 Brian, It seems to be an error related to unicode. You cannot compile quickfix with unicode. Thus, in your project settings go to: Configuration Properties | General | Character Set and change it to Use Multi-Byte Character Set. BR, Djalma On 10/31/06, Oren Miller <or...@qu... <mailto:or...@qu...> > wrote: QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html Were you also trying to create a custom message? Were you ever able to compile your project? --oren On Oct 31, 2006, at 2:22 AM, briancurtin wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ <http://www.quickfixengine.org/quickfix/doc/> > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I'm seeing this same issue currently and I was wondering if Mike > Smith or > anyone else has come across it and would be willing to pass on a > hint or > two. > > I'm new to QuickFIX (and FIX on the whole) and this is the first > application > I'm writing from scratch, using the tradeclient example somewhat as > a guide > in places. Everything else in my project compiles fine, it's just > the error > that Mike has below is holding things back. > > Thanks, > > Brian Curtin > > What causes this FormatMessage error to > > Mike Smith-14 wrote: >> >> QuickFIX Documentation: >> http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> I'm currently writing a Session Acceptor program in Visual Studio >> 2005 >> C++. I wanted to create a custom message type to pass back to the >> initiator. So, what I did was... >> >> 1. Create a TraderLogon.h file under quickfix_vs8->Message->Message >> Header->fix42. >> 2. Update MessageCracker.h under the same directory structure. >> 3. Updated Values.h under Field Header Files directory. >> >> I then compiled quickfix_vs8 and everything was fine. >> >> I then went to compile my acceptor application and got the following >> error. >> >> Error 1 error C2664: 'FormatMessage' : cannot convert parameter >> 5 from 'char [2048]' to 'LPTSTR' >> c:\source\quickfix\quickfix\include\quickfix\Exceptions.h 247 >> >> I couldn't figure out how to get past this, so I backed out all my >> changes and recompiled quickfix_vs8. I then recompiled my acceptor >> application, but I still get the same error. >> >> I know this is pretty obscure, but does anyone know how I might >> get past >> this? >> >> Thanks, >> >> Mike ------------------------------------------------------------------------- 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 <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642> &kid=120709&bid=263057&dat=121642 _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: John G. <joh...@wa...> - 2006-11-14 08:19:14
|
Hi there, (very timely indeed) >Given that the subject seems to a popular one, perhaps QF configuration >should be extended to add a "LoginStartTime" and "LoginEndTime". These >would default to the Start/EndTimes of the session, but if populated, >would allow users to spool orders prior to the start of trading. Would look to me quite logical, provided what seems to me the most needed enhancement : that QF would not *silently* drop anything it receives before StartTime and after EndTime. I don't know, throw an exception, log it somewhere, end the program, nuke the moon, whatever, but not "fail" *silently*. >In this scenario, "session" start and end times would define the period >where QF accepts orders, >and "login" start and end times would define the period where the >opposite side will accept orders. Orders outside the "session" times >would still be rejected/dropped. ... with according notice please :-) I would be very happy with this solution. Sincerely, JG |
|
From: John G. <joh...@wa...> - 2006-11-14 08:07:20
|
> John, I think the discussion is one of semantics. You are saying > that (times used as an example), you wish to have a session time that > starts at 9:00 AM, but want to send this future session orders at > 8:30 AM. Indeed a question of semantics seen this way. > What I am saying is that you're session time actually starts at 8:30 > AM, but you do not want to logon until 9:00 AM. Absolutely, 100% correct. But then as I was saying, it is pointless for QF to have these settings, I can control the times my programs embedding QF will run by totally outside means. I can start them at 08:25 so they are ready to pile up orders and send them whenever QF settings says they should (immediately or later on). > Which is something you have control over. And which I did not know :-/ As far as I understood, these were two "melted" concepts, i.e. session starttime was the logon-time. Thanks a lot for this information, and could you please point me to the correct settings as far as logon/logout is concerned ? TIA JG |
|
From: Nick F. <ni...@ox...> - 2006-11-14 07:45:26
|
I'm sorry, I don't understand what you are talking about? FIX 4.2 allows you send OrderStatusRequests to ask about pending orders, and allows you get ExecutionReports to tell you your order status. As for positions, it isn't very hard to keep track of them yourself. Nick -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of cstrader Sent: 13 November 2006 16:57 To: qui...@li... Subject: [Quickfix-developers] Generic question QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html QuickFIX Support: http://www.quickfixengine.org/services.html It seems like a lot of brokers only support fix4.2. How do you guys survive without being able to see your pending orders and positions? tia |
|
From: Oren M. <or...@qu...> - 2006-11-13 19:39:56
|
That seems like a pretty reasonable solution. As long as QuickFIX validates that the LogonTime time ranges are within the SessionTime, I think this could be a reasonable solution. I would consider calling them instead LogonTime and LogoutTime as I think it is a little more descriptive as to their intent and they do not necessarily need to be paired together. (BTW, I am aware that the corollary to Logon is Logoff, but the FIX protocol mixed them up so QuickFIX does as well to match terminology with the spec). But yeah, I think it is a good idea to use the Session times as defaults. If you could check the session time behavior again that would be helpful. Their has indeed been a lot done since 1.9.2 so I wouldn't rely on the past behavior as a reliable indicator of how 1.12 operates. There is a good chance that this particular problem has been resolved. --oren On Nov 13, 2006, at 1:00 PM, Brian Erst wrote: > Oren - > > Given that the subject seems to a popular one, perhaps QF > configuration should be extended to add a "LoginStartTime" and > "LoginEndTime". These would default to the Start/EndTimes of the > session, but if populated, would allow users to spool orders prior > to the start of trading. I know a lot of users have standard sets > of orders that are submitted at the start of each day, and others > that have order management systems that are live prior to trading > that allow users to submit orders that will be sent to the exchange > as soon as the trading session begin. > > In this scenario, "session" start and end times would define the > period where QF accepts orders, and "login" start and end times > would define the period where the opposite side will accept orders. > Orders outside the "session" times would still be rejected/dropped. > > In regards the possible bug, in previous releases overlapping > session times (start time is "after" end time) has caused problems, > especially on weekly sessions. I used to have a session defined > from Sunday at 16:30 to Sunday at 16:25 (essentially resetting the > session once a week on Sunday afternoon) and it caused no end of > problems, but this was using QF 1.9.2. I know I, and others, have > made patches to the SessionTime objects since and these may have > fixed that problem. But we modified our sessions to reset around > midnight on Sunday (session starts Sunday at 0:05 and ends Saturday > at 23:55), so I'm not sure if it ever got resolved. > > - Brian > |
|
From: Brian E. <azz...@ya...> - 2006-11-13 19:00:29
|
Oren -=0A=0AGiven that the subject seems to a popular one, perhaps QF confi= guration should be extended to add a "LoginStartTime" and "LoginEndTime". T= hese would default to the Start/EndTimes of the session, but if populated, = would allow users to spool orders prior to the start of trading. I know a l= ot of users have standard sets of orders that are submitted at the start of= each day, and others that have order management systems that are live prio= r to trading that allow users to submit orders that will be sent to the exc= hange as soon as the trading session begin.=0A=0AIn this scenario, "session= " start and end times would define the period where QF accepts orders, and = "login" start and end times would define the period where the opposite side= will accept orders. Orders outside the "session" times would still be reje= cted/dropped.=0A=0AIn regards the possible bug, in previous releases overla= pping session times (start time is "after" end time) has caused problems, e= specially on weekly sessions. I used to have a session defined from Sunday = at 16:30 to Sunday at 16:25 (essentially resetting the session once a week = on Sunday afternoon) and it caused no end of problems, but this was using Q= F 1.9.2. I know I, and others, have made patches to the SessionTime objects= since and these may have fixed that problem. But we modified our sessions = to reset around midnight on Sunday (session starts Sunday at 0:05 and ends = Saturday at 23:55), so I'm not sure if it ever got resolved.=0A=0A- Brian= =0A=0A----- Original Message ----=0AFrom: Oren Miller <oren@quickfixengine.= org>=0ATo: G=F6hring Alexander <ale...@el...>=0ACc: quickfi= x-d...@li...=0ASent: Monday, November 13, 2006 11:33:= 09 AM=0ASubject: Re: [Quickfix-developers] messages lost during EndOfDay=0A= =0AQuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/= index.html=0AQuickFIX Support: http://www.quickfixengine.org/services.html= =0A=0A=0AWow, how timely.=0A=0AThis is related to the discussion the John = and I have been having. You actually want behavior that both of us agreed = was a bad idea. You are saying that messages sent after session close on t= he previous day should go out on the next session. I would argue that this= is would be very surprising behavior to most people and would result in so= me very angry emails. This is the exact situation I was referring to where= someone is pumping out orders end of day and comes in late on a couple tha= t get sent after session close. No big deal, but I bet they would be shock= ed to find those orders going out the next day based on market data that is= no longer relevant.=0A=0A=0AThis is why QuickFIX makes no assumptions abou= t messages sent outside of a session time. If the session does not exist, = the message does not go out. That leaves no question in anybody's mind and= requires no assumptions on the part of the engine as to intent. QuickFIX = will not attempt to send message sent outside of a session any more than a = tcp socket will try to send packets sent outside of a connection.=0A=0A=0AT= hat being said, there clearly is a bug here. But I would say that the bug = is that sendToTarget should be returning false in this scenario.=0A=0A=0AOt= herwise the behavior is as intended. Once the sendToTarget return value is= fixed, you can use that to determine which messages QuickFIX has accepted = and which it has not. You would then send them on the next available sessi= on (when you receive your onLogon callback).=0A=0A=0A--oren=0A=0AOn Nov 13,= 2006, at 10:29 AM, G=F6hring Alexander wrote:=0AHello quickfix developers/= users, =0AWith QuickFIX Version 1.12.4 I observe the following behavior usi= ng the c++ examples tradeclient and executor: =0AThe fix session utc start = and end times on both sides are configured as follows: =0AStartTime=3D15:55= :00 =0AEndTime=3D15:50:00 =0AIf a new order is entered using the tradeclien= t after the EndTime, e.g. at 15:52 utc, the FIX::Session::sendToTarget API = call returns successfully and the tradeclient application prints the outgoi= ng message. Due to the session time configuration, the message has not yet = been sent from the tradeclient to the executor. The message resides in the = tradeclient's message store, having a message sequence number of 1.=0AAs so= on as the StartTime is reached again (15:55), the tradeclient application l= ogs on to the executor, but the new order will not be sent. Reviewing the t= radeclient's message store shows, that the message store has been cleaned u= p and does only contain the logon and subsequent heartbeat messages between= the tradeclient and executor.=0AThis behavior causes messages that are sen= t between end and start time to be 'lost'. I expected the new order message= to be sent as soon as the new FIX session has been established.=0A- Is thi= s behavior of QuickFIX correct or is it a bug ? =0A- If this behavior is in= tented, what additional steps / API calls are required to ensure, that mess= ages sent between two FIX sessions (after end and before start time), get t= ransmitted ?=0ARegards, =0A alex goehring=0A=0A=0A=0A----------------------= ---------------------------------------------------=0AUsing Tomcat but need= to do more? Need to support web services, security?=0AGet stuff done quick= ly with pre-integrated technology to make your job easier=0ADownload IBM We= bSphere Application Server v.1.0.1 based on Apache Geronimo=0Ahttp://sel.as= -us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D121642=0A_____= __________________________________________=0AQuickfix-developers mailing li= st=...@li...=0Ahttps://lists.sourceforge.= net/lists/listinfo/quickfix-developers=0A=0A=0A=0A |
|
From: Oren M. <or...@qu...> - 2006-11-13 17:37:56
|
Wow, how timely. This is related to the discussion the John and I have been having. =20 You actually want behavior that both of us agreed was a bad idea. =20 You are saying that messages sent after session close on the previous =20= day should go out on the next session. I would argue that this is =20 would be very surprising behavior to most people and would result in =20 some very angry emails. This is the exact situation I was referring =20 to where someone is pumping out orders end of day and comes in late =20 on a couple that get sent after session close. No big deal, but I =20 bet they would be shocked to find those orders going out the next day =20= based on market data that is no longer relevant. This is why QuickFIX makes no assumptions about messages sent outside =20= of a session time. If the session does not exist, the message does =20 not go out. That leaves no question in anybody's mind and requires =20 no assumptions on the part of the engine as to intent. QuickFIX will =20= not attempt to send message sent outside of a session any more than a =20= tcp socket will try to send packets sent outside of a connection. That being said, there clearly is a bug here. But I would say that =20 the bug is that sendToTarget should be returning false in this scenario. Otherwise the behavior is as intended. Once the sendToTarget return =20 value is fixed, you can use that to determine which messages QuickFIX =20= has accepted and which it has not. You would then send them on the =20 next available session (when you receive your onLogon callback). --oren On Nov 13, 2006, at 10:29 AM, G=F6hring Alexander wrote: > Hello quickfix developers/users, > > With QuickFIX Version 1.12.4 I observe the following behavior using =20= > the c++ examples tradeclient and executor: > > The fix session utc start and end times on both sides are =20 > configured as follows: > StartTime=3D15:55:00 > EndTime=3D15:50:00 > > If a new order is entered using the tradeclient after the EndTime, =20 > e.g. at 15:52 utc, the FIX::Session::sendToTarget API call returns =20 > successfully and the tradeclient application prints the outgoing =20 > message. Due to the session time configuration, the message has not =20= > yet been sent from the tradeclient to the executor. The message =20 > resides in the tradeclient's message store, having a message =20 > sequence number of 1. > > As soon as the StartTime is reached again (15:55), the tradeclient =20 > application logs on to the executor, but the new order will not be =20 > sent. Reviewing the tradeclient's message store shows, that the =20 > message store has been cleaned up and does only contain the logon =20 > and subsequent heartbeat messages between the tradeclient and =20 > executor. > > This behavior causes messages that are sent between end and start =20 > time to be 'lost'. I expected the new order message to be sent as =20 > soon as the new FIX session has been established. > > - Is this behavior of QuickFIX correct or is it a bug ? > - If this behavior is intented, what additional steps / API calls =20 > are required to ensure, that messages sent between two FIX sessions =20= > (after end and before start time), get transmitted ? > > Regards, > alex goehring |
|
From: cstrader <cst...@cs...> - 2006-11-13 17:01:31
|
It seems like a lot of brokers only support fix4.2. How do you guys = survive without being able to see your pending orders and positions? tia |
|
From: Oren M. <or...@qu...> - 2006-11-13 16:53:40
|
Hi Ulrik, Dynamic session is definitely something that has come up before and I do indeed think it's about time we did something to support them. Keep in mind though, that even with dynamic session support (just meaning that an acceptor will accept any session id and create a session object for it on the fly), you still cannot share Sender/ Target compids. (The potential use of subids as part of a sessionid doesn't really help out here either since these connections must be unique at one level instead of another). Each incoming connection must have a unique session ID or a FIX engine would not be able to differentiate them. So the incoming client applications would need to at least differentiate themselves with their sender IDs. There are a lot of ways you could potentially accomplish this with your clients to generate a unique sender compid for each session. If you do not have control over the clients (they are written by third parties), then you need to coordinate with them on a system for compids. --oren On Nov 13, 2006, at 8:13 AM, Ulrik Hede wrote: > Hi QuickFix people. > > I'm considering using quickfix to build a simple message router/ > proxy. The main function of the router is to pass messages in > unmodified form between two socketlistner fix session - basically > just reverting the direction of the connection. So a one to one fix > session relationship that might be extended to real routing with > many to one FIX sessions in the future. > > But a few questions pops up about that design. > > QuickFix does not seem to support multible sessions with the same > sender/target COMPID combination. > > Can message routing be implemented at a relatively low level in the > quickfix framework so I do not have to override message specific > methoods for all messages and FIX version ? > > Would it be possible to make the router require no configuration, > so that all incoming connections are accepted regardless of COMPID > combination and a coorespondig listening session programmically > created ? > > I'm sorry if these questions are naive but I'm a complete QF newbee. > > Regards > > Ulrik |
|
From: Oren M. <or...@qu...> - 2006-11-13 16:43:54
|
John, I think the discussion is one of semantics. You are saying that (times used as an example), you wish to have a session time that starts at 9:00 AM, but want to send this future session orders at 8:30 AM. What I am saying is that you're session time actually starts at 8:30 AM, but you do not want to logon until 9:00 AM. Which is something you have control over. --oren > I perfectly know I do. When it's Monday morning and I got something > like > one or two thousand orders to flush, it does take some time in my > internal > systems, and I garantee you I won't wait until it's session time to > flush > them or else I'll miss the opening of the market. So if I have a > counterparty that accepts connection before being ready to really > receive > orders and who asks me not to connect before a certain time, I am > screwed. > Which is exactly what is happening right now. > >> It's hard to tell where the line gets drawn. If you are pumping >> a bunch of message >> through at the end of the day and a couple get pushed through after >> the session closes, should QuickFIX try to send those orders when the >> next session opens up the next day. > > End of day is indeed another story, but can be solved easily enough by > having an endtime half an hour after the market closes, which is > necessary anyway to get back late executions reports. And it is my > job as > a sender of the orders to format them according to the fix > protocole so > that the counterparty knows when they expire. |
|
From: <ale...@el...> - 2006-11-13 16:41:18
|
Hello quickfix developers/users, With QuickFIX Version 1.12.4 I observe the following behavior using the = c++ examples tradeclient and executor: The fix session utc start and end times on both sides are configured as = follows: StartTime=3D15:55:00 EndTime=3D15:50:00 If a new order is entered using the tradeclient after the EndTime, e.g. = at 15:52 utc, the FIX::Session::sendToTarget API call returns = successfully and the tradeclient application prints the outgoing = message. Due to the session time configuration, the message has not yet = been sent from the tradeclient to the executor. The message resides in = the tradeclient's message store, having a message sequence number of 1. As soon as the StartTime is reached again (15:55), the tradeclient = application logs on to the executor, but the new order will not be sent. = Reviewing the tradeclient's message store shows, that the message store = has been cleaned up and does only contain the logon and subsequent = heartbeat messages between the tradeclient and executor. This behavior causes messages that are sent between end and start time = to be 'lost'. I expected the new order message to be sent as soon as the = new FIX session has been established. - Is this behavior of QuickFIX correct or is it a bug ? - If this behavior is intented, what additional steps / API calls are = required to ensure, that messages sent between two FIX sessions (after = end and before start time), get transmitted ? Regards, alex goehring |
|
From: Oren M. <or...@qu...> - 2006-11-13 16:35:42
|
Paul, You can control this with the logon/logoff methods on the session object. In this way you can control whether you would like a session to logon, or stay logged off during holidays. Also, session times can be set on a per session basis, not a per initiator basis. As long as you place the session time in the SESSION section instead of the DEFAULT section, you can have a different session time for each session even while running within the same initiator. --oren On Nov 13, 2006, at 8:48 AM, PaulVR wrote: > Our current implementation has one initiator per session (one > initiator > manages one session and there are as many initiators as there are > sessions). > According to QuickFIX documentation, one initiator can manage as many > sessions as is required and I presume that having one initiator > manage all > sessions is the preferred approach; we seem to have problems on > termination > when sessions take too long to close, even though we call initiator's > close() method with 'force' set to 'true': ...->close(true). > > I was considering changing this and using one initiator instead of > many but > there is one thing I am not too sure as to how to handle, and this is > opening and closing of sessions. Naturally QuickFIX engine handles > their > working hours and it is even possible to specify their working days > but it > does not handle holidays and, since it lives in GMT, I am not too > sure how > it would handle sessions with sufficiently different time zones > (hypothetically, what will happen if the time zone is 9 hours ahead > of GMT > and opening time is 8:00 GMT). Our current implementation starts/ > stops the > initiator which will start/stop the session it manages but I could > not find > a mechanism that would allow me to micro-manage sessions in this > way if they > are all managed by the same initiator. > > Thank you. > > Paul |
|
From: PaulVR <p.r...@gm...> - 2006-11-13 14:49:07
|
Our current implementation has one initiator per session (one initiator manages one session and there are as many initiators as there are sessions). According to QuickFIX documentation, one initiator can manage as many sessions as is required and I presume that having one initiator manage all sessions is the preferred approach; we seem to have problems on termination when sessions take too long to close, even though we call initiator's close() method with 'force' set to 'true': ...->close(true). I was considering changing this and using one initiator instead of many but there is one thing I am not too sure as to how to handle, and this is opening and closing of sessions. Naturally QuickFIX engine handles their working hours and it is even possible to specify their working days but it does not handle holidays and, since it lives in GMT, I am not too sure how it would handle sessions with sufficiently different time zones (hypothetically, what will happen if the time zone is 9 hours ahead of GMT and opening time is 8:00 GMT). Our current implementation starts/stops the initiator which will start/stop the session it manages but I could not find a mechanism that would allow me to micro-manage sessions in this way if they are all managed by the same initiator. Thank you. Paul -- View this message in context: http://www.nabble.com/Starting-and-Stopping-Individual-Sessions-tf2622748.html#a7318214 Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
|
From: Ulrik H. <ulr...@ho...> - 2006-11-13 14:13:33
|
Hi QuickFix people. I'm considering using quickfix to build a simple message router/proxy. The main function of the router is to pass messages in unmodified form between two socketlistner fix session - basically just reverting the direction of the connection. So a one to one fix session relationship that might be extended to real routing with many to one FIX sessions in the future. But a few questions pops up about that design. QuickFix does not seem to support multible sessions with the same sender/target COMPID combination. Can message routing be implemented at a relatively low level in the quickfix framework so I do not have to override message specific methoods for all messages and FIX version ? Would it be possible to make the router require no configuration, so that all incoming connections are accepted regardless of COMPID combination and a coorespondig listening session programmically created ? I'm sorry if these questions are naive but I'm a complete QF newbee. Regards Ulrik _________________________________________________________________ Download din yndlingsmusik på MSN Music: http://www.msn.dk/music - det er nemt og billigt |
|
From: Djalma R. d. S. F. <drs...@gm...> - 2006-11-13 11:20:55
|
Hi Chris, >>C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\Winsock2.h >>(99) : error C2011: 'fd_set' : 'struct' type redefinition C:\Program Files\Microsoft Visual >>Studio\VC98\INCLUDE\Winsock2.h(134) : warning C4005: 'FD_SET' : macro redefinition >> C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(83) : see >>previous definition of 'FD_SET' By seeing your compiler errors, It it is clear that you have a conflict with winsock and winsock2. If the trick with _WINSOCKAPI_ did not work, maybe you have another header besides windows.h that is also including winsock.h (maybe another library). See that the trick is more difficult to use if you do not have a stdafx.h(pre-compiled header). You need to guarantee that the definition is made before windows.h is included. Djalma Rosa dos Santos Filho On 11/13/06, Chris Griggs <ch...@gr...> wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > I'm afraid that hasn't done the trick. Is there anything else I can try? > > Chris Griggs. > > On Fri, 10 Nov 2006 13:26:51 -0300, "Djalma Rosa dos Santos Filho" > <drs...@gm...> wrote: > > > Hi Chris, > > > > > > I am not sure if this is the same, but I had similar problem in the > past. > > > Try doing the following: #define _WINSOCKAPI_ before including > windows.h > > > and > > > the redefinition errors should disappear. > > > > > > #define _WINSOCKAPI_ > > > // _WINSOCKAPI_ prevents inclusion of winsock.h in windows.h > > > // quickfix requires linking with winsock2 > > > ... > > > #include <windows.h> > > > ... > > > > > > BR, > > > Djalma Rosa dos Santos Filho > > ------------------------------------------------------------------------- > 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: Chris G. <ch...@gr...> - 2006-11-13 09:31:48
|
I'm afraid that hasn't done the trick. Is there anything else I can try? Chris Griggs. On Fri, 10 Nov 2006 13:26:51 -0300, "Djalma Rosa dos Santos Filho" <drs...@gm...> wrote: > > Hi Chris, > > > > I am not sure if this is the same, but I had similar problem in the past. > > Try doing the following: #define _WINSOCKAPI_ before including windows.h > > and > > the redefinition errors should disappear. > > > > #define _WINSOCKAPI_ > > // _WINSOCKAPI_ prevents inclusion of winsock.h in windows.h > > // quickfix requires linking with winsock2 > > ... > > #include <windows.h> > > ... > > > > BR, > > Djalma Rosa dos Santos Filho |
|
From: John G. <joh...@wa...> - 2006-11-12 19:14:16
|
> Posting has been very active. There is apparently something wrong > with the SourceForge mailing list archive. The quickfix mailing > lists are also archived at gmane and nabble: > http://www.nabble.com/QuickFIX---Dev-f1041.html > http://dir.gmane.org/gmane.comp.finance.quickfix.devel Thanks a lot for these links, I'll check these out tomorrow as soon as I get to work. > > This is logical for an ACCEPTOR, but is both pointless (and with side > > effects) for an INITIATOR. > > Not sure what the difference is. The only difference between an > initiator and acceptor is who initiates the connection. Other than > this there is nothing in the FIX spec that differentiates their > behavior. They are considered pears. You are correct, I tend (wrongly) to assume the initiator sends the orders and the acceptor collects them. What I meant is : if I am giving a new order single to quickfix for sending as soon as the session starts, then I don't want QF to *silently* drop the order. I know what I want to send, QF does not and it never will be it's job to know. In fact I don't even understand the purpose of StartTime if anything given to QF before it is start my program at the time I want to, I don't need a deceiving internal parameter. > > 2) as we depend on the counterparty to detect unsent messages, if the > > sequence numbers are not incremented, the orders are never sent. > > True, but if you are sending outside of the session time, you are > sending on a session that does not really exist. I perfectly know I do. When it's Monday morning and I got something like one or two thousand orders to flush, it does take some time in my internal systems, and I garantee you I won't wait until it's session time to flush them or else I'll miss the opening of the market. So if I have a counterparty that accepts connection before being ready to really receive orders and who asks me not to connect before a certain time, I am screwed. Which is exactly what is happening right now. > It's hard to tell where the line gets drawn. If you are pumping a bunch of message > through at the end of the day and a couple get pushed through after > the session closes, should QuickFIX try to send those orders when the > next session opens up the next day. End of day is indeed another story, but can be solved easily enough by having an endtime half an hour after the market closes, which is necessary anyway to get back late executions reports. And it is my job as a sender of the orders to format them according to the fix protocole so that the counterparty knows when they expire. Sincerely, JG |
|
From: Regis D. <reg...@ho...> - 2006-11-12 13:21:04
|
The problem with my code comes from the "virtual function call" exception. I found an old thread on the forum's archive: http://sourceforge.net/mailarchive/message.php?msg_id=18915195 but that does not tell how to fix the problem? Can anyone help me with this? -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.409 / Virus Database: 268.14.3/530 - Release Date: 11/11/2006 |