Errors, bugs, questions - page 1626

 
Alexey Da:

Is this behaviour observed with any expert?

Logs would be helpful, though. Send a ticket to servicedesk.

I can't attach logs and files from my phone yet. The optimization parameters are about 500. Parameter values from 0 to 2. 2000 iterations go by in a blink of an eye. Then everything is slow. With the previous build it took 120.000 runs in a day.
 
Alexey Navoykov:

...Otherwise, how else to explain the fact that a completely empty script, with only the OnStart() { } function, compiles over 400 ms!

Of course, I don't write compilers, but I'm sure there's just a certain minimum that doesn't depend on the size of the project at all. It's like hailing a taxi and driving to the next entrance - it seems to move a couple of meters, in the money a couple of pennies, but the minimum price of 200r can also cause a question - there's a penny to go, for what ?!
 
Alexey Oreshkin:
Of course I don't write compilers, but I'm sure there are simply some minimums that don't depend on the size of the project at all. It's like calling a taxi and drive to the next entrance - like moved a couple of meters, in the money a couple of kopecks, but the minimum price of serving in 200r may also raise a question - here to go for a penny, for what ?!
Well, with the advent of Yandex Taxi and similar services this has already been somewhat mitigated. And these figures are quite reasonable, because everyone needs to eat. But the figures I quoted are clearly not adequate to the complexity of the task.
 
Alexey Navoykov:

I would like to raise the issue of slow MQL5 compilation once again. About three months ago I tried to raise this issue, but it was not understood, apparently my arguments were not convincing enough. Therefore, I rolled back to the old build (1159), which compiled everything almost instantly (while with new compilers my project compiled in 20 seconds).

And so a week ago I've been trying to switch to a new build. I figured "forget about 20 seconds, I'll bear with it for the sake of new stuff". Of course I had to tweak the code a bit to comply with new conditions, which revealed several bugs of the new compiler (described here).The upshot is that my project has been compiling for 30 seconds already! I don't know if it has to do with the complication of the project or with one more "complication" of the compiler, but it just doesn't fit anymore.

The project contains about 700 Kb of source code, it's an Expert Advisor containing a couple of dozens of mqh. Everything is OOP. People wrote to me earlier that the slowdown is probably caused by large functions. I had a few of them. Well, I've fragmented them into smaller parts and they have no effect.

What's the most astonishing is that this superlong compilation is of no use at all. The speed of the program is the same as with the old compiler, I measured it specifically. That begs only one phrase: "What for?".

I have a strong feeling that there is a bug/malfunction in the compiler because of which it is idly racing through an empty space. How else can I explain the fact that an absolutely empty script with only the OpenStart() { } function compiles over 400 ms!It is unimaginable that it can take so long to compile/optimize an empty script. Well, by adding small functions and classes into it, you can see how rapidly the compilation time grows.

I want to say right away that my hardware is of course far from powerful - Core i5U. But this doesn't prevent my project from compiling in 1-2 seconds on an old compiler. Respectively, the dummy is compiled there in a moment.

I'll also note. The compiler completely lacks not only caching of fragments compiled earlier but even a trivial check to make sure that the source code was identical. I.e. you compile your project and then click the "Compile" button again without making any changes and again wait for the same 30 seconds. How good is it...

I would like to hear comments from MT developers and from forum users working with large projects (is it just me who is concerned about this problem?), how long it takes to compile and on what hardware. We should mention that we are talking about compiling an executable.

It's about complex constructs, which you sometimes report here as bugs. If you don't use them, the time will be significantly reduced. For example, ALL code in kodobase compiles significantly faster than 20 seconds. I have a 1368 build on a very slow laptop that compiles in tens of ms. Give me the code to reproduce.
 
coderex:
That's why I'm not trying to prove anything more, besides projects on the pluses take much longer to build, although they are much bigger, but I'm used to building in a few minutes for an executable or library file, while a project with several files with a directory structure takes up to several tens of minutes :) and to wait for 10-20 seconds is not a problem...
I can't imagine how long such a project would take to build in MQL. Even the full-featured IDEs have different compilation modes. Perhaps you are referring to the release build, while most of the time the debug mode is enough for us. But in MT you don't have much time to wait for that.
Plus, they use precompiled files, so subsequent builds will obviously be faster
 
fxsaber:
The matter is about complex constructs, the frequent failure of which you sometimes report here as a bug. If you don't use them, the time will be significantly reduced. For example, ALL code in kodobase compiles significantly faster than 20 seconds. I have a 1368 build on a very slow laptop that compiles in tens of ms. Give me the code to play.
Aren't you overreacting about ALL the codes? How can you be so sure? Have you tried them all?
And as for complex designs, that's just your speculation. What's complicated about them? If they can present any complexity, it is only at the syntax check stage, and it is performed instantly. This can be seen, for example, by compiling mqh, where no executable code is created. So, after this check all seeming difficulties in syntactic constructions are already solved and the compiler knows exactly what to do. The next step is optimizing of the executable code. So this is where the problem is.
Ok, when I'm at my computer I will give you some code to reproduce. But I'm already confused by your tales about tens of ms on weak hardware. Are we exactly talking about the same things? Is the script file .mq5? And what processor do you have?
 
-Aleks-:
The link does not give the information of interest - be specific.

Hard to guess open the first page of the thread which has two pictures in the first post???

https://www.mql5.com/ru/forum/88768

Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
  • reviews: 1
  • www.mql5.com
Недавно один из национальных брокеров России Solid Financial Services запустил торговую платформу MetaTrader 5 с хеджинговой системой учета позиций...
 
Alexey Viktorov:

Hard to guess open the first page of the thread which has two pictures in the first post???

https://www.mql5.com/ru/forum/88768

I looked at the first picture - they have no data on the website about the cent account for the fives. But the second picture has that data, but it's not clear whether it's possible to overlap there? And the limitation in the number of open orders and position volume... This is not good in general. But it is good that there is a possibility.

But alas, I have no incentive to rewrite the whole code (including spending extra money on rewriting a complex code).

 
-Aleks-:

I looked at the first picture - they have no data on the website about the cent account for the fives. But the second picture has such data, but it is not clear whether it is possible to overlap there? And the limitation in the number of open orders and position volume... This is not good in general. But it is good that there is a possibility.

But, alas, we have no incentive to rewrite the whole code (including spending extra money to rewrite the complex code).

Then why did you have to invent such reasons? You could just say NIKHAT and NOBODY...

If you don't have that kind of money to trade on a dollar account, what restrictions on the number of orders and volumes may strain you? It's all strange.

 
Alexey Viktorov:

Then why make up such reasons? You could just say I don't want to and I won't...

If I don`t have enough money to trade in a dollar account, what restrictions on the number of orders and volumes may strain me? It's all strange.

I want to and I will - I have already ordered a class on working with orders - the way I feel comfortable - I am waiting for its arrival by the end of the year.

I trade a counter-trend grid, and even with increasing lots, with many currency pairs - so a lot of orders and support for a large position volume is required. I solve the problem with different tricks, if I have to develop and implement them again it will only take my time and not improve my financial results.