MQL4 Trade Functions

Overview

Functions for managing trading activities in Expert Advisors and scripts.

Core Functions

  • **OrderSend**: Opens or places a pending order.
  • **OrderClose**: Closes an opened order.
  • **OrderCloseBy**: Closes an opened order by another opposite opened order.
  • **OrderModify**: Modifies characteristics of opened or pending orders.
  • **OrderDelete**: Deletes a previously opened pending order.
  • Order Details Retrieval

  • **OrderClosePrice**: Returns close price.
  • **OrderCloseTime**: Returns close time.
  • **OrderComment**: Returns comment.
  • **OrderCommission**: Returns calculated commission.
  • **OrderExpiration**: Returns expiration date (pending orders).
  • **OrderLots**: Returns amount of lots.
  • **OrderMagicNumber**: Returns identifying (magic) number.
  • **OrderOpenPrice**: Returns open price.
  • **OrderOpenTime**: Returns open time.
  • **OrderProfit**: Returns profit.
  • **OrderSwap**: Returns swap value.
  • **OrderSymbol**: Returns symbol name.
  • **OrderStopLoss**: Returns stop loss value.
  • **OrderTakeProfit**: Returns take profit value.
  • **OrderTicket**: Returns ticket number.
  • **OrderType**: Returns order operation type.
  • Order Management

  • **OrderPrint**: Prints order information to the log.
  • **OrderSelect**: Selects an order for further processing.
  • Order Counts

  • **OrdersHistoryTotal**: Returns the number of closed orders in history.
  • **OrdersTotal**: Returns the number of open market and pending orders.
  • Constraints & Requirements

  • Trading functions modifying account state require "Allow live trading" enabled in Expert Advisor/script properties.
  • Trade permission is subject to various factors (see Trade Permission section).
  • Advanced Features

  • **OrderSendAsync**: For asynchronous trading operations, executes in < 1ms, returns control immediately. Accelerates trading operations significantly, crucial for intraday systems.