Skip to main content

Open position

POST 

/v1/trading/accounts/:account_id/positions

Opens a new position using immediate market execution.

This method represents the client intent to open exposure. The resulting transaction may include an order, deal, position and account_state. On position open, account_state may change because used margin is recalculated; if opening commission is charged, balance changes as well.

Runtime restrictions:

  • unavailable if trade_mode is trading_disabled
  • unavailable if account_status is close_only

Instrument-specific request validation:

  • resolve validation inputs from GET /v1/configuration/accounts/{account_id}/instruments/{instrument}/conditions
  • volume must satisfy volume_min, volume_max, and volume_step
  • request price fields (price, stop_loss_price, take_profit_price) must use at most point_digits fractional digits
  • the implied minimum price increment is 10^-point_digits

The method returns ACK response. Final transaction result is delivered through Server Events.

Consistency and recovery notes:

  • Closed positions and final-state orders are retained for 1 month (subject to clarification).
  • If operation_id is not received in the REST ACK response, or is not received in Server events subscription, or an unknown operation_id is received, the client should restart Server events subscription and reconcile state using snapshots of currently open positions and pending orders.

Synchronous REST errors are returned before the ACK response and cover request shape, authentication, authorization, account lookup, rate limiting, and temporary service availability.

Asynchronous final operation errors are delivered through transaction_event and operation status. Possible public final error codes include:

  • ACCOUNT_DISABLED
  • ACCOUNT_CLOSE_ONLY
  • REQUEST_INVALID
  • REQUEST_INVALID_PRICE
  • MARKET_INSTRUMENT_NOT_FOUND
  • MARKET_TRADE_DISABLED
  • MARKET_CLOSE_ONLY
  • MARKET_SESSION_CLOSED
  • MARKET_NO_QUOTES
  • TRADING_RULE_VOLUME_TOO_SMALL
  • TRADING_RULE_VOLUME_TOO_LARGE
  • TRADING_RULE_INVALID_VOLUME_STEP
  • TRADING_RULE_INVALID_PRICE_LEVELS
  • TRADING_RULE_INSUFFICIENT_MARGIN
  • TRADING_RULE_MARGIN_LEVEL_TOO_LOW
  • TRADING_RULE_OPERATION_RESTRICTED
  • TRADING_RULE_TOO_MANY_OPEN_POSITIONS
  • EXECUTION_REQUOTE
  • EXECUTION_REJECTED
  • SYSTEM_RATE_LIMIT
  • SYSTEM_TEMPORARY_UNAVAILABLE

Request

Responses

ACK