Errors, bugs, questions - page 2477

 
secret:
Strange, it's been refused for a few years and they still advertise to buy...

You got this letter from the broker's terminal, as far as I understand. Ask him a question or ask him to contact support if he can't fix it himself.

 

Forum on trading, automated trading systems and trading strategy testing

Bugs, bugs, questions

Sergey Dzyublik, 2019.05.23 13:52


How do i know i should wait for their correction?

(not fixed in MT5(build 2069))"Bug with log queue in MT terminal, supposedly, when number of messages in queue reaches the limit, memory reallocation with re-copying occurs, but one message 395th is lost".
(fixed in MT5(build 2069))"Compilation error when passing (void*)(NULL) parameter to template function".
(corrected in MT5(build 2059))"Strategy Tester: 2 passes planned, but in practice infinite number of passes > 900pcs due to "OnInit critical error" error".
(not fixed in MT5(build 2069))"Invalid value of array size field within default assignment operator for structures with dynamic arrays".
(not fixed in MT5(build 2069))"The compiler does not see the default class copy constructor when returning a class object by value from a function".
(fixed in MT5(build 2059))"Compiler fails to see the type cast "in itself" for pattern classes and "complex" structures".
(not fixed in MT5(build 2069))"When working with typedef, using a template function with explicit specialization does not generate code for this template function".
(not fixed in MT5(build 2069))"Compilation error when reusing the same function signature within typedef".
(not fixed in MT5(build 2069))"A significant part of functions for string handling does not work with NULL characters in a string (for example: ShortArrayToString, StringInit, StringFill)".
(not fixed in MT5(build 2069))"The StringSetLength function only works to "trim" the string length, not to increase it.
(fixed in MT5(build 2057))"Strategy Tester: 750 "metatester64.exe" processes are running".
"Forum www.mql5.com, when editing a message with a picture, the previous picture is not replaced with the new one".


Suggestions:
"Allow user to force code generation/deletion for default assignment operator (copy constructor)".
"Allow ArrayCopy to copy classes and "complex" structures, similar to how structures provide deep copy functionality for any object type".
"Provide functionality for user to read/set Capacity value when working with dynamic arrays".
"Changes to improve infographics of the Signals service"

 
These constants

Forum on trading, automated trading systems and trading strategy testing

Services. Already working?

fxsaber, 2019.06.07 06:37

#include <WinAPI\fileapi.mqh>
#include <WinAPI\handleapi.mqh>

#define  GENERIC_WRITE                    0x40000000
#define  CREATE_ALWAYS                    2
#define  FILE_ATTRIBUTE_NORMAL            0x00000080
#define  FILE_FLAG_OVERLAPPED             0x40000000

bool FileIsInvalid_WinAPI( const string FileName )
{
  const HANDLE hFile = CreateFileW(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);

And many others are missing in SB.

 

Once again I ask you to disable limit orders and take slippage in the tester on custom symbols on real ticks.

Now everyone who drives in the Strategy Tester by real ticks, where limit orders or take orders are applied, belong to one of three categories

  • Do not believe that they are cheated by the tester.
  • The pseudo-physicists.
  • fxsaber.

A big request to stop this practice at least on custom symbols. This is necessary not only so that the Tester does not lie, but also to be able to work faster.

Ну а как еще обратить внимание на эту проблему?

 

The CopyTicks function doesn't work requesting tick history from a given date. Therefore, either a large number of ticks should be requested, or the required tick history cannot be obtained using the code.

The MT5 terminal hangs permanently if the disk space runs out when requesting a large amount of tick history. A terminal crash can cause all account settings to be deleted.

 
Gelium:

The CopyTicks function doesn't work requesting tick history from a given date. Therefore, either a large number of ticks should be requested, or the tick history cannot be obtained with the code.

The MT5 terminal hangs permanently if large tick history requests run out of disk space. A terminal crash can cause all account settings to fail.

Milliseconds are in the input, not seconds.

 
fxsaber:

Milliseconds are there in the inputs, not seconds.

Read the help:

from

[in] Date from which ticks are requested. Specified in milliseconds from 01.01.1970. If parameter from=0, the last count of ticks is given .

Next is a simple code test:

int tm_ms = 10000000;
int received=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

This request always returns 2000 ticks with any change of tm_ms parameter. Is it supposed to be like this or am I doing something wrong?

 
Gelium:

Read the help:

from

[in] Date from which ticks are requested. Specified in milliseconds from 01.01.1970. If from=0, the last count of ticks is given .

Further is a simple code test:

int tm_ms = 10000000;
int received=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

This request always returns 2000 ticks with any change of tm_ms parameter. Is it supposed to be like this or am I doing something wrong?

long tm_ms = (long)D'2019.06.01' * 1000;
set the correct count so that it is not 2000.
 

fxsaber:

long tm_ms = (long)D'2019.06.01' * 1000;


Set the right count so it's not 2000.

Thank you, it's working! My mistake with int. :)

 
Each compilation gives a different value in Warning
void OnStart()
{
  int i = 0;

  {
    int i = 0; // declaration of 'i' hides local declaration at line 482781488
  }
}