Multileg Order Cancel Replace
Order Modification: Use the MultilegOrderCancelReplaceRequest message (a.k.a MultilegOrder Modification Request) (MsgType=AC) to modify Repo Orders.
Message format:
Field Name | Format | Req'd | Comments | |
---|---|---|---|---|
MsgType | String | ✓ | AC = MultilegOrderCancelReplace | |
MsgSeqNum | SeqNum | ✓ | User generated incremental number to allow receiver to identify possible message gaps | |
SendingTime | UTCTimestamp | ✓ | Time of sending this message | |
OrderID | String | ✓ | Identifyer as provided by XCDE in most recent ExecReport | |
OrigClOrdID | String | User generated last ClOrdID representing this Order | ||
ClOrdID | String | User generated Unique identifier of this replacement order | ||
ClOrdLinkID | String | In case of grouping of Orders e.g. with OCAO | ||
Account | String | XCDE defined account (not in use) | ||
ExecInst | Char | G = All-or-None. Only supported value | ||
MinQty | Qty | Useful to avoid tiny partial fills, Instead of All or None | ||
MatchIncrement | Qty | In combination to MinQty to avoid uneconomicaly small executions | ||
Side | Char | ✓ | Identifies Near_Leg direction for Base currency. F = Lend (a.k.a repo Bid price) G = Borrow (a.k.a. Repo Offer price) | |
<Instrument> Component block | ✓ | |||
> | Symbol | String | ✓ | Recommended to disambiguate Order |
TransactTime | UTCTimestamp | ✓ | Time this request was initiated | |
<OrderQtyData> Component block | ✓ | required, if ClOrdLinkID is not filled disabled, if ClOrdLinkID is filled | ||
> | OrderQty | Qty | ✓ | E.g. 125 effectively required… |
OrdType | Char | 2 = Limit, only supported value | ||
Price | Price | ✓ | 1.76 effectively required | |
TimeInForce | Char | Supported values: 0 =Day (or session) 1 =Good Till Cancel (GTC) 3 =Immediate Or Cancel (IOC) 4 =Fill Or Kill (FOK) 6 =Good Till Date (GTD) | ||
ExpireDate | LocalMktDate | Conditionally required if TimeInForce = GTD and ExpireTime is not specified. | ||
ExpireTime | UTCTimestamp | Conditionally required if TimeInForce = GTD and ExpireDate is not specified. | ||
Text | String | Unessential freeform field to post information | ||
SettlCurrency | String | ✓ |
Example message:
1MsgType: AC
2MsgSeqNum: 82367465
3SendingTime: 20220906-22:29:43.729
4OrderID: hdga5542-062j
5OrigClOrdID: gsa62812043-873
6ClOrdID: gsa62812043-878
7Account: 42119
8MinQty: 100
9Side: F
10Instrument
11 Symbol: BTC/USDT-1w-R
12TransactTime: 20220906-22:29:43.122
13OrderQtyData
14 OrderQty: 500
15OrdType: 2
16Price: 6.42
17TimeInForce: 3
18Text
1{
2 "Header": {
3 "MsgType": "AC",
4 "MsgSeqNum": "82367465",
5 "SenderCompID": "SENDER",
6 "TargetCompID": "TARGET",
7 "SendingTime": "20220906-22:29:43.729"
8 },
9 "OrderID": "hdga5542-062j",
10 "OrigClOrderID": "gsa62812043-873",
11 "ClOrdID": "gsa62812043-878",
12 "MinQty": "100",
13 "Side": "F",
14 "Instrument": {
15 "Symbol": "BTC/USDT-1w-R"
16 },
17 "TransactTime": "20220906-22:29:43.122",
18 "OrderQtyData": {
19 "OrderQty": "500"
20 },
21 "OrdType": "2",
22 "Price": "6.42",
23 "TimeInForce": "3",
24 "Text": ""
25}