Errors, bugs, questions - page 2542

 
Why is it that when I turn off the computer and go into MT4 the next day the levels are not saved?
 

Developers, hi.

The CArrayList from jinerik capacity is used incorrectly. If it's a reserve size, it should be called in the constructor like this:

ArrayResize(m_items,0,m_default_capacity);

Right now it's like this:

ArrayResize(m_items,m_default_capacity);

If you want to allocate and account for yourself, then start positioning and use everywhere, including bsearch and stuff, although it's not a good idea.


PS. While studying the code, I found that you pass m_size after all. When the array is empty, BinarySearch returns 0, not -1.

And why should we organize capacity ourselves when we have it at the ArrayResize level?

PPS. Are there plans to create a LowerBound?
 

There are three main points aboutCArrayList:

1. To think about removing additional implementation of capacity, since it already exists in ArrayResize

2) Fix BinarySearch for empty array. By default, there are 4 elements in the array and the 0th index is passed first and is returned when the array's size is zero.

3. It is desirable to add LowerBound. It is strange that nobody asked before

 
Yevhenii8370:
Why when I switch off the computer and enter MT4 on the next day the levels are not saved?

There are two options here - either there is an indicator/advisor that cleans all levels during initialization, or the set does not have time to save. I've encountered both problems, the first one can be solved by editing the code, and the second one by saving the set twice and loading the saved version whenthe terminal starts.

 
Sergey Dzyublik:

MT5 (build 2118), How much longer can we wait to fix bugs intypedef functionality?
Some nonsense - one step to the left of a primitive example on using typedef and that's it - a bunch of bugs blocking further development.

Thanks for the code.

Bug fixed.

Demo build of MT4 1192 has been released today, try to use MetaEditor 2121 which comes with MT4 to compile MQ5 files

 

took out the indicator, left here on the chart (attached).

How to remove?

I searched in the list of objects - did not find it. took out all indicators and the EA - did not help.

Files:
 
barashka:

took out the indicator, left here on the chart (attached).

How to remove?

i searched in the list of objects - did not find. took out all indicators and EA - did not help.

The list of objects has a button to show the hidden objects, delete them there...

 
Vladimir Pastushak:

In the list of objects, there is a button to show hidden objects, so delete them there...

: )
 
Sergey Dzyublik:

https://www.mql5.com/ru/docs/basis/types/classes

At first I was surprised, because I didn't know that offsetof existed.
But the reality put everything in its place:

struct Parent{ 
      char              c;    // sizeof(char)=1 
};
     
struct Children pack(2) : Parent{ 
      short             s;   // sizeof(short)=2 
};

void OnStart(){ 
//--- объявим переменную типа Children 
   Children child;   
//--- узнаем смещения от начала структуры  
   Print("offsetof(child.c)=",offsetof(child.c)); 
   Print("offsetof(child.s)=",offsetof(child.s));
}   



'offsetof' - function not defined

Thanks for the message.

There are copy-paste errors in the help, let's fix it:

instead of the variable name child should be the class type Children and instead of '.' (field access) must be a comma ( offsetof is a (conditional) built-in macro)

struct Parent{ 
      char              c;    // sizeof(char)=1 
};
     
struct Children pack(2) : Parent{ 
      short             s;   // sizeof(short)=2 
};

void OnStart(){ 
//--- узнаем смещения от начала структуры  
   Print("offsetof(Children,c)=",offsetof(Children,c); 
   Print("offsetof(Children,s)=",offsetof(Children,s));
}   

 

Problem with .NET. The program crashes when the library accesses other custom modules, saying that the file is not found:

System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.TypeInitializationException: Инициализатор типа "MDD.IQFeedAPI" выдал исключение. ---> System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "NLog, Version=2.1.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c" либо одну из их зависимостей. Не удается найти указанный файл.

All used dlls (including mentioned NLog.dll) are in the same folder, but for some reason the system doesn't see them when running from MT. It works fine only with regular framework. Is it the same for all, or am I missing something? If anyone knows how to fix this problem, I would appreciate it.

Reason: