The order cancel/replace request is used to change the parameters of an existing order.
Do not use this message to cancel the remaining quantity of an outstanding order, use the Cancel Request message for this purpose.
Cancel/Replace will be used to change any valid attribute of an open order (i.e. reduce/increase quantity, change limit price, change instructions, etc.) It can be used to re-open a filled order by increasing OrderQty.
An immediate response to this message is required. It is recommended that an ExecutionRpt with ExecType=Pending Replace be sent unless the Order Cancel/Replace Request can be immediately accepted (ExecutionRpt with ExecType=Replaced) or rejected (Order Cancel Reject message).
The Cancel/Replace request will only be accepted if the order can successfully be pulled back from the exchange floor without executing. Requests which cannot be processed will be rejected using the Cancel Reject message. The Cancel Reject message should provide the ClOrdID and OrigClOrdID values which were specified on the Cancel/Replace Request message for identification.
Note that while it is necessary for the ClOrdID to change and be unique, the broker's OrderID field does not necessarily have to change as a result of the Cancel/Replace request.
Only a limited number of fields can be changed via the cancel/replace request message. All other fields should be retransmitted as sent in the original order. The fields which can be changed via this message are:
ExecInst
OrderQty
OrdType
Price
HandlInst
TimeInForce
TradingSessionID
EffectiveTime ExpireDate
ExpireTime
MinQty
MaxFloor
StopPx
PegDifference
DiscretionInst
DiscretionOffset
CashOrderQty OrderQty2
OpenClose
CoveredOrUncovered
Side (i.e. sell to sell plus)
MaxShow
LocateReqd
When modifying ExecInst fields in a replacement order, it is necessary to re-declare all ExecInst in the replacement order. ExecInst's will not be carried forward from the original order to the replacement unless re-declared.