Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add dceoy/mt5-agent-skills --skill "mt5-connection"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: mt5-connection
description: |
Connect to MetaTrader 5 trading platform using pdmt5 library. Use when you need to:
(1) Initialize MT5 terminal connection with login credentials
(2) Get account information (balance, equity, margin, leverage)
(3) Get terminal information (version, connection status, trade permissions)
(4) Manage MT5 session lifecycle (connect/disconnect)
Required before using any other MT5 skills. Works on Windows only.
MT5 Connection
Manage MetaTrader 5 terminal connections using pdmt5.
Prerequisites
- Windows OS (MT5 requirement)
- MetaTrader 5 terminal installed
- pdmt5 package:
pip install pdmt5
Connection
Initialize and connect to MT5:
from pdmt5 import Mt5Config, Mt5TradingClient
config = Mt5Config(
login=12345678, # MT5 account number
password="your_password", # Account password
server="Broker-Server", # Broker server name
timeout=60000, # Connection timeout (ms)
path=None # Optional: path to terminal64.exe
)
client = Mt5TradingClient(config=config)
client.initialize_and_login_mt5()
Account Information
Get account details:
# As dictionary
account = client.account_info_as_dict()
# Keys: login, balance, equity, margin, margin_free, margin_level,
# leverage, currency, profit, credit, name, server, trade_mode
# As DataFrame
account_df = client.account_info_as_df()
Terminal Information
Get terminal status:
terminal = client.terminal_info()
# Attributes: community_account, community_connection, connected,
# dlls_allowed, trade_allowed, tradeapi_disabled,
# email_enabled, ftp_enabled, notifications_enabled,
# mqid, build, maxbars, codepage, ping_last, name, path
Disconnect
Always disconnect when done:
client.shutdown()
Context Manager Pattern
For automatic cleanup, use the script in scripts/mt5_context.py.
Error Handling
Connection failures raise exceptions. Always wrap in try/except:
try:
client.initialize_and_login_mt5()
except Exception as e:
print(f"Connection failed: {e}")
Common Issues
- "Terminal not found": Set
pathto terminal64.exe location - "Invalid account": Verify login/password/server
- "Timeout": Increase timeout value or check network
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.