Quick Start
Basic Connection
import asyncio
from pymt5 import MT5WebClient
async def main():
async with MT5WebClient(auto_reconnect=True) as client:
await client.login(login=12345678, password="your-password")
# Load symbol cache
await client.load_symbols()
print(f"Loaded {len(client.symbol_names)} symbols")
# Full account info
acct = await client.get_account()
print(f"Balance: {acct['balance']}, Currency: {acct['currency']}")
# Symbol groups
groups = await client.get_symbol_groups()
print(f"Groups: {groups}")
await asyncio.sleep(5)
asyncio.run(main())
Tick Subscription
async with MT5WebClient() as client:
await client.login(login=12345678, password="your-password")
await client.load_symbols()
def on_ticks(ticks):
for t in ticks:
print(f"TICK {t.get('symbol', t['symbol_id'])}: "
f"bid={t['bid']} ask={t['ask']}")
client.on_tick(on_ticks)
await client.subscribe_symbols(["EURUSD", "GBPUSD"])
await asyncio.sleep(30)
Logging
Enable debug logging to see protocol details:
import logging
logging.basicConfig(level=logging.DEBUG)
# Loggers: pymt5.client, pymt5.transport