int bars_count=0;
if(iBars(_Symbol, PERIOD_CURRENT)) > bars_count){
bars_count = iBars(_Symbol, PERIOD_CURRENT);
//.......
}else{
}
int bars_count=0;
if(iBars(_Symbol, PERIOD_CURRENT)) > bars_count){
bars_count = iBars(_Symbol, PERIOD_CURRENT);
//.......
}else{
}
Forum on trading, automated trading systems and testing trading strategies
General rules and best practices of the Forum.
Alain Verleyen, 2018.08.03 23:01
When you post code please use the SRC button !
-
Please edit your (original) post and use the CODE button (or Alt+S)! (For large amounts of code, attach it.)
General rules and best pratices of the Forum. - General - MQL5 programming forum #25 (2019)
Forum rules and recommendations - General - MQL5 programming forum (2023)
Messages Editor -
You can't know when a candle closes. Only when a new tick arrives that starts a new bar is the old bar closed, and that tick could arrive almost at the end of a bar's duration.
For a new bar test, Bars is unreliable (a refresh/reconnect can change number of bars on chart), volume is unreliable (miss ticks), Price is unreliable (duplicate prices and The == operand. - MQL4 programming forum.) Always use time.
MT4: New candle - MQL4 programming forum #3 (2014)
MT5: Accessing variables - MQL4 programming forum #3 (2022)I disagree with making a new bar function, because it can only be called once per tick (second call returns false). A variable can be tested multiple times.
Running EA once at the start of each bar - MQL4 programming forum (2011)
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi I want to have a function that I can call from on Tick() that returns a bool if there is a new candle or not for a specific timeframe. I've come up with tis but it's not working properly.