MetaTrader 4 and MetaTrader 5 Memory and Data Loading Management Comparison - page 8

 
Alain Verleyen:

You can hire me, I will code it for you ;-)

It's really hard, so I will ask a very high price, but it will work without problem, you will see

Thanks for your future offer. :)

 

Relax please ; we discuss between adults of a certain intellectual level, we don't have all the same setups, do I believe you when you tell/show/share what you're seeing on your side? Sure.

But I, too, see something on my side. So of course, it'll be & remain subjective.

I missed the tests' hardware spec' you provided at first, I found it. 

Sidenote : just updated to 1959.

 
I think while MT4/5 is undergoing cold/hot start and preparing itself for processing the data, maybe the platform should prevent any trading whether manual or auto to be done during this cold/hot start. 
 
Zee Zhou Ma:
I think while MT4/5 is undergoing cold/hot start and preparing itself for processing the data, maybe the platform should prevent any trading whether manual or auto to be done during this cold start. 

It's not exclusively relative to the way the platform retrieves datas - i've taken for responsible connection to the broker, as it performs faster when datas are preloaded.  

The fact being you can't rely the indicator calculation while datas aren't fully loaded. Each minutes there's nb pairs * new ohlc, you should mind refresh delays and almost all take care of indicator's memory consumption.

The kind of exercise which will necessarily be a huge part of your code - whatever purists and code's optimization enthusiasts say about :)


 
So it is luck if you get it right for the first few trades.
 
Zee Zhou Ma:
So it is luck if you get it right for the first few trades.

Actually you have to get it first, then allow trading.

As @Young Ho Seo said above, when datas are incompletes there's a risk of error - and what is memory consuming is to check all these datas constantly, as new datas appears and across the whole market watch before processing by allowing a deal, or providing a signal. 

It's no easy but it's not impossible, I tried, I did it my way, others' made it their way too - aren't we all looking for the same thing ? Precision & fluidity. 

 
Icham Aidibe:

It's not exclusively relative to the way the platform retrieves datas - i've taken for responsible connection to the broker, as it performs faster when datas are preloaded.  

The fact being you can't rely the indicator calculation while datas aren't fully loaded. Each minutes there's nb pairs * new ohlc, you should mind refresh delays and almost all take care of indicator's memory consumption.

The kind of exercise which will necessarily be a huge part of your code - whatever purists and code's optimization enthusiasts say about :)


Ringmaster, you continue to say stupidities but I should be relax right ? Ok I am

Show your code. All the rest is just babbling.

 
Icham Aidibe:

Actually you have to get it first, then allow trading.

As @Young Ho Seo said above, when datas are incompletes there's a risk of error - and what is memory consuming is to check all these datas constantly, as new datas appears and across the whole market watch before processing by allowing a deal, or providing a signal. 

It's no easy but it's not impossible, I tried, I did it my way, others' made it their way too - aren't we all looking for the same thing ? Precision & fluidity. 


Yes, I tried many different ways too. That is why I made this thread because I suffered with this enough.

Eventually, developing tactics to avoid the empty matrix of data become more work in your developing task.

Another thing is that for different algorithm or task, you have to also change your tactics too. It is not impossible but just time consuming every time dealing with this.


In fact, I set 10 second timer in my code. You can tell that there was 30 seconds waiting for the data loaded fully in MT5.

MT4 was just reliable getting all data in first iteration so 12 seconds it took. This make our coding as developer so much easier.

I am politely asking if MT5 development team can take this point on board.


================================================================================================

This testing results just speaks for it.

A second remark about MT5 when the test is initiated by starting the platform :

2018.12.08 20:19:35.533    293936    Counter: 0, Symbol: CADCHF, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.555    293936    Counter: 0, Symbol: EURGBP, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.561    293936    Counter: 0, Symbol: EURJPY, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.561    293936    Counter: 0, Symbol: EURUSD, M1: 500, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.575    293936    Counter: 0, Symbol: GBPJPY, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.585    293936    Counter: 0, Symbol: GBPUSD, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.593    293936    Counter: 0, Symbol: NZDCAD, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.610    293936    Counter: 0, Symbol: USDCAD, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.622    293936    Counter: 0, Symbol: USDCHF, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1
2018.12.08 20:19:35.632    293936    Counter: 0, Symbol: USDJPY, M1: -1, M5: -1, M15: -1, M30: -1, H1: -1, H4: -1, D1: -1, W1: -1, MN1: -1

The first iteration only grab some data for the current open chart.

It's only at the 4th iterations, that all data are available. It's clearly a weakness of MT5.

2018.12.08 20:20:05.501    293936    Counter: 3, Symbol: CADCHF, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 143
2018.12.08 20:20:05.501    293936    Counter: 3, Symbol: EURGBP, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 308
2018.12.08 20:20:05.501    293936    Counter: 3, Symbol: EURJPY, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 240
2018.12.08 20:20:05.501    293936    Counter: 3, Symbol: EURUSD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 240
2018.12.08 20:20:05.501    293936    Counter: 3, Symbol: GBPJPY, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 240
2018.12.08 20:20:05.502    293936    Counter: 3, Symbol: GBPUSD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 240
2018.12.08 20:20:05.502    293936    Counter: 3, Symbol: NZDCAD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 137
2018.12.08 20:20:05.502    293936    Counter: 3, Symbol: USDCAD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 240
2018.12.08 20:20:05.502    293936    Counter: 3, Symbol: USDCHF, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 240
2018.12.08 20:20:05.502    293936    Counter: 3, Symbol: USDJPY, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 240

This clearly doesn't happen on MT4 :

2018.12.08 20:20:12.638    293936 EURUSD,M1: Counter: 0, Symbol: CADCHF, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256
2018.12.08 20:20:12.638    293936 EURUSD,M1: Counter: 0, Symbol: EURGBP, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256
2018.12.08 20:20:12.638    293936 EURUSD,M1: Counter: 0, Symbol: EURJPY, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256
2018.12.08 20:20:12.638    293936 EURUSD,M1: Counter: 0, Symbol: EURUSD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256
2018.12.08 20:20:12.638    293936 EURUSD,M1: Counter: 0, Symbol: GBPJPY, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 379, MN1: 88
2018.12.08 20:20:12.638    293936 EURUSD,M1: Counter: 0, Symbol: GBPUSD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256
2018.12.08 20:20:12.654    293936 EURUSD,M1: Counter: 0, Symbol: NZDCAD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 454, MN1: 107
2018.12.08 20:20:12.654    293936 EURUSD,M1: Counter: 0, Symbol: USDCAD, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256
2018.12.08 20:20:12.654    293936 EURUSD,M1: Counter: 0, Symbol: USDCHF, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256
2018.12.08 20:20:12.654    293936 EURUSD,M1: Counter: 0, Symbol: USDJPY, M1: 500, M5: 500, M15: 500, M30: 500, H1: 500, H4: 500, D1: 500, W1: 500, MN1: 256

 
Young Ho Seo:


Yes, I tried many different ways too. That is why I made this thread because I suffered with this enough.

Eventually, developing tactics to avoid the empty matrix of data become more work than actually writing the algorithm or coding for the original task.

Another annoying thing is that for different algorithm or task, you have to also change your tactics too. It is not impossible but just headache every time dealing with this.


Maybe Alain or others message is that at least MT5 does not shutdown itself, so we should just get used MT5 way. :)

In fact, I set 10 second timer in my code. You can tell that there was 30 seconds waiting for the data loaded fully in MT5.

MT4 was just reliable getting all data in first iteration so 12 seconds it took. How charm is that. This make our coding as developer so much easier.

I am politely asking if MT5 development team can take this point on board.


How serious is that ? You are sarcastic and in the next sentence you ask "politely"... MT5 developers aren't reading this forum fortunately.

I don't want to offend anyone, but really guys all you are demonstrating here is your incompetency to work with mql5. These data you posted are when the platform is started, how much time are you starting your platform ? Anyway it's easy to deal with it.

I don't have time now to answer with objective data and information but I will.

 

I have removed some offending line in my previous post although I did not mean to offend anyone. @ Alain.