# Table of Contents * [aiomql.core.meta\_trader](#aiomql.core.meta_trader) * [MetaTrader](#aiomql.core.meta_trader.MetaTrader) * [\_\_aenter\_\_](#aiomql.core.meta_trader.MetaTrader.__aenter__) * [\_\_aexit\_\_](#aiomql.core.meta_trader.MetaTrader.__aexit__) * [login](#aiomql.core.meta_trader.MetaTrader.login) * [initialize](#aiomql.core.meta_trader.MetaTrader.initialize) * [shutdown](#aiomql.core.meta_trader.MetaTrader.shutdown) * [version](#aiomql.core.meta_trader.MetaTrader.version) * [account\_info](#aiomql.core.meta_trader.MetaTrader.account_info) * [orders\_get](#aiomql.core.meta_trader.MetaTrader.orders_get) # aiomql.core.meta\_trader ## MetaTrader Objects ```python class MetaTrader(metaclass=BaseMeta) ``` #### \_\_aenter\_\_ ```python async def __aenter__() -> 'MetaTrader' ``` Async context manager entry point. Initializes the connection to the MetaTrader terminal. **Returns**: - `MetaTrader` - An instance of the MetaTrader class. #### \_\_aexit\_\_ ```python async def __aexit__(exc_type, exc_val, exc_tb) ``` Async context manager exit point. Closes the connection to the MetaTrader terminal. #### login ```python async def login(login: int, password: str, server: str, timeout: int = 60000) -> bool ``` Connects to the MetaTrader terminal using the specified login, password and server. **Arguments**: - `login` _int_ - The trading account number. - `password` _str_ - The trading account password. - `server` _str_ - The trading server name. - `timeout` _int_ - The timeout for the connection in seconds. **Returns**: - `bool` - True if successful, False otherwise. #### initialize ```python async def initialize(path: str = "", login: int = 0, password: str = "", server: str = "", timeout: int | None = None, portable=False) -> bool ``` Initializes the connection to the MetaTrader terminal. All parameters are optional. **Arguments**: - `path` _str_ - The path to the MetaTrader terminal executable. - `login` _int_ - The trading account number. - `password` _str_ - The trading account password. - `server` _str_ - The trading server name. - `timeout` _int_ - The timeout for the connection in seconds. - `portable` _bool_ - If True, the terminal will be launched in portable mode. **Returns**: - `bool` - True if successful, False otherwise. #### shutdown ```python async def shutdown() -> None ``` Closes the connection to the MetaTrader terminal. **Returns**: - `None` - None #### version ```python async def version() -> tuple[int, int, str] | None ``` #### account\_info ```python async def account_info() -> AccountInfo | None ``` #### orders\_get ```python async def orders_get(group: str = "", ticket: int = 0, symbol: str = "") -> tuple[TradeOrder] | None ``` Get active orders with the ability to filter by symbol or ticket. There are three call options. Call without parameters. Return active orders on all symbols **Arguments**: - `symbol` _str_ - Symbol name. Optional named parameter. If a symbol is specified, the ticket parameter is ignored. - `group` _str_ - The filter for arranging a group of necessary symbols. Optional named parameter. If the group is specified, the function returns only active orders meeting a specified criteria for a symbol name. - `ticket` _int_ - Order ticket (ORDER_TICKET). Optional named parameter. **Returns**: - `list[TradeOrder]` - A list of active trade orders as TradeOrder objects