Современная Python-библиотека для взаимодействия с MetaTrader5
Project description
MT5 Trading Library
Современная Python-библиотека для взаимодействия с MetaTrader5, предоставляющая высокоуровневый API с расширенными возможностями.
🚀 Особенности
- Надежное соединение с автоматическим переподключением и circuit breaker
- Асинхронная поддержка для высокопроизводительных сценариев
- Умное кэширование с TTL и стратегиями инвалидации
- Безопасность с шифрованием учетных данных
- Мониторинг и метрики производительности
- Расширяемость через middleware и event-driven архитектуру
- Production-ready с comprehensive тестированием
📦 Установка
pip install mt5-trading-lib
🔧 Быстрый старт
Асинхронный высокоуровневый клиент:
import asyncio
from mt5_trading_lib import AsyncMt5Client, Config
from mt5_trading_lib.logging_config import setup_logging
import MetaTrader5 as mt5
async def main():
setup_logging()
cfg = Config.load_config()
client = AsyncMt5Client(cfg)
if await client.connect():
account = await client.get_account_info()
print(f"Balance: {account['balance']}")
quotes = await client.get_real_time_quotes("EURUSD")
print(f"EURUSD: {quotes['bid']}/{quotes['ask']}")
await client.disconnect()
if __name__ == "__main__":
asyncio.run(main())
Синхронные компоненты (низкоуровневое использование):
from mt5_trading_lib import (
Config, Mt5Connector, CacheManager, RetryManager, DataFetcher
)
from mt5_trading_lib.logging_config import setup_logging
import MetaTrader5 as mt5
setup_logging()
cfg = Config.load_config()
connector = Mt5Connector(cfg)
connector.connect()
cache = CacheManager(cfg)
retry = RetryManager(cfg)
data = DataFetcher(cfg, connector, cache, retry)
account = data.get_account_info()
print(account)
quotes = data.get_real_time_quotes("EURUSD")
print(quotes)
connector.disconnect()
📚 Документация
- API Reference:
docs/api_reference.rst - Архитектура:
doc/project_design_concept.md - План проекта:
doc/project_plan.md
🛠️ Разработка
Этот проект находится в активной разработке. См. план проекта для деталей.
Требования для разработки
- Python 3.8+
- MetaTrader5 Terminal
- Windows 10/11
Установка для разработки
git clone https://github.com/paxelcool/MT5_trading_lib_project.git
cd MT5_trading_lib_project
python -m venv venv
venv\Scripts\activate
pip install -e ".[dev]"
🤝 Участие в проекте
Приветствуются contributions! См. CONTRIBUTING.md для деталей.
📄 Лицензия
Этот проект лицензирован под MIT License - см. LICENSE файл для деталей.
⚠️ Предупреждение
Эта библиотека предназначена для образовательных и исследовательских целей. Торговля на финансовых рынках связана с высокими рисками. Всегда тестируйте стратегии на демо-счетах перед использованием реальных средств.
📞 Поддержка
- 📧 Email: mtrfrgm@gmail.com
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
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 mt5_trading_lib-0.1.1.tar.gz.
File metadata
- Download URL: mt5_trading_lib-0.1.1.tar.gz
- Upload date:
- Size: 58.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ae289b82d4b6addab5728e09e84b6df1e74d47e3fb3d29d636c0d7b106dcdbc
|
|
| MD5 |
41e4bd72381f157e91c8e1cac05b8560
|
|
| BLAKE2b-256 |
fbf15441e89261feaa64d9989edf92af895c67634861bbbc56eea76ee6f2a72c
|
File details
Details for the file mt5_trading_lib-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mt5_trading_lib-0.1.1-py3-none-any.whl
- Upload date:
- Size: 55.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84533cb06f81b1c2a57349e74c5cf9d08e59aa2eeec4c6191e56085f446ec89e
|
|
| MD5 |
e2c91c8a96f2fe80abc73fe8e39dab4b
|
|
| BLAKE2b-256 |
4874c5afc3af524a8e1a8a0770293ee9ed9e12073fb87ff9ee8c2d823e64afea
|