Requesting currency exchange on FIX-Protocol - fix-protocol

I need a bit of help, I'm new with this protocol and kind of lost, I need to retrieve a currency exchange price (USD/LOCALCURRENCY) with this protocol and kind of stuck, this is my current flow:
My_APP | FIX_SERVER
------------------------------------------------------------------------------------
LOGIN 35=A >
< LOGIN_OK 35=A
MarketDefinitionRequest 35=BT >
< Definition 35=BU
MarketDataRequest 35=V >
< MarketDataIncrementalRefresh 35=X
LOGIN_OUT 35=5 >
< LOGIN_OUT_OK 35=5
The messages 35=X (I request 269=0 and 269=1), does seem to be want I want, but they're delivered not as quick as it supposed to be and not even sure if this is the right area (market data).
Can anyone give me a bit of light on this?.
Thanks.

Related

Understanding better ExecutionReport QuickFix

I am newbie on Fix in general and I have started from QuickFix to make practice. I apology in advance from the following trivial questions.
I have understood that to handle ExecutionReport I need to use crack() method inside FromApp() and implementing OnMessage().
But what I have two questions :
1) What happens if during a Partially fill order ExecutionReport message suddenly session drops, which is the way to handle this situation. Trying to reconnect and Send a request ? Please Can you provide a simple explanation in steps and what QuickFix Api method should I use ?
2) If I need to implement a FixEngine to handle dropcopy should I be aware of something in particular ?
Thank you for your help
1). Just make sure ResetOnDisconnect parameter is set to N for your trading session: ResetOnDisconnect=N (docs)
QuickFix will be automatically attempting to reconnect every ReconnectInterval seconds;
Once connected (with ResetOnDisconnect=N) it will also automatically exchange last known message sequence numbers with the FIX server, and the ones lost during the disconnection will be re-sent - so without a line of code you will receive the missing messages.
Also, if disconnection was for a longer period of time, you may want to send Order Status Request (H) message to the FIX server to receive actual ExecutionReport for your pending orders.
2) The question is too general for me to answer...

Confirmation Message [Type 'AK'] and ConfirmationAck Message [Type 'AU']

I am using Quickfixn to create Buy side application and using the Quickfix 4.4.I am looking for creation of Confirmation message( type 'AK' ) and ConfirmationAck message [type 'AU'].Can anyone tell me how is the flow of the confirmation message[type 'AK'] and ConfirmationAck [type 'AU']?? And can anyone also provide me with sample Confirmation message and ConfirmationAck message or the links,websites regarding it???
Fiximate is the website you can refer to to check the message structure and what all fields represent.
I am currently dealing with Allocation Instruction(J) messages which send out AK and AU messages. You send acoss a new trade message to your counterparty(broker). Your broker sends and ack(P) and tries to fulfill your order.
When the order is fulfilled, they will send across AK to confirm your order has been fulfilled. Next step is you decide if you accept the allocations assigned to you. If you are happy/not happy with the allocations you send across AU saying you accept(reject) the allocations and want the allocations to be redone, if required. This is how the message flows.

Microsoft Outlook Message When Emailing in Progress Application

There is a below code, does not work
FOR EACH customer where customer.contactmethod = 'E':
MESSAGE "EMAILING TO" customer.customerCode customer.CustomerName.
RUN Emaling.p (INPUT parameter 1,INPUT pramater 2 ....)
END.
When this above loop executes it, it messages the first customer only. The reason I found is the outlook message.
The Outlook message is below
"A program is trying to send an email message on your behalf. if this is unexpected, clikc Deny and verify your antivirus software is upto date......................................."
if user click allow/deny in the outlook message, it does not message the second customer as it is stuck in first customer.
How can I suppress this outlook message using 4gl code?
The key to that is inside your "Emaling.p" procedure. Whatever technique that code is using to send email needs to be adjusted to bypass the security check.
Or you could disable whatever it is that is popping up that message. It looks like some over-zealous Windows security setting.
In any case it has nothing much to do with the 4gl code that you have shown.
Having said that -- your code is obviously incomplete and as shown would not be expected to work at all. Maybe it doesn't really look anything like that but a more workable version of the code above would be:
FOR EACH customer NO-LOCK where customer.contactmethod = 'E': /* without the NO-LOCK you might be aggravating a transaction scoping problem... */
MESSAGE "EMAILING TO" customer.customerCode customer.CustomerName.
do on error undo, leave: /* this may help to keep processing even if errors occur */
RUN Emaling.p (INPUT parameter 1,INPUT pramater 2 ....). /* you forgot the "." and knowing the rest of the parameters might help to suggest ways to get around the reported problem */
end.
END.

separate email from original email using perl

When people email each other, they generally include the original email in their reply to a sender, adding a little more information each time to the email. Each email client seems to have a different way of adding the original email to a reply.
I need to parse email arriving at our mail server and try and extract the new part of the message, and I'm wondering if there is a sensible way to strip this appended (or prepended) information (the "original message") and just get the new information in a mail body? I believe sadly, that there is no encoding, the original email is simply added to the new message, but I thought I'd check with the experts?
thanks.
No, there is no simple, straightforward algorithm to separate quoted or forwarded text from new content. Quoting and forwarding are poorly standardized and different conventions have existed at different times.
Having said that, e.g. Google's Gmail succeeds fairly well in practice. With enough samples, you can clearly come up with reasonable heuristics.
Good indicators for quoted material are forwarded (pseudo-) headers and indented text, perhaps with a quote indicator along the left margin before the quoted text. You occasionally see outdents as well.
Traditionally, on Usenet in the early 1990s, people would use different, unique quoting styles.
: ~ | This seems to be the original.
: ~ This is the first reply.
: This is the second reply.
This is the third reply, quoting the
previous three messages in sequence.
Around 1995, both clients and standardization initiatives by and large converged on "wedge" quotes;
> >> This seems to be the original.
> > This is the first reply.
> This is the second reply.
This is the third reply, quoting the
previous three messages in sequence.
Then along came Microsoft and ruined it all. I suppose that top quoting makes sense in some corporate settings where you quickly need to collect all the background from a thread to a new participant, but even for that purpose it's a horrible abomination.
This is the third reply, quoting the
previous three messages in sequence.
---- Begin forwarded message ----
From: Him [smtp:bogus]
To: His Friend
Subject: VS: Re: Same as on this message
Date: nothing machine-readable
This is the second reply.
---- Alkuperäinen viesti ----
Lähettäjä: His Friend [smtp:poppycock]
Saaja: Some Guy
Aihe: Re: Same as on this message
Päivämäärä: olisiko eilen ehkä
This is the first reply.
----- Original message ----
From: Somebody Else [smtp:mindless]
To: Some Guy
Subject: Same as on this message
Date: like, the day before
This seems to be the original.

issue with elang (yaws_soap_lib based) soap client

I have python's based soap server and tried to call it functions using erlang (yaws_soap_lib based) soap client:
1> inets:start().
ok
2> yaws_soap_lib:call("http://127.0.0.1:90/soap/system/wsdl","cpu_count",[]).
{ok,undefined,undefined}
here is what I was able to see with tcpdump program (answer of server to client):
HTTP/1.1.200.OK..Date:.Wed,.20.Oct.2010.15:56:11.GMT..Server:.Apache/2.2.15.(Unix).mod_wsgi/2.5.Python/2.5.2..Content-Length:.276..Content-Type:.text/xml
< SOAP-ENV:Envelope.xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance".xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > < SOAP-NV:Body> < cpu_countResponse>< cpu_countResult.xsi:type="xs:int">2< /cpu_countResult>< /cpu_countResponse>< /SOAP-ENV:Body>< /SOAP-ENV:Envelope>
as one can see in envelope server answer 2, but yaws_soap_lib:call was not able to see that 2 in the answer. is there an option to fix the issue?
Thanks.
I suspect you have not specified NS prefix, which is by default "P" or "p" (I can't remember). So whenever you receive response soap client is not able to deserialize it, because it is represented in erlsom model as a record 'P:cpu_countResponse'.