Errors, bugs, questions - page 2202

 
Комбинатор:
What's so hard? Keep an eye on the result file + native Sleep solves the problem.

By the way, yes. Easiest )))

 
A synchronisation object with a bigger overhead than the file couldn't offer? Bullshit.
 
Alexey Navoykov:

Yes, there is such a problem. When passing a pointer by reference to an overloaded operator an error occurs. This appeared in the latest builds, everything was OK before. I've sent a request to service-desk for a couple of months now, but it's silent as usual. No reply or goodbye.

This is especially critical for pointer array, since there's no other way to send them, except by reference:

So, I'm still sitting on 1554 build.

I faced the same with pointers in the latest builds, earlier it was possible to pass void without problems, now by reference it does not work, I had to correct code in several of my libraries

 
Sergey Dzyublik:
A synchronisation object with a bigger overhead than the file couldn't offer? Bullshit.

Is it even necessary to write to a file during testing? What's wrong with memory?

 
Alexey Navoykov:

Thanks for the tip about Sleep() from Kernel!

 
Комбинатор:
Why is it so hard to do that? Keep an eye on the result file + native Sleep solves the problem.

MQL Sleep() during testing skips virtual time (i.e. ticks time by 0.6 seconds) while real time skips less than a millisecond and external program executes real time.

But with Sleep from Kernel I'll try it ).

 
Konstantin:

is it even necessary to write to a file during testing? what's wrong with memory?

Yes, using memory instead of writing to file during testing will save some time (I haven't estimated exactly, but I assume up to 30 milliseconds max per cycle), but it is still the external program that takes the most time.

So for now the critical thing is to suspend testing while the external program is running.

 
romachandr:

Yes, using memory instead of writing to file during testing will save some time (I haven't estimated exactly, but I assume up to 30 milliseconds at most per cycle), but the most time is still spent executing the external program.

So for now the critical thing is to suspend testing while the external program is running.

In general, the speed of writing to file and memory differs by a factor of two.

 
romachandr, Iseem to have misunderstood the task. I don't use a tester, and I'm not sure that stopping the EA will stop the generation of ticks. I am incompetent here.
 

And now (build 1809) vice versa

https://www.mql5.com/ru/forum/1111/page2181#comment_6765277

The 3rd line (in OnStart) compiles, but the 4th line does not.

In other words

typedef int (*fn)( uint ); 
#import "Test1.ex5"
        void f( fn );
#import "Test2.ex5"
        int g(  int ); //(1)
        int g( uint ); //(2)
#import
void OnStart()
{
        f( g ); //Error: 'g' - cannot resolve function address
}

And if you swap lines (1) and (2), it's okay. What's the difference?

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.03.09
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
Reason: