Size of candles (text)
This tool for MetaTrader 5 is specifically engineered to streamline your trading operations. 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 Size of candles (text)
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
The indicator reflects the size of the bar. The size is calculated by the following formula: "minuend" minus "deduction". "Minuend" and "deduction" can be any of four values (open, high, low or close).
The number of bars for which the size is displayed can be limited in the input parameters (
InpNumberOfBars
). This number remains unchanged even if a new bar has opened:
About synchronization of bars and graphical objects.
Graphical objects accounting
The names of objects are stored in the
m_arr_names[]
array, its size is equal to the
InpNumberOfBars
input. Why do we use an array instead of a simple string variable? This is a kind of reserve for the future.
Forming an object name
The name of the object corresponding to the 'index' bar is formed by the following formula:
When you need to delete all objects
:
removing the indicator form the chart;
closing the terminal (if the indicator was running on the chart);
loading a template, if the indicator is running on this chart;
closing the chart on which the indicator was running;
changing the profile, if the indicator is running on one of the charts of the previous profile;
changing the symbol and/or timeframe of the chart, on which the indicator is running;
changing the indicator inputs.
Therefore, we completely delete created graphical objects:
in OnDeinit()
in OnInit() (this is just in case, if there are undeleted orphan objects)
in OnCalculate(), when prev_calculated==0.
We also clear the
m_arr_names[]
array:
In OnCalculate(), when prev_calculated==0 or when prev_calculated!=rates_total
Maintaining a constant number of graphical objects:
when a new bar (bars) appears, the prev_calculated!=rates_total condition triggers. In this case, all objects are deleted, and the
m_arr_names[]
array is cleared.