fix-trading-simulator icon indicating copy to clipboard operation
fix-trading-simulator copied to clipboard

When cancelling an order I should be able to add the quantity

Open sofianehammami opened this issue 3 years ago • 2 comments

I would appreciate if for example when cancelling order, I can add the quantity. For example, I have a scenario where the cancel quantity is greater that the initial order quantity.

sofianehammami avatar May 04 '22 06:05 sofianehammami

Ok @sofianehammami , I will work on this!

felipewind avatar May 04 '22 10:05 felipewind

@sofianehammami can you tell me how this scenario should work?

In the OrderCancelRequest message (35=F), should I sent the cancel quantity in the tag 38-OrderQty?

The exchange should verify if the 38-OrderQty of the OrderCancelRequest message (35=F) is less or equal to the initial 38-OrderQty of the order?

So, if the 38-OrderQty of the OrderCancelRequest message (35=F) is greater than the initial 38-OrderQty, should the exchange return one OrderCancelReject (35=9) message?

So the idea would be only like this?

  1. Include the possibility of typing the Cancel Quantity on the Cancel Order option;
  2. The Exchange should return one 35=9 OrderCancelReject if the 38-OrderQty of the 35=F OrderCancelRequest is greater than the initial OrderQty?

Cancel Order

image

Example of a situation using the application

Sending New Order Single (35=D)

8=FIX.4.4 | 9=131 | 35=D | 34=5 | 49=BANZAI | 52=20220508-17:25:01.906 | 56=EXEC | 1=1 | 11=1 | 22=8 | 38=1000 | 40=2 | 44=10.55 | 54=1 | 55=IBM | 59=0 | 60=20220508-17:25:01.765 | 10=041 |

Receiving Execution Report with the partial negotiation of 100 quantities (35=8)

8=FIX.4.4 \| 9=110 \| 35=8 \| 34=6 \| 49=EXEC \| 52=20220508-17:25:22.726 \| 56=BANZAI \| 6=0 \| 11=1 \| 14=100 \| 17=1 \| 37=1 \| 39=0 \| 54=1 \| 55=IBM \| 150=2 \| 151=900 \| 10=233 \|

Sending Order Cancel Request (35=F)

The application is always sending the initial quantity in the 38-OrderQty

8=FIX.4.4 \| 9=114 \| 35=F \| 34=7 \| 49=BANZAI \| 52=20220508-17:25:37.398 \| 56=EXEC \| 11=1CANCEL \| 38=1000 \| 41=1 \| 54=1 \| 55=IBM \| 60=20220508-17:25:37.398 \| 10=248 \|

Receiving the Execution Report with cancellation confirmation

39-OrdStatus = 4 (Canceled)

8=FIX.4.4 | 9=110 | 35=8 | 34=8 | 49=EXEC | 52=20220508-17:25:42.611 | 56=BANZAI | 6=0 | 11=1 | 14=100 | 17=1 | 37=1 | 39=4 | 54=1 | 55=IBM | 150=2 | 151=900 | 10=234 |

felipewind avatar May 08 '22 17:05 felipewind