New MetaTrader 4 Client Terminal 387 and MetaTrader 4 Data Center build 387 - page 13

 
- I updated today (1.03.2011) to a new version and started having problems with the indicator IND_Correlation.mq4. When you turn on the terminal, or at short-term failure of communication, the indicator disappears. I have to either reload the template or go from one timeframe to another. It is not convenient, guys).
 
brici:
- I updated today (1.03.2011) to a new version and started having problems with the indicator IND_Correlation.mq4. When you turn on the terminal, or at short-term failure of communication, the indicator disappears. I have to either reload the template or switch from one timeframe to another. It is not convenient, guys).
Today 2 DC suggested to update to 388 version, maybe the developers have corrected something else. I updated, haven't noticed anything bad so far. The update was from 229, I was surprised at first, then I remembered there was a thread about 387
 
Renat:

We will be discontinuing support for the 225 build after a while due to the presence of some critical bugs, giving everyone a month's notice in advance.

I specifically keep one of the 225 build terminals in case we need to debug the interface with the DLL. You have prohibited debugging in later versions. As far as I understand it, this is to prevent decompilers from appearing again. What solution would you suggest for those who need to debug the interface between the MQL scripts and the DLL?
 
api:
I purposely keep one of the 225 build terminals in case I need to debug an interface with a DLL. You have banned debugging in later versions. As far as I understand it, this is to prevent decompilers from appearing again. What solution would you suggest for those who need to debug the interface between the MQL scripts and the DLL?

In fact, that leaves only printers or similar logging mechanisms.

Unfortunately, the choice between protection and convenience had to be made in favour of protection.

 
Zhunko:

Here are the facts:

1. You load the attached indicator onto the chart. A broken line appears.

2. refresh window from context menu - "Refresh". The line disappears and does not appear.

Everything happens due to optimization in the code and unnecessary initialization of indicator buffers when updating the chart.


Thank you. We'll try to figure it out.
 

Zhunko

The indicator you presented doesn't take IndicatorCounted into account at all, which is the main tool for optimizing calculations.

The data may change not only by Refresh, but also after a connection failure. So? Your indicator does not track this in any way. This is incorrect.

By the way, your indicator doesn't track the change of symbol and/or period, either (and buffers re-initialization always was!). Your example, on the contrary, shows the necessity of initialization of indicator buffers to prevent unnecessary illusions.

 
stringo:

Zhunko

The indicator you presented doesn't take IndicatorCounted into account at all, which is the main tool for optimizing calculations.

The data may change not only by Refresh, but also after a connection failure. So? Your indicator does not track this in any way. This is incorrect.

By the way, your indicator doesn't track the change of symbol and/or period , either (and buffers re-initialization always was!). Your example, on the contrary, shows the necessity of initialization of indicator buffers to prevent unnecessary illusions.

What illusions? I don't need it. It's just a vertical sweep and that's it. I don't care what data is in the buffer. As long as it sets the vertical size.

Why has this feature just appeared in 387 and was not present in previous builds? Surely, all complaints on indicators nowadays are caused by this unnecessary feature.

Better make a separate function for forced initialization of indicator buffers.

 

I have a question for developers.

If custom indicators are used, in bild 388 and future ones, I understand that IndicatorCounted() is a guarantee against account errors.

But if the calculation algorithm is used directly within an Expert Advisor, what should I do in this case? It seems that IndicatorCounted() does not work in Experts, at least, I checked it and it gives -1.

I saw that you were asked to make a function, which indicates that downloading or updating of data has occurred, but you're silent on this point. It is fundamentally difficult to do, or you just do not have time to do everything at once, or just do not have the time, or do not want to bother with it?

I've already written that I've lost a lot of money turning on my Expert Advisor with incompletely downloaded data.

Then what can you advise to use calculation algorithms directly in the Expert Advisor not to run into incompletely pumped data?

I often use the construct in Expert Advisors:

void my_function()
{
   static int bars;
   int limit=Bars-bars-1;
   bars=Bars-1;
   if (limit<0) return;
   if (limit>1)
   {
      limit=Bars-period-1;
      // Еще данные
   }
   for (int i=limit; i>=0; i--)
   {
      // Расчет переменных
   }
}

Maybe something else can be added to increase the reliability?

After all, the point of trading, as you yourself understand, is not only to calculate and draw custom and other indicators, but primarily to make money. The market is already extremely mobile and complex, and you probably can not imagine what a nerve strain sometimes occurs when working in real accounts. And when you have to watch out for terminal design defects, it is a big strain on your health, mind and everything else. After all, programming the terminal is a very complex, but very specific goal and task. And the processing of a continuously wriggling signal, which is constantly changing the frequency, the amplitude, spreads, news, price manipulation by banks and large traders, greed of brokers, in general, like on a minefield. With this problem even PhDs become like little children and leave Forex in terror, if they tried it. Loss of big amounts of money or deposits in general looks like death of a person. Then it turns over again and starts all over again. I respect you as a good professional in your business, and what you have done already works well in general, but I hope you will make a better and more reliable product in the end.

 
ANG3110:

I have a question for developers.

Although I'm not a developer, but let me say a little.

If custom indicators are used, in bild 388 and future ones, I understand that IndicatorCounted() is a guarantee against account errors.

This was in all builds, they just fixed some bugs.

But if the calculation algorithm is used directly within an Expert Advisor, what should I do in this case? It seems that IndicatorCounted() does not work in Experts, at least, I checked it and it gives -1.

It does not and will not work

I saw that you were asked to make a function, which indicates that downloading or updating of data has occurred, but you're silent on this point. It is fundamentally difficult to do, or you just do not have time to do everything at once, or just do not have the time, or do not want to bother with it?

MT4 will not be modified - fixing bugs at most

I've already written that I've lost a lot of money turning on my Expert Advisor with incompletely downloaded data.

These are just words... We need a debriefing on why and how... It may be the fault of wrong/undocumented algorithm of the Expert Advisor

Then what advice do you have on using the algorithms for calculating directly in the Expert Advisor not to run into underfilled data?

We have to decide on the terminology. What is "underinflated data"? You can create in your EA your function IndicatorCounted(), such as this one: https://www.mql5.com/ru/articles/247

Maybe, you can add something else to increase the reliability?

In addition, you can track the skipping of bars and on this basis, consider that the history is incompletely downloaded, etc.

 

AlexSTAL:

These are just words... We need a debriefing on why and how... It may be the fault of wrong/incomplete algorithm of the Expert Advisor

Then what is your advice when using algorithms to calculate directly in the EA so that you don't end up with underpumped data.

We need to define the terminology. What is "underfilled data"? You can create in your EA your function IndicatorCounted(), such as this one: https://www.mql5.com/ru/articles/247

Maybe, you can add something else to increase the reliability?

In addition, you can track the skipping of bars and on this basis, consider that the history is under-quantified, etc.

OK, I'll have a look at the article you refer to.

About the under-jumped data... Now due to the passage of time I won't be able to quote the logs. But it looked something like this.

On American broker ATC, EA was left on and the terminal was closed. The next day the terminal was opened and after opening and automatic login there was a pause with no quotes. The Expert Advisor sent an additional request to open a position and the history started to be swapped and the position was opened according to the previous day's calculations in the area where it should have been closed but it was just opened and instantly lost against the market that was moving in the opposite direction. The position ended up being closed with a deep loss, I do not remember how much it was lost but a lot.

Another case. I left an Expert Advisor with a channel calculation in its algorithm, something similar to Bollinger, but requiring many bars because it had an adaptation algorithm. I did not see the moment when the trade started, but I saw it about 20 minutes later. It turned out that deviations from the adapted average were not considered and the channel broke in the line, as if lying on the average. My Expert Advisor was opening and closing one position after another and it lost about $4,500 in 20 minutes by 0.2-0.3 lots. 4,500$ in a totally winning market. This could happen if there was either very little data or something was missing for the design I cited above.

Now I always switch off EAs after trading. Now I always disable them when I open the terminal again and wait for data to be pumped and only when I am sure of it I turn on my Expert Advisors and usually I may leave them on for a long time.

Reason: