New MetaTrader 5 Platform Build 2485: iCustom improvements and overall optimization in MQL5

 

The MetaTrader 5 platform update will be released on Friday, June the 5th, 2020.

Recompile your products in the Market

We urge the programmers who publish their products in the Market to recompile files using the new platform version and to upload the updated files into the Market. The current version provides important fixes in MQL5. The errors can negatively affect the execution of programs and we therefore recommend recompiling your files.


The new version features the following changes:

  1. Terminal: Optimized and significantly accelerated bar history editing for custom financial instruments. The improvement also concerns the CustomRatesUpdate function.
  2. Terminal: Fixed exporting of custom symbol settings to a JSON file.
  3. MQL5: This version features a revised custom indicator loading algorithm via iCustom.

    If the backslash '\' is indicated before the custom indicator name, the EX5 indicator file is searched relative to the MQL5 root folder. So, for a call of iCustom(Symbol(), Period(), "\FirstIndicator"...), the indicator will be loaded as MQL5\FirstIndicator.ex5. If the file is not found at this path, error 4802 (ERR_INDICATOR_CANNOT_CREATE) is returned.

    If the path does not start with a backslash '\', the indicator is searched and loaded based on the following sequence of actions:

    • The EX5 file is searched in the same folder, where the caller program's EX5 is located. For example, the CrossMA.EX5 Expert Advisor is located at MQL5\Experts\MyExperts. It contains the following call: iCustom(Symbol(), Period(), "SecondIndicator"...). In this case, the indicator is searched at MQL5\Experts\MyExperts\SecondIndicator.ex5.
    • If the indicator is not found, a search relative to the Indicators root directory is performed: MQL5\Indicators. Thus, file MQL5\Indicators\SecondIndicator.ex5 is searched. If the indicator is not found, the function returns INVALID_HANDLE and error 4802 (ERR_INDICATOR_CANNOT_CREATE) is raised.

    If the indicator path is set in a subdirectory such as MyIndicators\ThirdIndicator, the search starts in the folder of the calling program (the Expert Advisor is located in the folder MQL5\Experts\MyExperts) at the following path: MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5. In case of failure, file MQL5\Indicators\MyIndicators\ThirdIndicator.ex5 is searched. Please note that the path separator should be specified as a double backslash '\\'. For example: iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...)

    Also, if a custom indicator call via iCustom is found in the program code, the compiler will implicitly add the "#property tester_indicator XXX" directive if it is not specified.

  4. MQL5: Optimized and significantly accelerated HistorySelect function, which allows requesting the history of deals and orders.
  5. MQL5: Fixed an occasional error in tick requesting via the CopyTicksRange function. The error caused the range beginning to be set to the day beginning rather than to the specified time.
  6. MQL5: Optimized and significantly accelerated display of alerts via the Alert function.
  7. MQL5: New property SYMBOL_TIME_MSC for the symbol's last tick time in milliseconds. The property can be obtained using the SymbolInfoInteger function.
  8. Fixed errors reported in crash logs.
The new version will be available through the Live Update system.
 

Awesome. I hope you keep updating until all my desired features are available.

I wouldn't post them here, knowing they will 'never?' be considered.

Good work.

 

Awesome..

there is some issue with the metaeditor's search button..

the new version its different from the previous

and cannot decrease the width by dragging..

is there a possible way to switch or change to the previous version of Search window?

Thanks

 

Hi , 

Need  to remove Trade History arraws , it appears always  , I can not deactivate it in the new Ver.mtr5  ,please check this Issue 

 
If the backslash '\' is indicated before the custom indicator name
How will this affect indicators that begin with valid escape sequence letters? For example "\nicholishen_ind", will you need to escape the backslash? ie. "\\nicholishen_ind"?
 

Recompile products in the Market?   This is a lot of work. 

if the product don't use icustom, does it should be recompiled?

 

 
nicholish en: How will this affect indicators that begin with valid escape sequence letters? For example "\nicholishen_ind", will you need to escape the backslash? ie. "\\nicholishen_ind"?

\n is the LINE FEED character. You always need to escape the backslash or you never had one.
          Language Basics / Data Types / Integer Types / Character Constants - Reference on algorithmic/automated trading language for MetaTrader 5

 

The newest version 2485 feels awesome already. I hope it doesn't disappoint me in the long run. Good job!


sss

 
Updated -

 
Nelson Wanyama:

The newest version 2485 feels awesome already. I hope it doesn't disappoint me in the long run. Good job!



Oooh no!!

crash

Second time in two days.

I did nothing special. Just created a script and boom! Freezes then has to be forcefully closed.
 

Does a product need to be reuploaded if re-compilation with the new standard has been alright ?

I take this as a "no" <Deleted>

The errors can negatively affect the execution of programs and we therefore recommend recompiling your files.