Orders, Deals and Positions in cTrader

The cTrader Domain Model


An order is the intention of a trader to buy or sell an asset. An order is sent from the trader to the broker, usually through a trading platform, and explains what the user wants to trade and on which conditions. Below you can find a short reminder of the order types offered by cTrader.

Order Types

Market Order — Market Range Order

A market order is an order that instructs a broker to buy/sell an asset immediately at the best available price. A simple market order does not place any restriction on price. This might result in a noticeable slippage between the quoted price and the executed price. Therefore, cTrader supports placing a market range to orders in order to limit possible slippage. In the case of a Market Range Order and insufficient liquidity, the order will be filled partially only until the price that respects the set limit.

Stop Order

A stop order is a market order that is executed when a certain price level is reached. A trader can set a trigger price through the order and the market order will be executed when the trigger price is reached. A buy stop order is always placed above the current market price and a sell stop order below.

Limit Order

A limit order is an order that will be executed when a price is reached but only at the limit or a better price. A limit order is a way to guarantee that you will not receive a worse price than what you request for. A buy limit order is always placed below the current market price and a sell stop order above.

Stop Limit Order

A stop limit order is a combination of a stop order and a limit order. The combination of the two orders offers to the investor much greater precision in executing the trade. Contrary to a stop order that is filled at the market price after the stop price has been hit, regardless of whether the price changes unfavorably, a stop limit order places an order that sets a limit to the price that the investor accepts for the order. While a Stop Order can lead to trades being filled at less desirable prices, combining it with the features of a Limit Order, the order is only filled, fully or partially, within the desirable range.


When traders orders are passed from cServer to the liquidity provider, they need to be executed based on the available market liquidity. One of the main features of cTrader is the support of partial fills. In case market conditions do not allow complete execution of an order e.g. not enough liquidity, partial fills allow an order to be filled only for the part that is possible based on the available liquidity and the requested order restrictions. If an order is filled partially then it remains active until canceled or expired and when market conditions allow this the rest of the remaining order is executed.


A position is the result of one or more executed orders. As a result, it is composed of one or many deals. From another angle, a position can be also viewed as an aggregation of deals. A position is opened in cTrader when an opening deal is executed. Subsequent deals associated with the position and in the same direction are considered opening deals (Note: Associating deals with positions is only required for Hedging Accounts. Netting accounts net all deals into a single position). Deals associated with the position but with opposite direction are considered closing deals. A position remains open as long as the total value of opening deals and closing deals is different. It closes when the total value of opening and closing deals becomes equal.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


The trading platform that puts Traders First www.ctrader.com