Does it make sense to switch from MT4 to MT5? Why did you switch to MT5? - page 8

 
Nikolai Semko:

Mostly pattern recognition.
Google your google photos and you'll see that google can find one face of any person all the photos with that face in all your photo archives. How many trillions of operations do you think it would take Google's servers to do that?

A lot. A lot.

But is it necessary for trading? Is it necessary for the trading platform? Or should mt5 also dig through the photo archive?

Pattern recognition is applicable to trading, but the example of a photo archive is irrelevant.

Although, if we want to run blindly the long-term ticks collections in "multicurrency" mode, we can attach billions/trillions operations to each tick.

 

Anyway, I've found the answer to the question. MT5 is faster than MT4. Thank you all guys!

From personal experience computing speed plays a huge role, even if you don't think so now. A simplified example is an old and a new computer. One takes 5 seconds to load every morning, the other 30. You end up saving 25 seconds each time you start up. And multiply that time by a couple of years of using it, you get a huge time hole of working time. So I'll be making the switch to MT5.

 
Nikolai Semko:

I didn't expect that...

 

I want to bring you closer to reality given the discussions of the thread What would it take to get everyone to finally switch to MT5? (collecting opinions):

  1. MetaTrader 5 is faster in trading operations

    The architecture of 5 is an order of magnitude more efficient than 4. All processes are re-engineered to allow trading with minimal delays.

    With (or without) asynchronous operations you can achieve a maximum of several thousand trades per second. Everything is built for speed, including the prioritization of trades.

    It's not even close to be done in 4.

  2. In MetaTrader 5 robots run up to 20 times faster

    This is because 5 uses a C++ level compiler that makes the code extremely efficient. F4 uses the old runtime system without code optimisation.

    Faster speed means reduced latency and improved execution quality.

  3. In MetaTrader 5 you can handle huge amounts of data

    Those who are engaged in deep development know the size of the data stored in the directories of the five. There are often tens of gigabytes of historical data, including the full tick data.

    Five's storing and displaying full tick data is a non-excludable feature. Do not make a mistake in thinking that because the tick data is not shown on the chart, it means that it does not exist.

    Here is a simple code run on a real account at Otkritie broker and the RTS Splice symbol, which is a glue of all the RTS index futures contracts over many years:
    void OnStart()
      {
       MqlTick ticks[];
       int     records=CopyTicks(Symbol(),ticks,COPY_TICKS_ALL,0,1000000000);
    //---
       Print(Symbol()," ticks ",records);   
      }
    
    it produces 472 million ticks:
    RTS Splice ticks 472 111 564
    
    Yes, 472 million ticks in one request. Do what you want with them afterwards.

    It gives you absolute control over the data. You can get billions of ticks, too. Just manage to kick the broker to take care of the historical data. It is HIS DIRECT WORK AND MANDATE.

    Two lines of code and full data is in your hands. Who's talking about the complexity of MQL5?

    There's no such thing in 4.

  4. MetaTrader 5 has a very precise multisymbol tester with millisecond accuracy

    This allows you to race very complex strategies and have more guarantee that your strategy is not self-defeating.

    You write direct code and the tester takes care of all the complexity of modelling all the variety of the market.

    Periodically traders brag that they can write their simple tester many times faster, but it's all at the level of a cheap run of the cycle for bars. Not to mention the complete exclusion of the entire variety of market conditions, instruments and margin requirements.

    And we have not only the most detailed modelling, including precise conversion of all profits to the balance sheet currency, but also the collection of all statistical information along with the history of floating equity/equity changes.

    This is not even close to what we have in MetaTrader 4.

  5. In the MetaTrader 5 tester there is an amazing function of delayed execution accounting

    The mode of trading with a given lag allows us to fully disqualify most scalper strategies that are fabulous in the tester, but disastrous in the real trading environment.



    Even adding 50-100 ms of delay is enough to dramatically degrade many strategies.

    The power of this function is based on accurate simulation of the market environment, when even Sleep(ms) in the tester works out as in reality. We are able to parallelize the development of the market by creating delays for the Expert Advisor itself, which allows it to perform real execution qualitatively.

    Just play with your network delay and increase it a couple of times to test the robustness of your robot. Check the quality of requotes and bounces at the same time.

    Do you have it in 4? No, of course not.

  6. Five's 64-bit system allows you to operate with a huge amount of charts and deep history.

    This is very important when you're doing complex analysis or scanning multiple symbols and timeframes. You can hold and operate thousands of charts (symbol + period) and be sure they are available instantly.

    Some traders say that they don't need much and that the paltry data of the fours is enough for them. But in reality the stakes in data analysis are increasing all the time.

    My opinion is that the amount of data in a five is still not enough. We are constantly working to improve the efficiency and speed of data delivery. We are constantly tuning performance so that huge data is always at hand and quickly available from MQL5.

  7. Use of multithreaded tester, calculation and cloud servers

    The main cost of strategy development is the optimization of strategies. This is the area where we have invested a lot.

    You can use all your local cores, build a calculation farm in your local area or connect the MQL5 Cloud Network. This allows you to speed up optimization by tens or hundreds of times.


  8. MetaTrader 5 has stacks and execution on a multitude of gateways

    Traders don't know it very well, but MetaTrader 5 has a powerful aggregation system of different liquidity providers and a flexible system of transactions transfer to different providers.

    ECN, liquidity aggregation and matching engine allows efficient execution of best price execution strategies and support multiple markets from a single account.

  9. Five has no data volume limitation

    You can request huge volumes of historical chart data (limit it to 1970) and deal history.

    Have a million trades in your account history? Not a problem. Just add more memory.

  10. A totally different chart architect and object management

    You can manage your chart much more efficiently, and disable the chart altogether for the sake of your builds.

    Use the window the way you want with graphical objects or kanvas.

  11. Huge Standard Library

    Here is the standard library of MQL5. There is maths at the level of R language, data collections, OpenCL, graphics etc.

    Most traders are not aware that we have implemented hundreds of mathematical and statistical functions from the R package in the source code. They allow you to do a lot of complex maths many times faster (5 to 50 times faster) than what is available in R.

    Yes, programs written in MQL5 source code blow the speed of C++ implementation of R by up to 50 times.

  12. Custom symbols, custom stacks, synthetic symbols and simple data import

    In Five, you can easily create your own symbols, including price stacks. Create them from MQL5 code and feed them into rltime from MQL5 code. You can build synthetic symbols using formulas.

    In other words, MetaTrader 5 has long been an independent analytical platform where you can analyse any other data. Any MQL5 program can handle datafeeds.

  13. And a lot of other repeatedly described features.



One has to realise that:

  • The technology is constantly evolving, and those who stay with the old mantra of sufficiency are left behind.

  • Yes, it's a technology race. And first of all for traders

  • The MQL4 and MQL5 languages are absolutely the same in complexity

    It's really funny to listen to statements about the simplicity of MQL4, when the complexity of MQL5 is exactly the same. THE COMPLEXITY OF MQL5 IS EXACTLY THE SAME.

    Or we must admit that a couple of additional parameters is a universal problem for a programmer. No, of course not. This is a beautiful legend for those who are stomping on the old ones.

  • I've said it many times and I will say it again - programs are written by professional developers

    Less than 2% of users use the code editor. The majority of traders download off-the-shelf stuff from the Market and kodobase without analyzing the code.

    The stories about simple MQL4 are exceptionally ridiculous. Discussions about OOP are out of bounds at all, especially since it has been in MQL4 for a long time. Any programmer nowadays must know OOP by default.

    Only a sufficiently skilled programmer can create a program of acceptable quality. Don't be fooled by the possibility of "writing acceptable code without programming knowledge".

    I have spent 28 years programming on a daily basis and know that my assertion is reality.

  • Enough of our technology partners and third party developers are directly interested in keeping MetaTrader 4

    Because this platform has so many technology flaws, they have saddled themselves with the add-ons/holes niche and are directly feeding on it.

    Yes, they spend a fair amount of resources convincing brokers and traders that "MetaTrader 4 is better". Because their business will collapse. And here they sit under the names of independent traders, working in opposition.

    We do not have the ability to fight this aggressively, although we disable particularly zealous and know very well what and how they tell brokers and traders.

    For example, remember the outcry that antivirus vendors have been raising for 10 years when Microsoft makes their platform more secure and takes away their security features. Just righteous anger and a lot of PR.

  • Progress is unstoppable.
 
Олег avtomat:

I didn't expect that...

Yeah, I got a little excited. I apologise.
 
Renat Fatkhullin:
More than impressive.
 
Renat Fatkhullin:
  1. MetaTrader 5 is faster in trading operations

    Five's architecture is an order of magnitude more efficient than that of Four. All the processes are rebuilt to allow trading with minimal delays.

    With (or without) asynchronous operations it's possible to achieve a maximum of several thousand trades per second. Everything is built for speed, including the prioritization of trades.

    It's not even close to what is possible in 4.
    ....

Everything is great when guided by seller-buyers and Market rules.

But for a free trader MQL is missing or hindering:

1. lack of multithreading,

Absence of user events,

Absence of callback functions (it had been promised a year ago). 4,

4 Absence of API (as far as I understand, it doesn't exist and won't exist as well, so...), but at least pp. 1 and 3.

 
Yuriy Asaulenko:

Everything is great when guided by seller-buyers and Market rules.

Here's what's missing, or hindering, for the free trader:

1. lack of multithreading,

2. Lack of callback functions (a year ago, I think, was promised),

Absence of API (as far as I understand, it doesn't exist and won't exist as ...), but at least pp. 1 and 2.

1. won't be

2. most likely it won't, they've given up

3. MQL5 is API

If you want an API without a terminal, then write it that way, not hide behind an allegedly third-party argument. There will be no pure API without a terminal and this has been stated many times.

For those who still hope for a continuation of the holiday with MT4: From March 1, the support of old versions of desktop and Android terminals MetaTrader 4 will be discontinued
 

There will soon be a real treat for R users with presents.

Expect good news!

 
Renat Fatkhullin:

1. will not be

2. probably not, they refused

3. MQL5 is API

If you want API without the terminal, write it that way, instead of using third-party arguments as a cover. The API without the terminal will not be pure and this has been repeatedly stated.

Thanks, I see.

No, I don't want API per se, but API in the terminal and trading via the terminal. This is very convenient not only for automatons, but also for manual trading and it is necessary for interaction with external analysis programs and semi-automatic deals. But, never mind, it still won't. Just explained.

Reason: