Download Detecting the start of a new bar or candle for MetaTrader 5

Detecting the start of a new bar or candle

Detecting the start of a new bar or candle

This tool for MetaTrader 5 is specifically engineered to streamline your trading operations. This Expert Advisor serves as automated trading software. It is utilized to monitor financial markets and execute trades based on predefined algorithmic rules, enabling precise position management without the need for constant manual oversight.

MT5 expert Pack 📂

How to Setup and Use Detecting the start of a new bar or candle

1. Installation: Open the "File" menu, select "Open Data Folder," navigate to MQL/Experts, paste your file, and restart the terminal.

2. Activation: Drag the EA from the Navigator onto a chart, ensure "Allow live trading" is checked in the Common tab, and verify the AutoTrading button is green.

3. Optimization: Right-click your chart, choose "Expert List," click "Properties" to adjust inputs, and save your preferred setup as a set file for future use.

4. Maintenance: Regularly check the "Experts" tab in the terminal window to monitor trade logs and potential execution errors.

Frequently Asked Questions

Q: Why is my EA not opening trades? A: Check the "AutoTrading" button, ensure "Allow live trading" is enabled, and verify your broker allows automated trading on your account type.

Q: Can I run multiple EAs on one chart? A: No, each chart can only host one active EA; however, you can open multiple charts for different currency pairs to run several EAs.

Q: What does the "smiley face" icon mean? A: A smiley face in the top-right corner of the chart indicates the EA is successfully running; a frowny face means it is disabled.

Description & Settings


For an Expert Advisor (EA), when a new quote ("tick") is received by MetaTrader, the standard event handling function is called by the terminal. However, there is no standard event handling function for when a new bar (candle) starts.
To detect this, you need to monitor the opening time of the most recent bar. When it changes, it signifies the start of a new bar, and you can react to the situation and handle the event. The following code example, compatible with both MQL4 and MQL5, demonstrates one of the methods of how this can be achieved:
In the previous code, the keeps track of the bar's opening time, even when returning from the OnTick() function. Unlike a normal local variable, it memorises its data content and does not release it when leaving the function. This is the key to detecting a change in the current bar's opening time.
It is also important to note that when the EA is placed on a chart for the first time, the previous code reacts as if the bar had just opened. This condition requires special treatment if the situation needs to be handled differently.
Please note that the source code for all my CodeBase publications is now also available via MetaEditor 's "Public Projects" under the name "FMIC".

You May Also Like

RobotFX does not own any of the code provided on this platform. All tools are freely available on the internet; we simply index and re-offer them for download. We are not responsible for any financial losses that may occur. Trading responsibilities rely solely on the traders downloading and using the displayed Expert Advisors, indicators, and scripts. These tools are provided for educational purposes only and may require modification or optimization to align with a trader's specific strategy or needs.
© ROBOTFX - Best MetaTrader Expert Advisors & Indicators