Log4mql (MT4)
Info
The Log4mql (MT4) is a Library for MetaTrader 4 that log4mql - a logging library similar to log4j but for mql. Installation Unzip log4mqllib.
Usage
This tool is typically used for enhancing chart analysis and decision making.
Platform
This Library works exclusively on MetaTrader 4 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL4/Libraries folder via File ? Open Data Folder in MetaTrader 4.
How to Install and Use Log4mql (MT4)
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
Log4mql - a logging library similar to Log4j but for MQL.
Typical Use Case
This Library excels in automated trading and technical analysis on MetaTrader 4.
Compatible Platform & Setup
This Library works on MetaTrader 4. Place the file in the MQL4/Libraries folder and restart the terminal.
Description & Settings
Related: Log4mql - another powerful library for MetaTrader 4 traders.
Log4mql - a logging library similar to Log4j but for MQL. InstallationUnzip log4mqllib.zip to your Libraries folder
Put log4mqllib.mqh into your Include folder
Also recommended: Permutations and Combinations (MT4) - similar library with strong performance on MetaTrader 4.
Use one of the samples that shows the usage Inputs
Loglevel, supports Trace, Debug, Info, Warn, Error and Fatal
Logmode, either Journal only, File only or Journal+File (rewrite or append)
Logfile name, can contain %prgname, %date, %period or %symbol, can be prefixed with 'common:' for common folder
Logfile textmode, either Ansi 8-bit or Unicode 16-bit
Logfile roll policy, either Daily, 100K chunks, or no roll
File roll pattern, like file name and also may contain %i, a roll counter
Message pattern, a log4j-like log message pattern. Pattern specifiers
Examples:
Date specifiers
Any %date (and %local) field may be annotated with a date/time specification argument.
Level specifiers
The %level field may be annotated with a level specification argument. It's a comma-separated list of key=value pairs according to below table.
Format modifiers File Rolling
Depending on the chosen configuration, log files may be closed, renamed and reopened at certain points in time, which is called file rolling. The name of the rolled (previous) log file will be derived from the configured file roll pattern, and the name of the new log file will be derived from the log file name specifier again.
Filename Specifiers
:
Roll spec
:
A counter may be controlled by its roll specification. It's a comma-separated list of key=value pairs that specifies the minimum, maximum and increment behavior.
Numbering of file via roll counter
:
Like in the log4j default rollover strategy, three file numbering schemes are supported. To illustrate how it works, suppose that the min attribute is set to 1, the max attribute is set to 3, the file name is "%prgname.log", and the file name pattern is "%prgname-%i.log".
Counter behavior is 'max', the default:
If the counter behavior is set to 'nomax' there will be no limit in increasing the counter on rollovers, and the files will be created in ascending order (ea-1.log, ea-2.log etc).
Additional notes
:
Field width specifiers can be applied (like in %03i).
Any filename pattern may start with 'common:' to indicate MetaTrader's common data folder location.
In case the log or roll file name does not end with a suffix, '.log' is added.
Compression of files (via .gz etc) is not implemented yet.
You may also like: Math Utils (MT4) - excellent alternative for library users on MetaTrader 4.
⚠ 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.