Request for Clarification: Partial Fill

Created at 18 Dec 2020, 15:56
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!
honeybadger's avatar

honeybadger

Joined 06.08.2020

Request for Clarification: Partial Fill
18 Dec 2020, 15:56


Dear all,

I would like to exactly understand the behavior of partial filling for both methods ExecuteMartketRangeOrderAsync() and PlaceLimitOrderAsync():

  1. What happens to remaining (unfilled) volume if my order is partially filled? Will it remain in the order book and can be filled at a later stage? Or will it be canceled?
  2. Will the callback methods be called upon every partial fill? Or only the first one?

For more context: I am asking question 1 with the underlying thought of whether I have to manually take care of the rest of my volume or cTrader will handle it for me and split my order into various smaller positions. Question 2 refers to whether I can take care of all positions created with the above methods through the callback methods or better through subscription to the Positions.Opened event.

Thanks in advance for the clarification,

h.


@honeybadger
Replies

PanagiotisCharalampous
21 Dec 2020, 16:27

Hi honeybadger,

Market range orders are IOC orders, hence cancelled if not executed immediately. Limit orders are GTC orders therefore they stay till filled or cancelled. When a limit order is partially filled, you will get following events.
For the first fill, when the position is created:

  1. PendingOrders.Modified
  2. PendingOrders.Filled
  3. Positions.Opened

For subsequent fills:

  1. PendingOrders.Modified
  2. PendingOrders.Filled
  3. Positions.Modified

Best Regards,

Panagiotis 

Join us on Telegram 

 


@PanagiotisCharalampous

honeybadger
24 Dec 2020, 03:55

Very helpful information, thanks a lot, Panagioti, and happy holidays!


@honeybadger