Skip to content

I created this library to streamline the process of developing an Expert Advisor in MQL5. While MQL5 development can be complex, the same task is more straightforward in Python.

License

Notifications You must be signed in to change notification settings

Joaopeuko/Mql5-Python-Integration

Repository files navigation

PyPI - Downloads PyPI PyPI - Wheel PyPI - License

Mql5-Python-Integration (MQPy)

Current Version: v0.6.9

Welcome to the Mql5-Python-Integration project! This project facilitates the integration between MetaTrader 5 (Mql5) and Python, allowing for efficient algorithmic trading strategies.

Table of Contents

Project Update: Changes in Progress

🚧 Work in Progress: v0.6.9 This project is currently undergoing significant changes and improvements. The latest version is v0.6.0, and various enhancements are being made to provide a more robust and user-friendly experience.

📌 Previous Version: v0.5.0 To access the code for the previous version, you can check it out at v0.5.0.

Installation

Note: In order to use this package, you need to have MetaTrader 5 installed on a Windows system with Python 3.8 or later.

To install the package, you can use the following command:

pip install mqpy

Make sure to fulfill the prerequisites mentioned above before attempting to use the Mql5-Python-Integration (MQPy) package.

Usage

Basic Usage

Once installed, you can use the mqpy command to generate the boilerplate code.

Generate the File

To create a template file for a trading strategy, use the following command:

mqpy --symbol <Symbol> --file_name <File Name>

Please change <Symbol> and <File Name> to the desired values. For example:

mqpy --symbol EURUSD --file_name demo

Missing Features/Good Practice

This library has been in existence for several years and was designed to be simple and straightforward. While there are plans to enhance it with features such as logging and other components to improve its overall quality, there are considerations specific to the nature of the Metatrader5 library.

Delicate Metatrader5 Environment

Metatrader5 operates within a highly restrictive environment, and certain practices that may be considered best practices in other contexts might cause trouble for newcomers in software development, which is the main focus of this library. For the sake of simplicity and ease of use, the library currently retains some practices that may not align with conventional best practices.

Alternative Libraries

For users seeking a more advanced library with a similar concept, consider exploring the following alternative:

metatrader5EasyT: A more advanced library that aligns with best practices while providing a similar user-friendly approach. It is also available on PyPI.