Imported from previous forum
Require help in the following case explained with an example:
Our OMS has multiple connections. Through one connection (let us say ‘A’) it receives New order, Amend/Cancel request which it passes to another connection (let us say ‘B’) for execution. After the order is executed the fills are sent back to connection ‘A’.
Our OMS wants to have one more FIX connection i.e. ‘C’ to which it will send all orders and fills. This connection is nothing but a copy of all the transactions i.e. orders (New as well as Amend/Cancel) and fills. No new order will be initiated from this session.
My questions:
- In a single FIX connection will there be a problem if we sent a new order and execution message?
- What points have to be considered in this FIX session? What care will we need to take?
Regards,
Shakir
Hi Shakir,
If I understood you wanted to have a copy of all the transaction. I am not a guru but if you are using UNIX platform (even Windows), this can easily done by having a script sending a copy of all the orders to a specific folder. This is not only soved your problem but can help you maintain your system as well.
For 1) In a single FIX connection will there be a problem if we sent a new order and execution message?
If you meant that you have one port used, then I believe you can, because it should be a Duplex.
For your information, there was a session already about this subject, have a look at the past Discussion “Basic questions” it will help you.
Good Luck
joel
Require help in the following case explained with an example:
Our OMS has multiple connections. Through one connection (let us say
‘A’) it receives New order, Amend/Cancel request which it passes to
another connection (let us say ‘B’) for execution. After the order is
executed the fills are sent back to connection ‘A’.Our OMS wants to have one more FIX connection i.e. ‘C’ to which it will
send all orders and fills. This connection is nothing but a copy of all
the transactions i.e. orders (New as well as Amend/Cancel) and fills. No
new order will be initiated from this session.My questions:
- In a single FIX connection will there be a problem if we sent a new
order and execution message?- What points have to be considered in this FIX session? What care will
we need to take?Regards, Shakir
Thanks Joel for your response.
Yes. I want a copy of orders received from one FIX sesion to be available to another FIX connection. The orders will be released to the exchange on the 3rd FIX connection. There will be different sender/target comp IDs for individual connections. The port may or may not be the same.
A script is one solution but whether we can maintain it in another FIX session is the question.
Normally a FIX session will send order requests and receive fills. But what I am looking is that whether there will be any issue if we maintain one session which will not only be receiving orders but also executions from the same session.
Will there be any issue and what points will I have consider in this session? In case of session disconnection, what points will I need to look at re-connection? All order and trade information will need to be passed on-line which would mean that amend/cancel request will also need to be updated in that session.
Regards,
Shakir
Hi Shakir,
If I understood you wanted to have a copy of all the transaction. I am
not a guru but if you are using UNIX platform (even Windows), this can
easily done by having a script sending a copy of all the orders to a
specific folder. This is not only soved your problem but can help you
maintain your system as well.For 1) In a single FIX connection will there be a problem if we sent a
new order and execution message?If you meant that you have one port used, then I believe you can,
because it should be a Duplex.For your information, there was a session already about this subject,
have a look at the past Discussion “Basic questions” it will help you.Good Luck
joel
Require help in the following case explained with an example:
Our OMS has multiple connections. Through one connection (let us say
‘A’) it receives New order, Amend/Cancel request which it passes to
another connection (let us say ‘B’) for execution. After the order is
executed the fills are sent back to connection ‘A’.Our OMS wants to have one more FIX connection i.e. ‘C’ to which it
will send all orders and fills. This connection is nothing but a copy
of all the transactions i.e. orders (New as well as Amend/Cancel) and
fills. No new order will be initiated from this session.My questions:
- In a single FIX connection will there be a problem if we sent a new
order and execution message?- What points have to be considered in this FIX session? What care
will we need to take?Regards, Shakir
Hi Shakir,
You are describing a “Drop Copy” FIX session. This is common practice. It is not a problem to pass all orders and executions outbound to a single FIX session.
Some things to watch out for (using the session names in your example):
- When you receive messages from session A to send to B, you will also copy it to C. In doing so, you will need to consider what happens if you have a failure sending to C.
Specifically, do you want to interrupt traffic going from A to B if there is a problem sending to C? Or do you want to queue C traffic and let A to B traffic continue? Your code will have to implement this decision.
-
You will also want to suppress incoming traffic from C so any messages (such as spurious rejects, etc.) do not flow back to A or B.
-
Typically, you can keep the original compid’s from each fix message as you copy it to C, but some FIX recipients will be confused by this and you may need to update the SenderCompID to that defined for the C session (and perhaps move it to OnBehalfOfCompID). Same with TargetCompID (and perhaps move to DeliverToCompID).
Regards, Greg.
Require help in the following case explained with an example:
Our OMS has multiple connections. Through one connection (let us say
‘A’) it receives New order, Amend/Cancel request which it passes to
another connection (let us say ‘B’) for execution. After the order is
executed the fills are sent back to connection ‘A’.Our OMS wants to have one more FIX connection i.e. ‘C’ to which it will
send all orders and fills. This connection is nothing but a copy of all
the transactions i.e. orders (New as well as Amend/Cancel) and fills. No
new order will be initiated from this session.My questions:
- In a single FIX connection will there be a problem if we sent a new
order and execution message?- What points have to be considered in this FIX session? What care will
we need to take?Regards, Shakir
Thanks Greg.
You have answered my query/concern.
Regards,
Shakir
Hi Shakir,
You are describing a “Drop Copy” FIX session. This is common practice.
It is not a problem to pass all orders and executions outbound to a
single FIX session.Some things to watch out for (using the session names in your example):
- When you receive messages from session A to send to B, you will also
copy it to C. In doing so, you will need to consider what happens if
you have a failure sending to C.Specifically, do you want to interrupt traffic going from A to B if
there is a problem sending to C? Or do you want to queue C traffic
and let A to B traffic continue? Your code will have to implement
this decision.
You will also want to suppress incoming traffic from C so any
messages (such as spurious rejects, etc.) do not flow back to A or B.Typically, you can keep the original compid’s from each fix message
as you copy it to C, but some FIX recipients will be confused by this
and you may need to update the SenderCompID to that defined for the C
session (and perhaps move it to OnBehalfOfCompID). Same with
TargetCompID (and perhaps move to DeliverToCompID).Regards, Greg.
Require help in the following case explained with an example:
Our OMS has multiple connections. Through one connection (let us say
‘A’) it receives New order, Amend/Cancel request which it passes to
another connection (let us say ‘B’) for execution. After the order is
executed the fills are sent back to connection ‘A’.Our OMS wants to have one more FIX connection i.e. ‘C’ to which it
will send all orders and fills. This connection is nothing but a copy
of all the transactions i.e. orders (New as well as Amend/Cancel) and
fills. No new order will be initiated from this session.My questions:
- In a single FIX connection will there be a problem if we sent a new
order and execution message?- What points have to be considered in this FIX session? What care
will we need to take?Regards, Shakir