What is the behavior of Partially Filled in CTrader for Market Orders
What is the behavior of Partially Filled in CTrader for Market Orders
09 Jul 2022, 19:53
Hello,
I would like to understand the behavior of Partially Filled orders in ctrader.
My question is related to the following explanation in the message ExecutionReport, Tag(39) OrderStatus, page 19, in your FIX documentation (this PDF):
"Cancelled (When an order is partially filled, "Cancelled" is returned signifying Tag 151: LeavesQty is cancelled and will not be subsequently filled)"
My question is, can a partial fill happens with a Market Order (IOC Order)? If so, is the following behavior could occurs:
Sending:
- 2022-07-11 22:01:01 - NewOrderSingle(ClOrdID="order-1", Symbol="1", Side=BUY, OrderQty=1000000, OrdType=MARKET)
Receiving:
- 2022-07-11 22:01:02 - ExecutionReport(OrderID="ctrader-id-1", ClOrdID="order-1", ExecType=NEW, OrdStatus=NEW, Symbol="1", Side=BUY, OrderQty=1000000.0, LeavesQty=1000000.0, CumQty=0.0, OrdType=MARKET)
- 2022-07-11 22:01:03 - ExecutionReport(OrderID="ctrader-id-1", ClOrdID="order-1", ExecType=TRADE, OrdStatus=PARTIALLY_FILLED, Symbol="1", Side=BUY, AvgPx=1.04, OrderQty=1000000.0, LeavesQty=300000.0, CumQty=700000.0, LastQty=700000.0, OrdType=MARKET)
- 2022-07-11 22:01:03 - ExecutionReport(OrderID="ctrader-id-1", ClOrdID="order-1", ExecType=TRADE, OrdStatus=CANCELED, Symbol="1", Side=BUY, AvgPx=1.04, OrderQty=1000000.0, LeavesQty=300000.0, CumQty=700000.0, LastQty=700000.0, OrdType=MARKET)
Best regards,
Luis
Replies
luis.thomas
11 Jul 2022, 17:58
RE:
Hi Panagiotis,
Market orders are executed on an IOC basis and limit orders on a GTC basis. I hope this answers your question.
I'm fully aware of that. My question is not about IOC or GTC. What I'm trying to understand is what is the behavior in terms of "what fix message do I have if PARTIALLY_FILLED order happens for a IOC order."
I would like to have a confirmation that something like c) could actually happens:
a) Sending an IOC Order 'order-1':
- 2022-07-11 22:01:01 - NewOrderSingle(ClOrdID="order-1", Symbol="1", Side=BUY, OrderQty=1000000, OrdType=MARKET)
b) Receiving a Execution Report with a OrdStatus as NEW:
- 2022-07-11 22:01:02 - ExecutionReport(OrderID="ctrader-id-1", ClOrdID="order-1", ExecType=NEW, OrdStatus=NEW, Symbol="1", Side=BUY, OrderQty=1000000.0, LeavesQty=1000000.0, CumQty=0.0, OrdType=MARKET)
c) Receiving two messages at the same time regarding 'order-1', one saying that it has a PARTIALLY_FILLED of 700000.0 and the other canceling the remaining 300000.0.
- 2022-07-11 22:01:03 - ExecutionReport(OrderID="ctrader-id-1", ClOrdID="order-1", ExecType=TRADE, OrdStatus=PARTIALLY_FILLED, Symbol="1", Side=BUY, AvgPx=1.04, OrderQty=1000000.0, LeavesQty=300000.0, CumQty=700000.0, LastQty=700000.0, OrdType=MARKET)
- 2022-07-11 22:01:03 - ExecutionReport(OrderID="ctrader-id-1", ClOrdID="order-1", ExecType=TRADE, OrdStatus=CANCELED, Symbol="1", Side=BUY, AvgPx=1.04, OrderQty=1000000.0, LeavesQty=300000.0, CumQty=700000.0, LastQty=700000.0, OrdType=MARKET)
I really want a confirmation for c). I have inferred this behavior from your doc that I was mentionning in the first message.
Best,
Luis
@luis.thomas
PanagiotisCharalampous
12 Jul 2022, 08:43
Hi Luis,
Yes this is what should happen.
Best Regards,
Panagiotis
Join us on Telegram and Facebook
@PanagiotisCharalampous
PanagiotisCharalampous
11 Jul 2022, 15:30
Hi Luis,
Market orders are executed on an IOC basis and limit orders on a GTC basis. I hope this answers your question.
Best Regards,
Panagiotis
Join us on Telegram and Facebook
@PanagiotisCharalampous