Welcome Guest, you are in: Login
CTS Futures

Rejecting Attempts to Amend or Cancel Orders

The Order Cancel Reject message (MsgType=9) is used by the T4 FIX API to electronically reject (failed) attempts to cancel or replace an order. Cancel Rejects are only generated for unsuccessful client side Order Cancel Request, Order Cancel Request or List Cancel Request messages. Unsolicited Cancel Rejects may also be generated for cancel rejects originated from non-T4-FIX-API applications (e.g. CTS front-end). This message applies to all CTS strategy types including outright futures, futures options, spreads and multileg strategies.

Identifying the rejected Cancel or Cancel Replace

The cancel reject message uses ClOrdID (Tag 11) to identify the failed cancel request or cancel replace request. Failed attempts originating from outside the T4 FIX API would carry a ClOrdId equivalent to the target order's OrderId (Tag 37). For List Cancel Request, the reject uses the ListID (Tag 66) to identify the corresponding list cancel request.

Identifying the target order for which the cancel request or Cancel replace failed

The cancel reject message uses OrigClOrdID (Tag 41) to identify the order that was (unsuccessfully) attempted to be canceled or cancel-replaced. The OrderId (Tag 37) also uniquely identifies the target order. Orders that were entered outside the T4 FIX API will carry OrigClOrdId (Tag 41) equivalent to the OrderId (Tag 37).

For List Cancel Requests, the reject uses the ListID (Tag 66) to identify the New Order List (whose cancel was rejected).


Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = 9
1AccountNAccount (code) to which the cancel reject pertains.
11ClOrdIDY(Client-Side) identifier of the cancel request or cancel replace that was rejected.
41OrigClOrdIDY(Client-Side) identifier of the order that could not be canceled or cancel replaced.
66ListIDNUnique (Client-Side) identifier of the New Order List that was rejected. Only applicable to (Batch) New Order List orders.
37OrderIdNUnique identifier (provided by CTS) of the order that could not be canceled or cancel replaced.
39OrdStatusYOrder Status of the order that was cancel rejected. The valid values are:
0 = New
1 = Partially Filled
2 = Filled
3 = Done For the Day
4 = Canceled
5 = Replaced
6 = Pending Cancel
7 = Stopped
8 = Rejected
9 = Suspended
A = Pending New
B = Calculated
C = Expired
E = Pending Replace
X = Undetermined
60TransactTimeNTime the cancel or cancel replace was rejected. Specified in UTC form.
434CxlRejResponseToYIdentifies the type of request that this Cancel Reject is in response to. The valid values are:
1 = Order Cancel Request
2 = Order Cancel-Replace Request
3 = List Cancel Request
102CxlRejReasonNCode that identifies the reason for the cancel rejection. The valid values are:
1 = Unknown order
2 = Broker Option
58TextNFree form Text.
1028ManualOrderIndicatorNIndicates if the order was sent Manually (i.e. order action is immediate from a human). Valid values are:
Y = Order was entered Manually
N = Order was entered by an Automated System, Program or Algorithm
Standard TrailerY


Sample Messages

Cancel Rejection of a Cancel Replace Request with an invalid price


[FIXCANCELREPLACE] 34=435|49=T4Example|56=T4|50=TraderName|52=20121212-21:35:28.083|1=Account1|11=fr-634909233280833034|41=fn-634909233209540909|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=143001|59=0|167=FUT|21=1|60=20121212-21:35:28.083|204=0|
[FIXCANCELREPLACE]

[MsgSeqNum] 34 = 435
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121212-21:35:28.083
[Account] 1 = Account1
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[Side] 54 = 1 (BUY)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 143001
[TimeInForce] 59 = 0 (DAY)
[SecurityType] 167 = FUT (FUTURE)
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[TransactTime] 60 = 20121212-21:35:28.083
[CustomerOrFirm] 204 = 0 (CUSTOMER)

[fixcancelreject] 34=2566|49=T4|56=T4Example|50=T4FIX|52=20121212-21:35:28.098|1=Account1|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|11=fr-634909233280833034|41=fn-634909233209540909|39=0|434=2|102=2|58=CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'|60=20121212-21:35:49.172|1028=N|
[FIXCANCELREJECT]

[MsgSeqNum] 34 = 2566
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:35:28.098
[Account] 1 = Account1
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 0 (NEW)
[CxlRejResponseTo] 434 = 2 (ORDER_CANCEL_REPLACE_REQUEST)
[CxlRejReason] 102 = 2 (BROKER_OPTION)
[Text] 58 = CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'
[TransactTime] 60 = 20121212-21:35:49.172
[ManualOrderIndicator] 1028 = N (NO)



Cancel Rejection of a Cancel Request of a previously canceled order


[FIXCANCEL] 34=439|49=T4Example|56=T4|50=TraderName|52=20121212-21:37:11.508|1=Account1|11=fc-634909234315082852|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|41=fn-634909233209540909|48=CME_20121200_ESZ2|54=1|55=ES|207=CME_Eq|60=20121212-21:37:11.508|167=FUT|
[FIXCANCEL]

[MsgSeqNum] 34 = 439
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = Account1
[ClOrdID] 11 = fc-634909234315082852
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[OrigClOrdID] 41 = fn-634909233209540909
[SecurityID] 48 = CME_20121200_ESZ2
[Side] 54 = 1 (BUY)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[TransactTime] 60 = 20121212-21:37:11.508
[SecurityType] 167 = FUT (FUTURE)


[fixcancelreject] 34=2571|49=T4|56=T4Example|50=T4FIX|52=20121212-21:37:11.508|1=Account1|37=NONE|11=fc-634909234315082852|41=fn-634909233209540909|39=8|434=1|102=1|58=Undetermined Order|60=20121212-21:37:11.508|1028=N|
[FIXCANCELREJECT]

[MsgSeqNum] 34 = 2571
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = Account1
[OrderID] 37 = NONE
[ClOrdID] 11 = fc-634909234315082852
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 8 (REJECTED)
[CxlRejResponseTo] 434 = 1 (ORDER_CANCEL_REQUEST)
[CxlRejReason] 102 = 1 (UNKNOWN_ORDER)
[Text] 58 = Undetermined Order
[TransactTime] 60 = 20121212-21:37:11.508
[ManualOrderIndicator] 1028 = N (NO)


FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

111 W. Jackson Blvd., Suite 1408, Chicago, IL 60604

© 2009-2017 Cunningham Trading Systems LLC All rights reserved.