New MetaTrader 5 platform build 1880: Calculation of the complete history of synthetic symbols

 

New MetaTrader 5 platform build 1880: Calculation of the complete history of synthetic symbols

The updated version of the MetaTrader 5 platform will be released on July 6, 2018. The new version features the following changes:

  1. Terminal: Added calculation of the price history of synthetic symbols for the entire available data depth.

    The platform calculates the history of one-minute bars based on minute bars of instruments as applied in its formula. Previously, the history was only calculated for the last two months. A deeper history could be created upon an explicit request (when scrolling the chart to the left or calling Copy functions). Now, the history is calculated using all available data unconditionally.




    Each symbol used in the synthetic formula can have price history of different depth. Synthetic history calculation is performed for the shortest available period. For example, the formula uses three financial instruments:

    • EURUSD with the history down to 2009.01.01
    • USDJPY with the history down to 2012.06.01
    • EURJPY with the history down to 2014.06.01

    In this case, the history of the synthetic symbol will be calculated for a period from 2014.06.01 to the present. 100 minutes will be additionally discarded from this date, to ensure the calculation integrity (if any minute bar is not available in history, a previous minute bar is used in the calculation).

    If deep history of used symbols is available, the synthetic symbol history calculation can take quite a long time. To enable immediate synthetic symbol chart view, the history for the last two months is calculated first (similarly to calculations in previous versions). Calculation of an earlier history begins after that.

  2. MQL5: New property ACCOUNT_CURRENCY_DIGITS — the number of decimal places in the account deposit currency. Use the AccountInfoInteger function to get the property. You may use the property when calculating profit on your own, to normalize the values ​​obtained.
  3. MQL5: Fixed delay in the execution of Copy functions and i-functions during operations with the weekly timeframe.
  4. MQL5: Fixed operation of the WebRequest function.
  5. Tester: Added ability to perform a single Expert Advisor test after downloading optimization results from a cache file.
  6. Tester: The new version features a faster initial download of price history by local agents.
  7. Documentation has been updated.
The update will be available through the Live Update system.
 
  1. Each symbol used in the synthetic formula can have price history of different depth. Synthetic history calculation is performed for the shortest available period. For example, the formula uses three financial instruments:

    • EURUSD with the history down to 2009.01.01
    • USDJPY with the history down to 2012.06.01
    • EURJPY with the history down to 2014.06.01

    In this case, the history of the synthetic symbol will be calculated for a period from 2014.06.01 to the present. 100 minutes will be additionally discarded from this date, to ensure the calculation integrity (if any minute bar is not available in history, a previous minute bar is used in the calculation).

This is not true. I can only see history bars for the last 12 months when scrolling the chart to the left.

I created EURUSD_cust which take EURUSD as it's formula. No matter how I scroll the mouse, maximum history bars that I get is 12 months

 

Create custom Symbols, add them to market watch, then restart MT5. Every custom symbol in market watch causes an increasing of 13% CPU load.

Work around: remove custom symbols from market watch, then re-add the custom symbols. This step need to be done every time MT5 is started if you wish to use custom symbols without increasing 13% CPU load per custom symbol

CustomSymbols - vs - CPU Load

 

So I repeat here my question (and pray for an answer):

Since now all techn. questions should go to the forum here is mine:

The start of an indicator or an EA starts a thread race of various things. Especially if one uses OOP the setup of all the instances of the classes took quite a while - that's my experience!

In order to start the request of the needed historical data as early as possible, so that they are downloaded while the setup of the EA or the indicator is executed I would like to do e.g.:

int OnInit() {
   MqlRates r[];
   CopyRates(_Symbol, _Period,                                       0, TerminalInfoInteger(TERMINAL_MAXBARS)+1, r);
   CopyRates(_Symbol, _Period,   TerminalInfoInteger(TERMINAL_MAXBARS), TerminalInfoInteger(TERMINAL_MAXBARS)+1, r);
   CopyRates(_Symbol, PERIOD_M1,                                     0, TerminalInfoInteger(TERMINAL_MAXBARS)+1, r);
   CopyRates(_Symbol, PERIOD_M1, TerminalInfoInteger(TERMINAL_MAXBARS), TerminalInfoInteger(TERMINAL_MAXBARS)+1, r);
   ...
}
My question: will the call of CopyRates(..) interfere with each other or will that create independent threads that request and download their data?
 

Is it possible to use MT5 on Ubuntu with pfx keys (certificates) from broker?


https://www.mql5.com/en/articles/625?utm_source=www.metatrader5.com&utm_campaign=download.mt5.linux

MetaTrader 5 on Linux
MetaTrader 5 on Linux
  • www.mql5.com
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. Linux systems are widely used in smartphones and server hardware. Many home PC users prefer it to MS Windows series. In this article, you will find out how to work in MetaTrader 5 via one of the Linux versions...
 
Alexander Schastliviy:

Is it possible to use MT5 on Ubuntu with pfx keys (certificates) from broker?


https://www.mql5.com/en/articles/625?utm_source=www.metatrader5.com&utm_campaign=download.mt5.linux

Depends upon how you emulate the windows environment.

 
Marco vd Heijden:

Depends upon how you emulate the windows environment.

In wine basically. What is the best way?

 
Alexander Schastliviy:

In wine basically. What is the best way?

Wine has severe limitations, Market does not work, and Signal Copy subscriptions do not work.

This leaves you with self made indicators and experts, or you can compile the ones you download from Codebase.

If you need full functionality it's necessary to run a full copy of Windows in for example Virtualbox. 

 
Marco vd Heijden:

Wine has severe limitations, Market does not work, and Signal Copy subscriptions do not work.

This leaves you with self made indicators and experts, or you can compile the ones you download from Codebase.

If you need full functionality it's necessary to run a full copy of Windows in for example Virtualbox. 

I just need to run MT5 with a certificate *.pfx
No need any inducators

 

Anyone else having issues with attaching the built-in Parabolic SAR to a chart?  As soon as I try to attach it, it hangs the GUI.  Still shows activity, just cannot do anything except for doing an end task.

The Parabolic SAR under Examples seems to work fine.

Thanks!

-Dan

 
MarkJoy:

Create custom Symbols, add them to market watch, then restart MT5. Every custom symbol in market watch causes an increasing of 13% CPU load.

Work around: remove custom symbols from market watch, then re-add the custom symbols. This step need to be done every time MT5 is started if you wish to use custom symbols without increasing 13% CPU load per custom symbol


Well Unfortunately I do not see any way to use the synthetic instruments yet, I have created indices for the main currencies USD, EUR, GBP, JPY, CHF, AUD, NZD, CAD, but it is impossible to keep them running, it consumes many resources.

Tested in 2 different ways after generating all the graphics, greatly reducing the number of bars, resulted in an acceptable consumption of memory, but 100% of processor use all the time, with an i7, putting the number of bars without limits, practically 100% memory usage and low processor usage, there is no middle ground unfortunately.

Reason: