Skip to main content

Современная Python-библиотека для взаимодействия с MetaTrader5

Project description

MT5 Trading Library

Python Version License Code Style CI

Современная 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 файл для деталей.

⚠️ Предупреждение

Эта библиотека предназначена для образовательных и исследовательских целей. Торговля на финансовых рынках связана с высокими рисками. Всегда тестируйте стратегии на демо-счетах перед использованием реальных средств.

📞 Поддержка

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mt5_trading_lib-0.1.0.tar.gz (58.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mt5_trading_lib-0.1.0-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

Details for the file mt5_trading_lib-0.1.0.tar.gz.

File metadata

  • Download URL: mt5_trading_lib-0.1.0.tar.gz
  • Upload date:
  • Size: 58.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for mt5_trading_lib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e9c70c30a94e555fe466e312c75bcaddab00e83265f8c06b648cd6ade92e790e
MD5 fd9d050dbaa7048dbbd6d606f9161d2f
BLAKE2b-256 8daa81774ba2dc1464e97986afed2c4d4a450185f2d8da35f9a20bfbba7a47a7

See more details on using hashes here.

File details

Details for the file mt5_trading_lib-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mt5_trading_lib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d12c4c402dec886146dd6bc040f3ca7219a8107e8fcb7a66bfbdb8e0b5834ad
MD5 1f4f530b51b63420274a938ec194d337
BLAKE2b-256 ce727cedf6f523260471a96ad7c94da41b35f0f2d7cef766cc65c85aeb388842

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page