You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
That isn't from the experts log file . . . unless you edited it significantly . . .
The log file fills from the top to bottom, the tabs, expert tab, journal tab, etc fill from the bottom to the top. What you have pasted here is filled from the bottom to the top (oldest entry at the bottom) suggesting it is from the experts tab . . . not from the log file.
The log files are complete while the information in the tabs can often be incomplete as they cannot keep up with the flow of data . . . the log file is the acid test, if it shows you have an issue then maybe you do.
Here it is, directly from experts\logs directory:
I want to remind what manual tells with regard to this issue:
"The Advisor will not be launched for a new, tick if it is processing the previous one at this moment (i.e., the Advisor has not completed its operation yet)"
It was acceptable 5 or 8 years ago, but unacceptable nowadays when number of ticks increased dramatically. When you're making your trading decisions based on market data you expect not to miss any single tick. Don't you? That's why I say it's a bug which must be fixed as soon as possible.
This problem is not isolated to 409 Build. I also tested it on 419, results are pretty much the same.
Imagine that there was a price high in-between 14 and 17 ticks which is now missing. That would affect any high-frequency trading model substantially.Found a Big on MetaTrader Editor
If you have a large expert open( 300 + lines) and you try to use the Replace ( Ctrl+H) functions it now hangs, go into a loop and never comes out .
Can some one else duplicated the problem with this build please.
I want to remind what manual tells with regard to this issue:
"The Advisor will not be launched for a new, tick if it is processing the previous one at this moment (i.e., the Advisor has not completed its operation yet)"
It was acceptable 5 or 8 years ago, but unacceptable nowadays when number of ticks increased dramatically. When you're making your trading decisions based on market data you expect not to miss any single tick. Don't you? That's why I say it's a bug which must be fixed as soon as possible.
Use ...
RefreshRates ();
MetaEditor > navigator window > dictionary tab > MQL4 Reference > Window functions > RefreshRates
I found some more evidence in the manual that this is an intentional bug. Here is an excerpt from the MQL4 Reference > Program Run > Program Run:
RefreshRates() won't help in this case as ticks are just skipped and not processed.
By the way, MQL5 has the same problem:
MetaQuotes, can you fix this bug? Or at least create a workaround for those who wish to process all incoming ticks.
traderjoel:
MetaQuotes, can you fix this bug? Or at least create a workaround for those who wish to process all incoming ticks.
[...] an intentional bug. [...]
This is one of those things where a bug is in the eye of the beholder. MetaQuotes don't consider that it's a bug; MT4 is working as they intend it to work.
What you are requesting has serious side-effects. If the start() function in an EA or indicator becomes re-entrant, then the MQL language and framework also needs to gain various complex synchronisation mechanisms, and MQL4 programming becomes a lot harder. For example, any variable which is not local to a function can then potentially be acted on concurrently by multiple calls to start(), and there needs to be a locking mechanism available. The lack of re-entrancy is one of the many deliberate trade-offs which MQL4 makes between simplicity and flexibility/performance. You call it a bug; personally, I call it elegant simplicity.
There's absolutely no likelihood of MetaQuotes changing this. It's extremely probable that things like the currently-selected order - i.e. the most recent OrderSelect() - are recorded on a per-EA basis and would have to be substantially re-worked so that separate concurrent calls to start() could have their own order-selection context.
It also ties in with the endless discussions of what volume means in MT4. If you think that you need access to every single "tick" - whatever that happens to mean with your broker - then why don't you think that you need access to the top of book rather than just the BBO?