Libraries: MultiTester - page 26

 
traveller00:

1. I would switch from GetTickCount() to GetTickCount64() in Sleep2. Otherwise overflow threatens not quite correct logic. And it happens noticeably less often in the 64-variant. In other works, it might be worth switching too.

There, even theoretically, there can't be a threat of overflow there.

void OnStart()
{
  uint StartTime1 = UINT_MAX - 100;
  uint StartTime2 = UINT_MAX + 100;
  
  Print(StartTime2 - StartTime1); // 200 
}

2. The second ArrayResize ra ises questions here

Most likely it should be

No, everything is correct there. The documentation is lying.

3. And lastly some different types.

Fixed, thanks.

 
fxsaber:

There can't even theoretically be a threat from overflow.

Yes, you are right, I was inattentive. In this case there is really no difference.

But in ThirdPartyTicks -> Web.mqh there seems to be a difference

    ulong StartTime = ::GetTickCount();
...
    StartTime = ::GetTickCount() - StartTime;

That's why I use the 64-bit variant everywhere just in case.


fxsaber:

No, everything is correct there. The documentation is wrong.

I use the following code

    ushort Shorts[];
    MTTESTER::FileLoad(FileName,Shorts);

Inside FileLoad there will be Size=1000, array size 500 and after reading Read=Size=1000. And then my variant is correct. Here I relied on MSDN and this behaviour agrees with it.

 
traveller00:

I use the following code

Inside FileLoad will be Size=1000, array size 500 and after reading Read=Size=1000. And then my variant is correct. Here I relied on MSDN and this behaviour agrees with it.

I have 500.

 
fxsaber:

I've got 500.

That's strange, I've just double-checked it, it matches MSDN. But if no one has any questions and everything works, then fine, I don't see the point in digging into the details.

 

If anyone has done it, please share the scheme of organising work with the results of previous optimizations while the Tester is busy with the current optimization.


It is clear that we need to copy opt-files and symbols. Probably the most reasonable way is via mklink.

 
fxsaber:

If anyone has done it, please share the scheme of organising work with the results of previous optimizations while the Tester is busy with the current optimization.


It is clear that we need to copy opt-files and symbols. Probably the most reasonable way is via mklink.

I use a link to the cache folder. Only not with mklink, but in Far Commander file manager. But it's the same.
You can organise access to files outside the sandbox and with WinAPI, but links are preferable.
In principle, I don't need anything else, but if necessary I need to create links to other folders.
By scheme of work organisation do you mean any other details?
 
Edgar Akhmadeev:
By scheme of work organisation do you mean any other details?

Watch opt-files and run single passes from them.

 

Personally, I try not to use several terminals in one folder. It is very peculiarly made. If it falls off quietly, you will discover it a week later by accident.

And so it works through vin api.

 
Hello. Is it possible to change one of the EA parameters programmatically and run a single test?
 
pivomoe:
Hello. Is it possible to change one of the EA parameters programmatically and run a single test?

MTTester library allows you to do absolutely everything that a user can do via GUI.