New MetaTrader 5 Platform build 2875: Improvements and fixes

 

The MetaTrader 5 platform update will be released on Friday, April the 2nd, 2021. The update provides improvements and fixes based on the feedback we have received after the previous MetaTrader 5 build 2860 release:


  1. Terminal: Fixed a bug which caused updated MQL5 standard programs to be copied to the terminal's root data directory instead of the MQL5 subdirectory. Due to this error, additional "Experts", "Images", "Include" and other folders could be created under the data directory.

    After the platform update, these folders will be checked and automatically deleted.

  2. Terminal: Fixed an error which used to prevent users from logging into the built-in MQL5.community chat.
  3. Tester: Fixed optimization of Expert Advisors via the MQL5 Cloud Network. The optimization could fail to start under certain conditions.
  4. MetaEditor: Fixed errors and crashes during MQL5 program debugging and profiling.
  5. Updated documentation.

The update will be available through the Live Update system.

 

Hi,


Can you please fix a bug in the context menu of the "History" tab?

When you select a specific symbol in "Symbols" and then click on "Report" you get a report on all your symbols traded and not a report on that specific symbol.

To the right of "Toolbox" in Metatrader 5 this is displayed correctly, but not in the report.


Kind regards,

RH

 

Is there something wrong with the mt5 strategy tester

i have a powerfull computer but yet as soon as i click start on a test, mt5 makes my computer freeze/crash

it seems to use ALOT of ram which doesnt seem right... i have 32gb of ram and cant even do a test 

 

Dear Metaquotes - why don´t u guys create

a REAL list with changes!

instead of hiding always so many things? Sometimes this costs even WEEKS to figure out which changes have been really made. We are not users, we are developers and we ALL need a lot more of detailed informations!

 

BUG

The ENUM_APPLIED_PRICE  starts a 1 instead of 0     

on MT4 it starts at 0  as do all alike enums.   this causes work arounds needing to be coded to deal with the exception.

attached script demonstrates.

void OnStart()
{   
   for(int iC=0; iC<8; iC++)
   {
      Print(iC + "   " + EnumToString((ENUM_APPLIED_PRICE) iC) );
   }
}
 
Paul Anscombe:

BUG

The ENUM_APPLIED_PRICE  starts a 1 instead of 0     

on MT4 it starts at 0  as do all alike enums.   this causes work arounds needing to be coded to deal with the exception.

attached script demonstrates.

It's unchanged and not a bug.
 
Alain Verleyen:
It's unchanged and not a bug.

ok not a bug in this realease but at some point.

either way, it should be addressed to make it consistant, a pain as it is.

 
Paul Anscombe: ok not a bug in this realease but at some point. either way, it should be addressed to make it consistant, a pain as it is.

Why is it it a bug? Why should the values be consistent?

You should not be using the "values" in your code! You should be using the enumeration ID labels (PRICE_CLOSE, PRICE_TYPICAL, etc.) that are independent of the underlying value.

 
Fernando Carreiro:

Why is it it a bug? Why should the values be consistent?

You should not be using the "values" in your code! You should be using the enumeration ID labels (PRICE_CLOSE, PRICE_TYPICAL, etc.) that are independent of the underlying value.

Should I ?   Try doing that with a combo box 

Why shouldn’t it be consistent?  Programming is all about rules. Throw random stuff in and it falls apart.   It is not even consistent between mql4 and mql5.  So I would call that a bug 
 
Paul Anscombe: Should I ?   Try doing that with a combo box Why shouldn’t it be consistent?  Programming is all about rules. Throw random stuff in and it falls apart. 

We are getting off-topic, but yes, I have used it with combo-boxes and I still use the enumeration ID labels with no problems. Just expand on the class, so that the items contain both a text and a key, not just the text, where the key is the enumeration value.

Since you mentioned programing rules, the whole point of enumerations is that you don't rely on the values in the first place. That is why they are called enumerations!

There are many examples of disjointed or even non-sequential enumerations, and such a key/text ComboBox can be used for all those cases and not just "text-only" ComboBox based on sequential, zero starting enumerations.

 

Recompiled with the newest version and completely lost all of the 'extern' variables of the expert.
I do not want to use input constants because the default extern variables can be changed during the running of the expert through the onscreen interface.

Please return extern functionality.. 
Compile the file below with the 2875 compiler and see if you get the same results that I do.

Files:
Reason: