What is the behavior of Partially Filled in CTrader for Market Orders

Created at 09 Jul 2022, 19:53
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
LU

luis.thomas

Joined 09.07.2022

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


@luis.thomas
Replies

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

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