Memory Mapped Files for Inter-Application Data Exchange
Info
The Memory Mapped Files for Inter-Application Data Exchange is a Library for MetaTrader 5 that this project provides two classes, `cheapmemorymapapi` and `cheapmemorymapfile`, for working with memory-mapped files. These classes allow you to:- Create files in memory.
Usage
This tool is typically used for enhancing chart analysis and decision making.
Platform
This Library works exclusively on MetaTrader 5 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL5/Libraries folder via File ? Open Data Folder in MetaTrader 5.
How to Install and Use Memory Mapped Files for Inter-Application Data Exchange
1. Storage: Place library files in the MQL/Libraries directory to ensure they are accessible to your projects.
2. Implementation: Include the library in your code using the #import directive, ensuring you match the exact function names and parameters.
3. Compilation: Ensure the library is present in the directory before you compile your main EA or script, as the compiler links them during this phase.
4. Management: Keep libraries organized in sub-folders if you manage many custom functions to maintain a clean project structure.
Frequently Asked Questions
Q: What is a library file used for? A: Libraries store reusable code modules, allowing you to centralize common logic used by multiple EAs or indicators.
Q: Is a library executable? A: No, libraries are non-executable files containing functions; they must be imported into an EA, indicator, or script to function.
Q: Can I update a library while the platform is running? A: You should compile your EA or script after updating a library to ensure the latest code changes are integrated.
What this tool does
This project provides two classes, `CHeapMemoryMapApi` and `CHeapMemoryMapFile`, for working with memory-mapped files.
Typical Use Case
This Library excels in automated trading and technical analysis on MetaTrader 5.
Compatible Platform & Setup
This Library works on MetaTrader 5. Place the file in the MQL5/Libraries folder and restart the terminal.
Description & Settings
Related: memory management for metatrader optimization - another powerful library for MetaTrader 5 traders.
This project provides two classes, `CHeapMemoryMapApi` and `CHeapMemoryMapFile`, for working with memory-mapped files.Also recommended: Memory Mapped Files in MQL5 - similar library with strong performance on MetaTrader 5.
These classes allow you to:
- Create files in memory.
- Write and read data from memory-mapped files.
This functionality enables data exchange between applications, including MetaTrader 4 and MetaTrader 5, offering high performance for data transfer.
Primary applications include:
- Copying trades across multiple terminals on a single PC.
- Exchanging quote data for arbitrage Expert Advisors.
Memory-mapped files can also serve as temporary data storage for Expert Advisors.
The `CHeapMemoryMapApi` class acts as a wrapper for WinAPI functions, enabling interaction with multiple memory-mapped files.
The `CHeapMemoryMapFile` class manages the file name, file handle, and file size checks, and is designed for use within other C++ projects.
The current project organizes exported DLL functions within `CHeapMemoryMapApi` for handling multiple memory-mapped files.
Exported Functions:
Example of DLL Usage:
03.12.2026: Fixed an error in memwritestr.
You may also like: reporting memory leaks in strategy tester - excellent alternative for library users on MetaTrader 5.
⚠ Limitations & Risk Warning
- This tool is provided for educational and testing purposes only.
- Past performance does not guarantee future results.
- Trading involves substantial risk of loss. Use on a demo account first.
- Results may vary depending on market conditions, broker, and settings.
- We recommend thorough backtesting and forward testing before using with real funds.