I waited to the end of the day and I checked it myself. Unfortunately it returns incorrect prices.
For example the last time daily chart for AUDCAD was opened was at July 3rd. And when I ran the script on July 4th, the function iClose("AUDCAD", 1440,1) returned the close price of July 2nd (bar shift=1 relative to last bar known in history: july 3rd). The history is practically "not empty", but it's not updated.
Is there anyway to force history data to be updated before returning results? Or I have to manually open up each chart to get it updated in history?
1313: July 4th, the function iClose("AUDCAD", 1440,1) returned the close price of July 2nd | How can you expect to get July 4th bar when your post was 2014.07.03 23:20 (one bar back IS JULY 2nd) |
1313: July 4th, the function iClose("AUDCAD", 1440,1) returned the close price of July 2nd | How can you expect to get July 4th bar when your post was 2014.07.03 23:20 (one bar back IS JULY 2nd) |
maybe he lives in asia (australia japan... or even russia) and uses a broker who's using local time (australia...) the systems clock (here) is europa time
qjol: maybe he lives in asia (australia japan... or even russia) and uses a broker who's using local time (australia...) the systems clock (here) is europa time
| If that is the case, it puts his chart one day ahead of 2014.07.03 23:20 and a shift of one means the close would be 07.03. Still can't get July 4th. |
İ tested the function in first minutes of July 4th on my mt4 server time!
I've come to conclusion that history is not updated if the chart is not opened manually :| So, is there any way to do this without opening charts?
My main idea is to run a script to get prices of previous day on all symbols. But it seems I have no way to do this unless I open all charts to get them updated and then run the script... That's a pain..
1313: I've come to conclusion that history is not updated if the chart is not opened manually :
| How do you come to that conclusion? There are no mindreaders here. |
1313: I've come to conclusion that history is not updated if the chart is not opened manually :
| How do you come to that conclusion? There are no mindreaders here. |
Actually I know what he means. I had been waiting for some authorized answer, but nothing comes. The timeframes that do not appear on some chart do not get updated until an MQL read request is made, like iBars. In that case the last 2048 bars are updated. But there is no method I would know about to learn the data is already up-to-date.

- 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
Say like I want to get yesterday's close price of GPBUSD daily bar, while I'm in EURUSD 1H chart window. The function iClose("GBPUSD",1440,1) will return 0 if local history is empty; but how can I know the returned price is actually for yesterday? If local history is not updated does it return incorrect price?