Automatic checking of products in the Market (questions and suggestions) - page 5

 
Rashid Umarov:

This has already been corrected.

Thank you.

 
Once again I would like to point out to MetaQuotes representatives that it would be desirable to make the automatic validation more intelligent and flexible. There is no point or justification in lumping all products together. In particular, this applies to the error "tester takes too long". Having neither clear-cut criteria, nor description of the testing process and infrastructure (which was done at least within the framework of the previous Championships in algorithmic trading), nor more or less complete diagnostic information, application developers have to telepathically or by groping around to find out how to cram the product into the Procrustean bed of the autovalidator.

For example, it's clear that in case of indicators the number of calculated buffers and their direct purpose objectively influence the execution speed limit. If the indicator is intended for calculation of statistics on ticks on tenths of buffers/levels (all the ticks without gaps, i.e. everything that has been received since the previous event OnCalculate is read through CopyTicksRange), it cannot have the same requirements, as the closing price MAA.

Of course, profiler and economical calculation methods are already in place, refactoring takes days, but "tester takes too long" remains in place. Using minimal available information about the tested pairs and timeframes (EURUSD H1, XAUUSD D1, GBPUSD M30, EURUSD M1), I run 4 specified tests on a medium-sized computer and get run times in the range of 1.5-2 minutes per pair. Why the autovalidator is missing an hour, I don't know and have no way of knowing. The lack of feedback (human moderators previously present) does not allow the problem to be resolved. Before the introduction of autovalidator, the product was successfully moderated.

For the Market to conveniently (including for the developer) update and provide users with quality products of different functionality, support must be present, imho. Now the situation is such that the products are being pushed into the gray area - outside the Market. If autovalidation cannot be done without cutting the product, then the only way out is to offer a new version of the product directly to customers.

PS. And a small addition. According to the profiler, the entire OnCalculate processing takes 11 seconds out of one and a half minutes of the annual test. So, the speed pass factor of a particular indicator depends only 12% on the indicator itself, and to a much greater extent - on the tester. I.e. the phrase "tester takes too long time" should be understood literally - " the tester slows down". And whose problem is this? How can an MQL-developer be responsible for speeding up the MQ tester?
 
Stanislav Korotky:
PS. And a small addition. According to the profiler, the entire OnCalculate processing takes 11 seconds out of one and a half minutes of the annual test. So, the speed pass factor of a particular indicator depends only 12% on the indicator itself, and to a much greater extent - on the tester. I.e. the phrase "tester takes too long time" should be understood literally - " the tester slows down". And whose problem is this? How can the MQL developer be responsible for the acceleration of the MQ tester?

Something is not clear. Even the real ticks are prepared faster. There's nothing to do there in a minute and a half.

No objects are created on the main level?

 
Stanislav Korotky:
PS. And a small addition. According to the profiler, out of one and a half minutes of the annual test the whole OnCalculate processing takes 11 seconds. So, the speed test passing factor by a specific indicator depends only at 12% on the indicator itself and much more on the tester. I.e. the phrase "tester takes too long time" should be understood literally - " the tester slows down". And whose problem is this? How can the MQL-developer be responsible for speeding up the MQ tester?

Logs from the autovalidator showed that the test on M1 cannot pass the monthly interval in an hour .

test on EURUSD:M1, from 01.5.2018 to 01.6.2018, deposit 1, model 1, execution delay 1 ms 

While on H1 the same indicator passes the test in a couple of minutes.

test on EURUSD:H1, from 01.5.2017 to 01.6.2017, deposit 10000, model 1, execution delay 1 ms 

Look for the reason in your code.

 
MetaQuotes Software Corp.:

Logs from the autovalidator showed that the test on M1 cannot pass the monthly interval in an hour .

While on H1 the same indicator passes the test in a couple of minutes.

Look for the cause in your code.

Unfortunately, I do not see an hour delay in the above log snippets, but probably they are only needed to highlight the month? I checked it myself, I don't see any jams, I can send you the log in my personal message.

Are there any errors in logs (which are not shown in report on site)?

 
Andrey Khatimlianskii:

There's something fishy going on here. Even the real tics are getting ready faster. There's nothing to do for a minute and a half.

No objects are created on the main level?

Of course there are objects, but the profiler should have highlighted them too - isn't that right? All constructors/destructors are there. When sorting by runtime, OnCalculate is at the top, as expected. The indicators are tested in visual mode - there is a visualization.

Here's from the EURUSD M1 test for 2018:

2019.10.10 18:43:30.736 EURUSD,M1: 26463085 ticks, 371934 bars generated. Environment synchronized in 0:00:00.331. Test passed in 0:04:36.710 (including ticks preprocessing 0:00:03.479).

And here's what's in the profiler (54 seconds):


OnCalculate 449 26463086 54 302 661 99.99%
 
Hello I have disappeared Market in my terminal can not install advisors and indicators from Market reinstallation of the terminal has not helped as well as previously purchased products are not updated on the market who knows how to solve the problem
 
Prostocar:
Hello I have disappeared Market in the terminal I can not install advisors and indicators from Market reinstallation of the terminal has not helped as well as previously purchased products are not updated on the market who knows how to solve the problem

Check the version of internet explorer. There is a suspicion that it is flying off.
 
Stanislav Korotky:

The objects are there, of course, but the profiler should have highlighted them too - don't they? All constructors/destructors are there. When sorting by runtime, OnCalculate is at the top, as expected. Indicators are tested in visual mode - there's a rendering there.

Yes indeed, forgot about "@global_initializations".

It turns out that drawing of bars and indicator buffers itself takes so much time?

And if you compile to release and run the visualiser in the same interval, scrolling straight to the end ("skip to..."), how long does it take?

 
Andrey Khatimlianskii:

It turns out that drawing bars and indicator buffers itself takes so long?

And if you compile to release and run the visualiser in the same interval, scrolling straight to the end ("skip to..."), how long does it take?

Accelerated. 2018 from 4 minutes to 1.5 minutes, 2019 from 1.5 minutes to 35 seconds. And the fake one-buffer indicator, which counts nothing, tests with the visualiser in 53 seconds, and with scrolling in 12 seconds.

But since they say there hangs (timeout is hourly), it's most likely not the processing speed, but some environmental circumstances that we're not aware of (after all, autovalidator is not a terminal tester). That's why at least the logs come in handy.