Ошибки, баги, вопросы - страница 2912

 
Kira27:

Огромное спасибо!!!   А где про это можно почитать?

Нашёл)))   ---     Каждый графический объект должен иметь имя, уникальное в пределах одного графика, включая его подокна. Изменение имени графического объекта формирует два события: первое - это событие удаления объекта со старым именем, и второе – событие  создания графического объекта с новым именем.        Вопрос зачем так усложнять жизнь программисту?   

Операции с графиками - Справочник MQL4
Операции с графиками - Справочник MQL4
  • docs.mql4.com
Функции, устанавливающие свойства графика, фактически служат для отправки ему команд на изменение. При успешном выполнении этих функций команда попадает в общую очередь событий графика. Изменение графика производится в процессе обработки очереди событий данного графика. По этой причине не следует ожидать немедленного визуального обновления...
 
Konstantin Seredkin:

Кто с таким сталкивался

Вин 10

билд терминала 2715

После того как сделаю любую оптимизацию эксперта, после закрытия терминала в процессах остаются висеть Агенты потребляя оперативную память.


Как бы не критично ОЗУ по объему много, но вот когда запускаю игры, из за того что к памяти постоянно обращается эта куча дормоедов у меня ФПС падает на 20 кадров минимум.

Приходится или комп перегружать или сидеть по одному процессы убивать...

Если честно уже раздражать начинает.

Скажите это баг или так задумано, кроме терминала от брокера открытия больше ни чего не ставил, время от времени он обновляется, каких либо манипуляций с ним не делал.

Агенты ждут несколько минут следующих тестов, чтобы быстрее отработать задачи.

Автоматически выгружаются через несколько минут бездействия.

 
Aleksei Lesnikov:
Спасибо, это вариант!
А если диапазон в несколько тысяч, или даже десятков тысяч чисел?

такой вариант перемешивает в случайном порядке массив любого типа размером до 1 073 741 824 максимально быстро.

void OnStart() {
   int i1[]= {1,2,3,4,5,6,7,8,9,10,11,12,13};
   ArrayPrint(i1,0);
   MixArray(i1);
   ArrayPrint(i1,0);

   string str ="abcdefghijklmnopqrstuvwxyz";
   Print(str);
   uchar c[];
   StringToCharArray(str,c);
   ArrayResize(c,ArraySize(c)-1);
   MixArray(c);
   str=CharArrayToString(c);
   Print(str);
}
//+------------------------------------------------------------------+

template <typename T>
void MixArray(T &arr[]) {
   int size = ArraySize(arr);
   for (int i=0; i<(size-1); i++) {
      T temp = arr[i];
      int j=(rand()<<15|rand())%(size-i);
      arr[i]=arr[i+j];
      arr[i+j]=temp;
   }
}

результат:

2020.11.28 20:24:09.009 MixArray (EURUSD,M6)     1  2  3  4  5  6  7  8  9 10 11 12 13
2020.11.28 20:24:09.009 MixArray (EURUSD,M6)     2 11  4  9 10  1  8  7  5  6 13  3 12
2020.11.28 20:24:13.114 MixArray (EURUSD,M6)    abcdefghijklmnopqrstuvwxyz
2020.11.28 20:24:29.322 MixArray (EURUSD,M6)    rhxuwjlyzkobpcvnefdmqasitg



 

 
MetaQuotes:

Агенты ждут несколько минут следующих тестов, чтобы быстрее отработать задачи.

Автоматически выгружаются через несколько минут бездействия.

У меня висят постоянно, пока сам не выгружу, когда  скрин делал, использование МТ5 было в суботу утром закончено когда рынок закрылся по моему часовому поясу, в воскресенье сел в игры играть и начал заниматься убиванием процессов.

Наверное проблема на моей стороне, хотя винда лицензия месяц назад переустановлена.

 
Nikolai Semko:

такой вариант перемешивает в случайном порядке массив любого типа размером до 1 073 741 824 максимально быстро.

результат:



 

Спасибо!
 
Alexey Viktorov:

Потому, что при переименовании объекта происходит пересоздание его. Один удаляется, другой создаётся и в списке всех объектов они расположены в порядке времени создания.

Поправьте меня пожалуйста, если я не так понял))) 

При смене имени нулевого объекта, он удалившись и вновь создавшись станет последним в списке (3)? И за 4 интеграции выбора объектов по порядку в списке, они выстроятся в изначальное состояние? ?

 
Kira27:

Поправьте меня пожалуйста, если я не так понял))) 

При смене имени нулевого объекта, он удалившись и вновь создавшись станет последним в списке (3)? И за 4 интеграции выбора объектов по порядку в списке, они выстроятся в изначальное состояние?

А что вам мешает проверить?

 
Alexey Viktorov:

А что вам мешает проверить?

Я и проверил, перед тем как написать, чтоб уточнить что правильно понял вас.  Потому как результат проверки отбора объектов всё так же 

 
Kira27:

Я и проверил, перед тем как написать, чтоб уточнить что правильно понял вас.  Потому как результат проверки отбора объектов всё так же 

Хотя сейчас закрыл терминал и редактор, снова открыл, прогнал код 2 раза и всё стало нормально, отбор правильно проходит.   Заметил что иногда нужно перезагружать редактор для правильной отработки кода, с чем это связано???

 
Kira27:

Я и проверил, перед тем как написать, чтоб уточнить что правильно понял вас.  Потому как результат проверки отбора объектов всё так же 

Понимать надо не меня, а документацию. О сортировке я предположил на основании списка ордеров или позиций. И ещё в одной из тем Slava говорил, что достаточно, просто скрыть объект и вновь отобразить, чтобы он был выше всех остальных и первым получил событие «клик крыски». Если ошибся, извиняйте. Разберитесь как список сортируется и расскажите всем. Я тоже поменяю своё мнение.

Причина обращения: