Trade Transaction Class
Info
The Trade Transaction Class is a Library for MetaTrader 5 that when performing some definite actions on a trade account, its state changes. Such actions include:Sending a trade request from any MQL5 application in the client terminal using OrderSend and OrderSendAsync functions and its further execution; Sending a trade request via the terminal graphical interface and its further execution; activation of pending and stop orders on the server; performing operations on the trade server side.
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 Trade Transaction Class
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
When performing some definite actions on a trade account, its state changes.
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: AS Q Trade Frequency Controller - another powerful library for MetaTrader 5 traders.
When performing some definite actions on a trade account, its state changes. Such actions include:
Also recommended: Asynchronous Institutional Trade Engine (Library) - similar library with strong performance on MetaTrader 5.
Sending a trade request from any MQL5 application in the client terminal using OrderSend and OrderSendAsync functions and its further execution;
Sending a trade request via the terminal graphical interface and its further execution;
activation of pending and stop orders on the server;
performing operations on the trade server side.
Special OnTradeTransaction() handler is provided in MQL5 to get trade transactions applied to an account.
OnTradeTransaction() function can be used for:
Getting real-time notifications about trade transactions as they occur.
Copying trades from one terminal to another.
Monitor trade transactions made by other ready-made expert advisors on different charts.
Having data on a trading operation type, you can decide on further analysis of the current state of orders, positions and deals on a trading account. (for example, update your calculations when the the list of open positions is changed).
Tracking the result of executing the trade request on a server sent by OrderSendAsync() function for conducting asynchronous trade operations without waiting for the trade server's response to a sent request.
The OrderSendAsync() function is designed for high-frequency trading, when under the terms of the trading algorithm it is unacceptable to waste time waiting for a response from the server.
However, analysis of trade transations using the default OnTradeTransaction() handler provided in MQL5 seems complicated.
TradeTransaction
class will map the underlying low-level trade transactions to a custom handler corresponding to the trade operation type.
The class has the following methods:
Finally this article makes an in-depth discussion about trade transactions in mql5
MQL5 Cookbook: Processing of the TradeTransaction Event
Updates
:
2019.03.06 - v.1.00 : Initial release.
2025.03.05 - v.1.10 : Fixed issue with STOP LIMIT orders not being captured. Added 'SetLogging' public method to control printing verbose information to 'Experts' logs.
You may also like: To Close All Open Trades of Different Symbols - 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.