I've noticed for the past several builds (since 765) that there will be times where the terminal gui will freeze, but the terminal seems to continue placing orders. In other words, I cannot click on anything on the terminal (it is unresponsive). But when the terminal becomes responsive again, you will see trades placed on the chart. in some cases, trades placed and closed according to expert advisor algo instructions. So after the fact, it seems that only certain parts of the platform froze or became unresponsive. Other parts were still connected to the broker.
- can the mt4 terminal freeze the gui, but continue processing algo instructions? If so, can MQ or someone here provide more info on how it does this?
- Is the broker doing the freezing? Is it the local computer mt4 is running on? I check cpu usage and it is not high. The vps itself does not freeze, and I check with other terminals on the VPS and they can respond to them just fine. This has happened with a few different brokers that were actively trading.
Win 2008 R2 SP1 64 bit with 2.5 GB ram (usually at least 500MB-800MB free)
I do not know the answer for sure, but they claimed:
- EAs and scripts run in dedicated threads each.
- Indicators and GUI share a single thread.
The connection to the server also may either share the GUI thread or run in its own thread(s). I believe it runs an additional thread, otherwise RefreshRates() command would have no sense in indicators.
So, my best guess: some indicator very probably does the freezing, but the EA and the server connection (quotes and trading channels) may still work.
So how do you measure the threshold of how much a terminal can take? I have no idea about exactly how much mt4 terminal is processing.
My programmer suggested the following: Amibroker has a 'Performance Indicator', which tells how much processing AB is doing.....ask Metaquotes to also provide this [for mt4]. edit: here are a couple of examples of a performance indicator for AmiBroker charting platform:
https://www.amibroker.com/guide/w_perfmonitor.html and https://www.amibroker.com/guide/x_performance.html (skip to 1/2 way down the page)
That doesn't tell the user what the terminal is actually doing behind the scenes. how many ticks it is processing, how many threads and what they are doing for each pair/chart, etc. I think an internal or EA performance monitor created by MQ could display a lot of stats helpful to debugging or finding out what is using xx resources. It shouldn't be this weird guessing game.