A private MetaTrader5 connection and management package
Project description
MT5 Connector
A Python package for connecting to and managing MetaTrader5 servers.
Installation
pip install fivitech-mt5-connector
Documentation
For detailed documentation, see DOCUMENTATION.md
Changelog
For changelog, see CHANGELOG.md
Usage
from fivitech_mt5_connector import MT5Pool
# Configure your MT5 servers
servers = [
{
"id": 1,
"type": "demo",
"name": "Demo Server",
"username": "manager",
"manager_password": "your_manager_password",
"api_password": "your_api_password",
"ips": ["127.0.0.1", "localhost"]
}
]
# Initialize the pool
pool = MT5Pool(servers)
# Connect to all servers
connection_status = pool.connect_all()
# Or connect to specific server
pool.connect_server(1)
# Add a new server dynamically
pool.add_server({
"id": 2,
"type": "live",
"name": "Live Server",
"username": "manager",
"manager_password": "your_manager_password",
"api_password": "your_api_password",
"ips": ["server1.domain.com", "server2.domain.com"]
})
# Connect to the new server
pool.connect_server(2)
# Update server configuration
pool.update_server(2, {
"name": "Updated Live Server",
"ips": ["new.server.com"]
})
# Disconnect specific server
pool.disconnect_server(2)
# Remove server from pool
pool.remove_server(2)
# Add custom callbacks if needed
def my_deal_callback(deal, server_info):
print(f"New deal on {server_info.name}: {deal.Deal}")
pool.add_deal_callback('deal_add', my_deal_callback)
# Get a specific server connection
demo_server = pool.get_server(1)
live_server = pool.get_server(101)
# Disconnect all servers when done
pool.disconnect_all()
Features
- Dynamic server management (add/remove/update servers)
- Individual server connection control
- Multiple server connections management
- Account operations
- Transaction handling
- User management
- Deal monitoring
- Default and custom callbacks for deals and user events
Server Configuration
Each server in the configuration requires:
id: Unique integer identifiertype: Either 'demo' or 'live'name: Server nameusername: Manager username/loginmanager_password: Manager password for server operationsapi_password: API password for MT5 WebAPI accessips: List of IP addresses for failover
Server Management Methods
Adding Servers
pool.add_server({
"id": 1,
"type": "demo",
"name": "Demo Server",
"username": "manager",
"manager_password": "password",
"api_password": "api_password",
"ips": ["127.0.0.1"]
})
Updating Servers
pool.update_server(1, {
"name": "Updated Name",
"ips": ["new.ip.address"]
})
Removing Servers
pool.remove_server(1)
Connection Control
# Connect specific server
pool.connect_server(1)
# Disconnect specific server
pool.disconnect_server(1)
# Connect all servers
pool.connect_all()
# Disconnect all servers
pool.disconnect_all()
Requirements
- Python 3.7+
- MT5Manager>=5.0.3906
- pandas>=1.0.0
- numpy>=1.19.0
- pytz>=2021.1
- requests>=2.26.0
- python-dateutil>=2.8.2
License
Proprietary - All rights reserved
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fivitech_mt5_connector-0.1.7.tar.gz.
File metadata
- Download URL: fivitech_mt5_connector-0.1.7.tar.gz
- Upload date:
- Size: 27.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f0c4a9728e710dcf8d6d7229c97ef572d9c03ee282534375a46c404ad047af4
|
|
| MD5 |
3be55a10c352dec42372003ad235412c
|
|
| BLAKE2b-256 |
93f9f494355c35573402ba7f05c0441bc26a928901d5a308f45b29534429c1c4
|
File details
Details for the file fivitech_mt5_connector-0.1.7-py3-none-any.whl.
File metadata
- Download URL: fivitech_mt5_connector-0.1.7-py3-none-any.whl
- Upload date:
- Size: 32.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4848b43931638242c18f679454b3f83395d24eeb778d723bc791f563553543ce
|
|
| MD5 |
6f215f1414aa082daac0a9469d9f978e
|
|
| BLAKE2b-256 |
e7ab79052c0c7d40ecc5acb026879420065b32fec3da48ab86873edb9ccd7572
|