{{Quickfixn}} Upgrading Quickfix

Andrew Ramsaran aramsaran at jefferies.com
Fri Dec 2 14:00:52 PST 2016


Hi All,

We are switching our code from VS2010 QuickFix.Net Wrapper to VS2012 QuickFix/N.  There is syntax below that lives in 2010 but doesn’t exist in 2012 API.  Does anyone know if there is something similar to the below syntax in VS2012 QuickFix/N?

Ex)

QuickFix42.ExecutionReport execReport = new QuickFix42.ExecutionReport();

execReport.setString(execRprtFixMsg, false, m_DataDict);   <- This is in our 2010 code but doesn’t exist in quickfix API 2012

Thanks,
Andrew


From: Quickfixn [mailto:quickfixn-bounces at lists.quickfixn.com] On Behalf Of Annal SHRESTHA
Sent: Friday, December 02, 2016 9:33 AM
To: Mailing list for QuickFIX/n
Subject: Re: {{Quickfixn}} Getting Trade Capture Report after sending Trade Capture Report Request

Hi grant
I am trying to get values from custom fields .i do not see those fields in raw message that I receive.
Any suggestions would be appreciated.



Sent from my iPhone

On Nov 23, 2016, at 9:46 AM, Grant Birchmeier <gbirchmeier at connamara.com<mailto:gbirchmeier at connamara.com>> wrote:
As I said before, your OnMessage(TCRRA) is failing because TrdType is not in that message.  You can't get apple juice from an orange.  You should be seeing TagNotFoung errors, because your code is doing wrong things.

Yes, you do need an OnMessage(TCR).  That's where you'll find TrdType.  If you receive a TCR, this function will be triggered.



On Wed, Nov 23, 2016 at 10:27 AM, Annal Shrestha <annalshrestha at gmail.com<mailto:annalshrestha at gmail.com>> wrote:
Hi Grant,
Suggestion on how to crack and extract from TradeCaptureReport..
Currently i can get here

public void OnMessage(QuickFix.FIX44.TradeCaptureReportRequestAck m, SessionID s)
        {

            string TradeRequestID = m.GetField(new TradeRequestID()).ToString();
            string TrdType = m.GetField(new TrdType()).ToString();

            Console.WriteLine(TrdType);


        }

But i cannot get to below function.



public void OnMessage(QuickFix.FIX44.TradeCaptureReport m, SessionID s)
        {
            Console.WriteLine("Received Trade Capture Report:" + m.TradeReportID.ToString());

        }





On Wed, Nov 23, 2016 at 8:54 AM, Grant Birchmeier <gbirchmeier at connamara.com<mailto:gbirchmeier at connamara.com>> wrote:
About what?

What are you still confused about?


On Tue, Nov 22, 2016 at 9:16 AM, Annal SHRESTHA <annalshrestha at gmail.com<mailto:annalshrestha at gmail.com>> wrote:
Hi Grant
Do you have any suggestions?



Sent from my iPhone

On Nov 18, 2016, at 4:37 PM, Grant Birchmeier <gbirchmeier at connamara.com<mailto:gbirchmeier at connamara.com>> wrote:
TrdType is not found in TradeCaptureReportRequestAck.

I'm guessing you actually mean to crack and extract from TradeCaptureReport.

On Fri, Nov 18, 2016 at 5:16 PM, Annal Shrestha <annalshrestha at gmail.com<mailto:annalshrestha at gmail.com>> wrote:
Hi,
Now i am able to get the message back from ICE, however when i use the Getfield method, i get Tag  not found error. I have verified that the field exists in Fix44.xml fle. I am using below code to get the field value.
I can get the TradeRequestID but not other fields. It gives me "cracker exceptions" field not found for tag error.


     public void OnMessage(QuickFix.FIX44.TradeCaptureReportRequestAck m, SessionID s)
        {

            string TradeRequestID = m.GetField(new TradeRequestID()).ToString();
            string TrdType = m.GetField(new TrdType()).ToString();

            Console.WriteLine(TrdType);


        }






On Tue, Nov 15, 2016 at 12:09 PM, Grant Birchmeier <gbirchmeier at connamara.com<mailto:gbirchmeier at connamara.com>> wrote:
Yes.

http://quickfixn.org/tutorial/custom-fields-groups-and-messages.html<https://urldefense.proofpoint.com/v2/url?u=http-3A__quickfixn.org_tutorial_custom-2Dfields-2Dgroups-2Dand-2Dmessages.html&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=J7kxfUvTAHTgMEmLBWa53sJ72ceaNRcke5M-sVxQ6bQ&e=>

Note the part about repeating groups.  That part totally applies to your situation.

On Tue, Nov 15, 2016 at 12:53 PM, Annal Shrestha <annalshrestha at gmail.com<mailto:annalshrestha at gmail.com>> wrote:
I have not changed the Data Dictionary. Does DD need to have all the fields tat counterparty provides?


On Tue, Nov 15, 2016 at 11:24 AM, Grant Birchmeier <gbirchmeier at connamara.com<mailto:gbirchmeier at connamara.com>> wrote:
Check your log.  I'm sure you ARE getting the message, but your engine is rejecting it, because the fields are invalid according to your DD.  (Specifically: Your message includes fields that your DD does not expect.)

If you are not passing a FileLogFactory into your Application, do it.  Message logs are the single most important thing you need to diagnose problems.  Get comfortable reading raw FIX messages.

I'm confident that your problem is because you have not changed your DataDictionary XML file to match the counterparty's specifications.  They have certainly added a bunch of custom fields to their messages that your engine will not know about unless you add them to your DD.

On Tue, Nov 15, 2016 at 12:18 PM, Annal Shrestha <annalshrestha at gmail.com<mailto:annalshrestha at gmail.com>> wrote:
HI,
I sent the TradecaptureRequest to ICE as below and received the Acknowledgement. Now i am not sure how to get the TradeCaptureReport sent by ICE. Any help would be appreciated.



 private void QueryTradeCaptureReport()
        {
               DateTime dt = new DateTime(2016,11,01);
               DateTime dt_end = new DateTime(2016, 11, 12);

            QuickFix.FIX44.TradeCaptureReportRequest tradeReport = new QuickFix.FIX44.TradeCaptureReportRequest();
            tradeReport.SetField(new TradeRequestID("100"));
            tradeReport.SetField(new TradeRequestType(0));
            tradeReport.SetField(new SubscriptionRequestType('0'));

            tradeReport.SetField(new TransactTime(dt));
            tradeReport.SetField(new TradeDate(dt.ToString("yyyyMMdd")));
            tradeReport.SubscriptionRequestType = new SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT_PLUS_UPDATES);
            Session.SendToTarget(tradeReport, _session.SessionID);
        }

public void OnMessage(QuickFix.FIX44.TradeCaptureReportRequestAck m, SessionID s)
        {
            Console.WriteLine("Received Trade Capture Report ACK:"+ m.TradeRequestResult.ToString());

            Console.WriteLine(m.TradeRequestStatus);
        }

public void OnMessage(QuickFix.FIX44.TradeCaptureReport m, SessionID s)
{
Console.WriteLine("Received Trade Capture Report:" + m.TradeReportID.ToString());

}

_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
http://connamara.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__connamara.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=9w0kpfc3mpfFX2ergSTbIPUzrGFYsPBSZ1QZ9czLWiw&e=>

_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>


_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
http://connamara.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__connamara.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=9w0kpfc3mpfFX2ergSTbIPUzrGFYsPBSZ1QZ9czLWiw&e=>

_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>


_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
http://connamara.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__connamara.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=9w0kpfc3mpfFX2ergSTbIPUzrGFYsPBSZ1QZ9czLWiw&e=>
_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>

_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
http://connamara.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__connamara.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=9w0kpfc3mpfFX2ergSTbIPUzrGFYsPBSZ1QZ9czLWiw&e=>

_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>


_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
http://connamara.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__connamara.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=9w0kpfc3mpfFX2ergSTbIPUzrGFYsPBSZ1QZ9czLWiw&e=>
_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.quickfixn.com_listinfo.cgi_quickfixn-2Dquickfixn.com&d=DgMFaQ&c=at98YUjdpaXJP3eUxjsXyw&r=erPLkBRmT4A6bK-WHQPmFG1EO9dkOjoRE5_wf53MHOQ&m=GGR0FCbuEHTuuUSPkXczE1YdxBHpyCtOzWSmg4Emloo&s=F8z6XAoLdoZW9sP9UI3L1q1KG3w9Pkk8W8W9EHnOMQ8&e=>

Jefferies archives and monitors outgoing and incoming e-mail. The contents of this email, including any attachments, are confidential to the ordinary user of the email address to which it was addressed. If you are not the addressee of this email you may not copy, forward, disclose or otherwise use it or any part of it in any form whatsoever. This email may be produced at the request of regulators or in connection with civil litigation. Jefferies accepts no liability for any errors or omissions arising as a result of transmission. Use by other than intended recipients is prohibited. In the United Kingdom, Jefferies operates as Jefferies International Limited; registered in England: no. 1978621; registered office: Vintners Place, 68 Upper Thames Street, London EC4V 3BJ. Jefferies International Limited is authorized and regulated by the Financial Conduct Authority.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20161202/3b7d21dd/attachment-0001.htm>


More information about the Quickfixn mailing list