fix-trading-simulator
fix-trading-simulator copied to clipboard
When cancelling an order I should be able to add the quantity
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.
Ok @sofianehammami , I will work on this!
@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?
- Include the possibility of typing the Cancel Quantity on the
Cancel Orderoption; - 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

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 |