{{Quickfixn}} re question RE: Quickfixn Digest, Vol 10, Issue 23

Jonathan Hodgson jhodgson at temenos.com
Tue Aug 14 07:09:12 PDT 2012


Hi Mike and Grant,

 Thanks for the earlier replies, I didn't reply for a while as I was trying not to ask too many questions, I think it's starting to sink in the way it works , I include the original question and answers at the end.



My objective is to be able to receive just execution reports from Bloomberg and use that data for a VB application. The Deals will be entered on a Bloomberg console and Bloomberg have told me they will send execution reports to me on a designated port and IP address. My initial understanding was to setup a tcp/ip listening socket and process the data (not using quickfix terminology here), but if I was to use the quick fix ending it looks like I could use an initiator like (using your recommendation) the program listed below and override the execution message once Bloomberg send it?

Am I understanding this correctly and how can I get the simple acceptor example to send an execution report? Is this what Bloomberg run? Is this the equivalent of your Acceptor socket???



I am using the following initiator vb.net program
Imports QuickFix
Module Module1
    'QuickFIX engine environment variables
    Public mySessionSettings As SessionSettings
    Public myApplication As Application
    Public myStoreFactory As FileStoreFactory
    Public myMessageFactory As DefaultMessageFactory
    Public myLogFactory As ScreenLogFactory
    Public myInitiator As QuickFix.Transport.SocketInitiator
    Public LoggedOn As Boolean

    Sub Main()
        mySessionSettings = New SessionSettings("C:\Source\Bespoke Software\TTFIX\QuickFixConsoleApp\QuickFixConsoleApplication\myconfig.cfg")
        myApplication = New Application
        myStoreFactory = New FileStoreFactory(mySessionSettings)
        myMessageFactory = New DefaultMessageFactory
        myLogFactory = New ScreenLogFactory(True, True, True)
        myInitiator = New QuickFix.Transport.SocketInitiator(myApplication, myStoreFactory, mySessionSettings, myLogFactory)
        myInitiator.start()

        Do
            'Find something to do while waiting
       Loop While LoggedOn = False
    End Sub

End Module
....
Public Class Application
    Implements QuickFix.Application

Public Overloads Sub onMessage(ByVal message As QuickFix.FIX44.ExecutionReport, ByVal Param As QuickFix.SessionID)

        System.Console.WriteLine()

       'Call my VB application with deal information

   End Sub
End Class

...

With the following config file

[DEFAULT]

ConnectionType=initiator

ReconnectInterval=2

FileStorePath=c:\fixfiles



StartTime=00:00:00

EndTime=00:00:00

UseDataDictionary=N

DataDictionary=C:\fixfiles\Dictionary\

HttpAcceptPort=9911

SocketConnectHost=127.0.0.1

SocketConnectPort=5001

FileLogPath=c:\fixfiles\logs\



LogoutTimeout=5

ResetOnLogon=Y



# standard config elements



[SESSION]

# inherit ConnectionType, ReconnectInterval and SenderCompID from default

BeginString=FIX.4.4

SenderCompID=CLIENT1

TargetCompID=SIMPLE

HeartBtInt=30



I am connecting to the simple client







Original question and responses

(question)
I have been asked to use the quickfix engine if possible (with the possibility to utilise the full fix engine functionality at a later date) to just receive the execution report (and interface this with an application), Is it possible to do this from within an acceptor socket. Or should I just write a simple socket program monitoring the port and stream the raw fix execution report data to my application for processing?
Thanks
Jonathan



(reply from Grant)

" I'm not clear on your question.I think you're asking if you can use the engine just to parse an Execution report, and not actually to connect to an interface, right?  Yes, I think this is doable.

I'm not sure where an "acceptor socket" would it in to your question.  In FIX terms, an Acceptor is a server and an Initiator is a client.  If your app is going to connect to a server and listen for ExecRpts, your app is going to need to be an Initiator. Your further questions about sockets are confusing me.  Are you connecting to a FIX counterparty or not?"



(reply from Mike)

"If you are connecting to bloomberg e.g. to receive dropcopies, you want to create an Initiator app.  It will handle all the socket connection and FIX session protocol details for you.  Take a look at the TradeClient example app that comes with QF/n to get started."

O



The information in this e-mail and any attachments is confidential and may be legally privileged. 
It is intended solely for the addressee or addressees. Any use or disclosure of the contents 
of this e-mail/attachments by a not intended recipient is unauthorized and may be unlawful. 
If you have received this e-mail in error please notify the sender. 
Please note that any views or opinions presented in this e-mail are solely those of the author and 
do not necessarily represent those of TEMENOS. 
We recommend that you check this e-mail and any attachments against viruses. 
TEMENOS accepts no liability for any damage caused by any malicious code or virus transmitted by this e-mail.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20120814/55fcaf59/attachment.htm>


More information about the Quickfixn mailing list