Expert profiling conundrum - how not to exceed the 15 minute limit of the Championship - page 3

 
DC2008:
You'll have to teach MQ programmers to write indicators. The performance of this or that approach is proven in the article, if you're too lazy to read it, it drops by 20 times.

Bullshit! In MT4 when iCustom() is called, the test time only increases by 10%. I haven't measured it in MT5, but I assume it will be even less.

These 10% are nothing compared to the convenience of indicators, reliability and capabilities of implementing complex algorithms of data analysis.

 
marketeer:

...

I'd like to hear more about how the inidactor becomes a bottleneck. I have one indicator in use, but reading data from it is included in the 1.5 minutes of timing I have measured.

If using indicator value from formed bar, call the indicator once per bar on each bar, not on each tick and not as needed with skipping bars.

 
Integer:

If using an indicator value from a bar formed, call the indicator once per bar on each bar, not on each tick and not as needed with bars skipped.

I did so. The test ran in 12 minutes instead of 16 minutes. All in all, gives a gain of a quarter of the time from "my" estimated time. But given that there will be another month of testing in time for the start of the Championship, everything remains in doubt.
 
There is another trick. Jump out of OnTick() if the price has changed by less than one four-digit point.
 
marketeer:
So I did. The test was done in 12 minutes instead of 16. All in all, gives a gain of a quarter of the time from 'my' estimated time. But given that there will be another month of testing before the start of the Championship, everything remains in question.
Maybe the indicator is too slow? Try to replace it with a simple and sure-to-be-fast one to estimate the time spent on the indicator and order processing. Order processing is very time consuming.
 
Integer:

Bullshit! In MT4 when iCustom() is called, the test time only increases by 10%. I haven't measured it in MT5, but I assume it will be even less.

These 10% are nothing compared to the convenience of indicators, reliability and capabilities of implementing complex algorithms of data analysis.

The ironclad argument is "haven't measured it, but I'm guessing".

Good luck to you.

 
DC2008:

The ironclad argument is "I didn't measure it, but I'm guessing".

Good luck to you.

Don't take it one phrase at a time, read the whole post from the beginning and carefully.

And in general, if I assume, then there is reason to assume so.

ps. I also assume that I am not wrong.

 
marketeer:
Sorry for the flooding in the thread, I'm just persistently allergic to the subject.
 
Integer:
Maybe the indicator is slow? Try to experiment and replace it with a simple and fast one to estimate the time spent on the indicator and order processing. Order processing is very time-consuming.
I have a profiler, so I do not have to estimate anything, I just take the time - I've written above what is spent on what.
 
marketeer:
I have a profiler, so I don't have to estimate anything - I just time it - I wrote above about what's being spent.
Then there's some discrepancy in the time measurement. Your whole code takes a minute and a half, but by calling the indicator once per bar you've already managed to gain 4 minutes.
Reason: