Hacking objects in an EX5
This software component for MetaTrader 5 is built to enhance the capabilities of your trading environment. This technical indicator acts as a specialized analysis tool designed to visualize market data. It helps traders identify emerging trends, momentum shifts, and key support or resistance levels by plotting statistical calculations directly onto price charts.
How to Setup and Use Hacking objects in an EX5
1. Installation: Place your file in the MQL/Indicators folder via "Open Data Folder" and restart your terminal.
2. Loading: Find the indicator in the Navigator, drag it onto your chart, and configure the input parameters in the popup window.
3. Customization: Press Ctrl+I to open the indicator list, select your tool, and click "Properties" to change colors, levels, or visual styles.
4. Updating: Replace the old file in the Indicators folder with the new version and restart the platform to apply changes.
Frequently Asked Questions
Q: Why is my indicator not showing? A: Verify the file is in the MQL/Indicators folder, or try right-clicking the "Indicators" tree in the Navigator and clicking "Refresh."
Q: Do custom indicators slow down the platform? A: Too many complex indicators can impact performance; remove unused ones via the "Indicator List" (Ctrl+I).
Q: Can I use MT4 indicators on MT5? A: No, MQL4 and MQL5 are distinct languages; ensure the indicator is compiled specifically for your platform version.
Description & Settings
This code demonstrates how you can modify the objects in an indicator without having the source code. There are some indicators that don't use buffers, they are only using objects. It would be easy if inputs could be changed with iCustom, but this is only possible if the indicator is using buffers to draw the elements. What if the indicator only uses objects?
For the demonstration, a free market indicator for MT5 called "PZ Multidiagonals MT5" is used. You would need to install this indicator from the market before attempting to test this code as it is.
We need an object prefix name in order to begin manipulating the objects. The function LogChartObjectNames() is created to log all of the names of the objects which exist in the indicator.
Objects are then manipulated using the ModifyChartObjects() function which passes two parameters. The prefix name (which should be the beginning part of a descriptive object name), and an integer which is for passing how much objects should unmodified or "spared" for that particular object.
The PZ Multidiagonals indicator is a trend indicator which automatically draws trend lines, but goes a little overboard. Here is how the default preset looks:
From the data window, it's evident that no buffers are used in this indicator. Everything is constructed with objects.
Now by starting from a clean chart, and loading this indicator "Hacking Objects.mq5", you will see how I removed a lot of the trend lines, and left what are in my opinion the most relevant not by accessing the inputs, but by hacking the objects: