MetaTrader 5 Platform Update Build 6090: General Improvements - page 8

 
Ryan L Johnson #:

Oh really? Excessive chart objects are some of the most burdensome elements of MQL5. That's a fact widely known by users who have experienced lags and freeze-ups.

Code a simple historic line study as an object instead of an indicator buffer and watch what happens.

I am waiting the source(s) and evidence(s) about that claim. Thank you.
 
Alain Verleyen #:
I am waiting the source(s) and evidence(s) about that claim. Thank you.

Sorry. As I mentioned to another Moderator in my Blog, I'm not in the habit of of saving files that can freeze MT5.

One could always prompt the MT5 AI Assistant to create such a thing, but I wouldn't recommend it.

 
Ryan L Johnson #:
Sorry. As I mentioned to another Moderator in my Blog, I'm not in the habit of of saving files that can freeze MT5.

This thread is definitely not for tales and legends. In the future, if you make any claims, please attach the code that can back them up.

Ryan L Johnson #:
One could always prompt the MT5 AI Assistant to create such a thing, but I wouldn't recommend it.

This is useless noise. Please respect the time of those reading this thread. The terminal developers are reading this too, by the way.

 
rkdius #:
Well, thank you. Now you understand where the issue is and what I was talking about from the start.
I've coded indicators drawing over 300k objects to the chart, and can confirm this was handled pretty nicely.

Though, roughly around 150k object count, I could feel a performance degradation. So I added custom code to handle lots of the API calls and stored data on my own to reduce excessive calls to API functions.

The main challenge was to build a draw library handling the objects efficiently. But at that count, I would say, this is required, and you cannot rely on the generic mt5 subsystem to handle all your needs perfectly.

After all, fast code is a question of design catered to the task at hand. Meaning, simple design decisions, data layout of structures, access patterns, code flow, function design and alike all go into your end result. MQ can't possibly design the API in such way, that it fits into all scenarios. Its the job of the API user to tailor their code around the APIs design and behavior to get the most efficient results.

Blaming the game because I loose doesn't make me a better player, does it?
 
Ryan L Johnson #:

"OnInit() function of void type always means successful initialization and is not recommended for use" (https://www.mql5.com/en/docs/event_handlers/oninit).

No, this doesn't fix anything:



string s;

int OnInit()
{
    s = Symbol();
    if (SymbolSelect(s, true)) return INIT_SUCCEEDED;
    else return INIT_FAILED;
}

void OnTick()
{
    Print(s, ": Ask = ", SymbolInfoDouble(s, SYMBOL_ASK), ", Bid = ", SymbolInfoDouble(s, SYMBOL_BID));
}

Can anyone else please confirm this bug? Or is it something with my system setup?

 
Andriy Moraru #:

No, this doesn't fix anything:



Can anyone else please confirm this bug? Or is it something with my system setup?

NormalizeDouble(Bid, _Digits)

and

DoubleToString(Bid,_Digits)
 
Andriy Moraru #:

No, this doesn't fix anything:



Can anyone else please confirm this bug? Or is it something with my system setup?

The problem is real with Build 6090, though it has already been fixed, I checked with beta Build 6116.
 
Ryan L Johnson #:

Sorry. As I mentioned to another Moderator in my Blog, I'm not in the habit of of saving files that can freeze MT5.

One could always prompt the MT5 AI Assistant to create such a thing, but I wouldn't recommend it.

Next time you claim something without being able to provide the evidences will result in a ban.

Moderators don't have time to lose, and you did it already too often.

 
Vladislav Boyko #:

Why can't I delete a tag through the web interface? Repository link: tag-deletion-issue

Issue confirmed and reported to MQ attention. Thanks.

 
Dominik Egert #:
and you cannot rely on the generic mt5 subsystem to handle all your needs perfectly

You're right, thanks for backing me up (unintentionally!)

But I can expect developers to make it better.

Next time try without personal attacks. Let's keep it civil and talk about facts!