Metadata-Version: 2.1
Name: metatrader-sockets-client
Version: 0.0.4
Summary: Client SDK of MetaTrader Sockets API
Home-page: https://github.com/FortesenseLabs/metatrader-terminal
Download-URL: https://github.com/FortesenseLabs/metatrader-terminal/releases/tag/0.0.4
Author: Fortesense Labs
Author-email: fortesenselabs@gmail.com
License: GPL-3.0
Project-URL: Bug Reports, https://github.com/FortesenseLabs/metatrader-terminal/issues
Project-URL: Source, https://github.com/FortesenseLabs/metatrader-terminal/tree/main/clients/metatrader-sockets/
Project-URL: Documentation, https://github.com/FortesenseLabs/metatrader-terminal/tree/main/clients/metatrader-sockets/examples
Keywords: metatrader,api,socket-io,mt5,mt4,websockets,socketio,mt5-ea,f-api,historical-data,financial-data,stocks,funds,etfs,indices,currency crosses,bonds,commodities,crypto currencies,synthetic instruments,trading,investment,portfolio,backtesting,quantitative analysis
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: colorlog
Requires-Dist: pydantic==2.8.0
Requires-Dist: asyncio>=3.4.3
Requires-Dist: python-socketio==5.11.3

# MetaTrader Sockets API Client

Client SDK of MetaTrader Sockets API

## Run

```python
import asyncio
from metatrader import (
    TerminalClient,
)


async def main():
    client = await TerminalClient.create(verbose=False)

    async def fetch_account_info():
        account_info = await client.get_account()
        if account_info:
            print(f"Account Info: {account_info}")
        else:
            print("Failed to fetch account info.")

    async def fetch_exchange_info():
        exchange_info = await client.get_exchange_info()
        if exchange_info:
            print(f"Exchange Info: {exchange_info}")
        else:
            print("Failed to fetch exchange info.")

    await fetch_account_info()
    # OR
    tasks = [fetch_account_info, fetch_exchange_info]
    await client._run(tasks)


if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    try:
        loop.run_until_complete(main())
    finally:
        loop.close()

```
