MQLArticles/README.md

161 lines
7.9 KiB
Markdown

2026-02-27 03:02:46 +00:00
<p align="center">
2026-02-27 03:19:00 +00:00
<img src="./Images/MQLArticles.png" alt="MQLArticles Logo" width="1150" height="175"/>
2026-02-27 03:02:46 +00:00
</p>
2026-02-27 02:43:29 +00:00
2025-09-22 14:56:48 +00:00
2026-02-27 03:02:46 +00:00
<p align="center">
2026-02-27 03:19:00 +00:00
A comprehensive collection of MQL5 implementations for risk management and position management in algorithmic trading.
This repository contains the source code from articles published on MQL5.com by nique_372..
</p>
<p align="center">
<img src="https://img.shields.io/badge/Language-MQL5-1B6CA8?style=flat-square"/>
<img src="https://img.shields.io/badge/Platform-MetaTrader%205-0D1B2A?style=flat-square"/>
<img src="https://img.shields.io/badge/Author-nique__372-C9D6DF?style=flat-square&logoColor=white"/>
<img src="https://img.shields.io/badge/Articles-mql5.com-1B6CA8?style=flat-square"/>
2026-02-27 03:02:46 +00:00
</p>
2025-09-22 14:56:48 +00:00
2026-02-27 12:46:16 +00:00
---
## Main features
2026-09-06 11:15:27 -05:00
> MQLArticles is not a single library: it's an ecosystem of ~13 independent modules (several used in production within the TSN ecosystem). Each folder in the table below is its own library, with its own detailed README inside the folder — this section only summarizes what each one solves.
| Module | What it solves |
|--------|--------------|
| **[RM](./RM/README.md)** | Risk management: lot size calculation, dynamic SL/TP, OCO orders, max loss/profit limits with automatic position closing. |
| **[PosMgmt](./PosMgmt/README.md)** | Open position management: breakeven (by fixed points, ATR or RRR), partial closes by volume, and partial closes conditioned on indicators (RSI, etc.). |
| **[Strategy](./Strategy/README.md)** | Framework for building EAs by composition: chainable entry filters (RSI, Stochastic, Bands, SuperTrend...), a text-based logic rule engine, and time filters (day/year). |
| **[Utils](./Utils/README.md)** | Core of cross-cutting utilities used by the rest of the ecosystem — see submodules below. |
|  [Utils/FA](./Utils/FA/README.md) | Shared base classes: ATR, pointer auto-cleanup, bar control, simple logging, diffs, sorting. |
|   [Utils/LogFile](./Utils/LogFile/README.md) | File logging system with parsing and configurable levels. |
|   [Utils/SetFiles](./Utils/SetFiles/README.md) | Programmatic generation and editing of .set files (EA parameters). |
|   [Utils/EnumsStr](./Utils/EnumsStr/README.md) | Automatic enum-to-string conversion (with a code generator). |
|   [Utils/Bits](./Utils/Bits/README.md) | Bit manipulation, fast buffers and hashing. |
|   [Utils/StrMatch](./Utils/StrMatch/README.md) | Simplified string matching (lightweight pattern matching). |
|   [Utils/File](./Utils/File/README.md) | File operations and path handling. |
|   [Utils/MBen](./Utils/MBen/README.md) | Benchmarking of multiple code blocks. |
|   [Utils/TfI](./Utils/TfI/README.md) | Timeframe utilities. |
| **[IndicatorsCts](./IndicatorsCts/README.md)** | Generic wrapper for consuming technical indicators with a reusable instance pool. |
| **[Ob](./Ob/README.md)** | Order Blocks indicator + example EAs that consume it (published articles). |
2026-09-06 11:35:17 -05:00
| **[Examples](./Examples)** | Working EAs/scripts that put the libraries above into practice (breakeven panel, risk management panel, lot size / SL test scripts). |
| **[MqlCompilerBugs](./MqlCompilerBugs)** | Minimal reproductions of MQL5 compiler bugs found while building this ecosystem, each with its own README. |
| **[Sets](./Sets)** | `.set` preset files used by published articles (currently the partial-close article, #19682). |
| **[Defines](./Defines)** | Notes on optional `#define`s to enable extra logging/strictness in specific classes across the repo. |
2026-09-06 11:15:27 -05:00
> Code snippets for each module (with real usage examples) now live in that folder's own README — this root README is the ecosystem map, not the class catalog.
2026-02-27 12:46:16 +00:00
---
2026-02-27 02:43:29 +00:00
## Repository Structure
2025-12-21 17:55:44 +00:00
| Folder | Description |
|---------|-------------|
| **Defines** | Markdown files containing optional defines to activate or increase logging verbosity for specific classes in the repository. |
| **Examples** | Basic examples that implement various libraries from the MQLArticles repository, such as risk management, position management, etc. |
| **Images** | Screenshots and visual assets from repository examples (breakeven manager, lot size calculator, order blocks indicator). |
| **IndicatorsCts** | Wrapper library for implementing technical indicators. |
| **Ob** | Order Blocks indicator implementation and example Expert Advisors from published articles (author: nique_372). |
| **PosMgmt** | Position management libraries including:<br>- Breakeven management<br>- Partial position closure<br>- Conditional partial closure with indicator-based conditions |
| **RM** | Complete Risk Management (RM) library modules. |
| **Utils** | Core utility library for EAs, indicators, and libraries.
2025-12-21 17:56:57 +00:00
| **Sets** | Preset configuration files (.set) used in articles published by nique_372. |
2025-12-21 17:55:44 +00:00
| **Strategy** | Strategy implementation framework for the MQLArticles ecosystem. |
2026-02-27 12:46:16 +00:00
2026-05-28 17:41:01 +00:00
2025-12-21 17:55:44 +00:00
---
2025-10-08 13:00:59 +00:00
2026-02-27 12:46:16 +00:00
## Examples
- Examples\\GUI\\BE\\Ea.mq5
![Imagen](./Images/breakeven_manager.png)
- Examples\\GUI\\Risk_Management_Panel.mq5
![Imagen](./Images/lot_size_calculator.png)
- Ob\\Indicator\\OrderBlockIndPart2.mq5
![Imagen](./Images/ob_ind.png)
---
2026-05-28 17:41:01 +00:00
2025-10-17 22:03:34 +00:00
## Implemented Article Series
2025-09-22 14:56:48 +00:00
2025-10-17 22:03:34 +00:00
### Risk Management
2025-09-22 14:56:48 +00:00
2025-10-17 22:03:34 +00:00
| Part | Main Topic | Article Link |
|-------|----------------|-------------------|
| **Part 1** | Risk management fundamentals | [[EN]](https://www.mql5.com/en/articles/16820) |
| **Part 2** | Lot size calculation | [[ES]](https://www.mql5.com/es/articles/16985) |
| **Part 3** | Base class construction | [[ES]](https://www.mql5.com/es/articles/17249) |
| **Part 4** | Completing key functions of the CRiskManagement class | [[ES]](https://www.mql5.com/es/articles/17508) |
| **Part 5** | Integrating risk management into an EA (Order Block) | [[ES]](https://www.mql5.com/es/articles/17640) |
2025-09-22 14:56:48 +00:00
2025-10-17 22:03:34 +00:00
> **Important Update**: The RiskManagement library has been completely renovated since the last publication (part 5).
2025-09-22 14:56:48 +00:00
2025-10-17 22:03:34 +00:00
### Position Management - Breakeven
2025-09-22 17:09:08 +00:00
2025-10-17 22:03:34 +00:00
| Part | Focus | Article Link |
2025-09-22 17:09:08 +00:00
|-------|---------|-------------------|
2025-10-17 22:03:34 +00:00
| **Part 1** | Base class and breakeven by fixed points | [[ES]](https://www.mql5.com/es/articles/17957) |
| **Part 2** | Breakeven by ATR and RRR | [[ES]](https://www.mql5.com/es/articles/18111) |
2025-09-22 17:09:08 +00:00
2025-10-17 22:03:34 +00:00
### Position Management - Partial Closes
| Focus | Article Link |
|-------|--------------------|
2025-10-17 22:04:18 +00:00
| Implementation of partial closes in MQL5 | [[ES]](https://www.mql5.com/es/articles/19682) |
2025-09-22 19:14:33 +00:00
2025-09-22 14:56:48 +00:00
2025-12-13 17:33:45 +00:00
### Position Management - Conditional partial closure
| Focus | Article Link |
|-------|--------------------|
| Implementation of the base class in MQL5 | [[ES]](https://www.mql5.com/es/articles/20048) |
2025-10-17 22:03:34 +00:00
### Order Block Indicator
2025-09-22 14:56:48 +00:00
2025-10-17 22:03:34 +00:00
| Part | Focus | Article Link |
|-------|---------|-------------------|
| **Part 1** | Initial implementation of Order Blocks in an indicator | [[EN]](https://www.mql5.com/en/articles/15899) |
| **Part 2** | Signal implementation in the Order Block indicator | [[EN]](https://www.mql5.com/en/articles/16268) |
2025-09-22 14:50:12 +00:00
2025-09-22 13:42:25 +00:00
2026-05-28 17:41:01 +00:00
---
## License
**[Read Full License](./LICENSE)**
By downloading or using this repository, you accept the license terms.
---
## Requirements
See the [dependencies.json](./dependencies.json) file.
---
## Installation of repo code
```bash
cd "C:\Users\YOUR USER\AppData\Roaming\MetaQuotes\Terminal\YOUR ID\MQL5\Shared Projects"
tsndep install "https://forge.mql5.io/nique_372/MQLArticles.git"
```
2026-09-06 11:15:27 -05:00
- Using the `tsndep` command requires the `tsndep` package (available on [PyPI](https://pypi.org/project/tsndep)). This command automatically downloads all dependencies and installs every requirement from the repositories.
- If any part of the system is private, the install will fail. Contact me so I can grant you access (if it's a product, you can purchase it; if you have any questions, don't hesitate to reach out). Check the dependencies.json file for more info.
2026-05-28 17:41:01 +00:00
---
## Contact
- **Platform:** [MQL5 Community](https://www.mql5.com/es/users/nique_372)
- **Profile:** https://www.mql5.com/es/users/nique_372
- **My Articles** https://www.mql5.com/es/users/nique_372/publications