Stanislav Korotky:
Можно прибить лишний?

Можно хоть всю папку Tester прибить, оставив только cache.

Подскажите, это баг или нет?

struct A { int i; };

struct B : public A { int j; };

void OnStart()
{
  B b;
  
  DebugBreak();
}

Отсутствует поле i.

С терминалом имеется постоянная проблема:

1- включаем панельки рисования и таймфреймов. Располагаем их в один ряд с основной.

2- сжимаем на пол экрана терминал

3- раскрываем на весь экран терминал и панельки рисования и таймфреймов оказываются "второй строкой"! Получается большое пространство экрана занято бесполезной пустотой!

А должен бы терминал запоминать их положение и восстанавливать.

В добавок, если взять за первую из них, то потащатся не 2 сразу, чего ожидаешь, а только одна... То есть их только по очереди назад перетаскивать!

И вообще - здоровые они такие, надо там всё вдвое/втрое уменьшить!

И рамки окнам графиков тоже тоненькие лучше сделать! Сейчас они такие кондовые - се всего кипича сделанные...

Это просто эргономика, это обще впечатление и общее удобство!

В нашей стране всегда проблемы с эргономикой! Ей постоянно не уделяют внимания. Иностранные продукты в этом смысле обычно выигрывают. Я не про терминалы других производителей, я в целом! Хоть автопром, хоть электронику взять... Хоть что...Со времён СССР и плановой экономики так повелось.

Неплохо бы это дело наконец победить!

Михаил:

И вообще - здоровые они такие, надо там всё вдвое/втрое уменьшить!

А о людях с не стопроцентным зрением думать не надо??? Их можно уже на свалку? Может проще вам надеть очки, чтобы кнопки не такими большими казались?

Alexey Viktorov:

А о людях с не стопроцентным зрением думать не надо??? Их можно уже на свалку? Может проще вам надеть очки, чтобы кнопки не такими большими казались?

Настройка нужна... Понятно, что зрение разное бывает. Экран бывает большой или ноутбучный мелкий... Поэтому нужна настройка! И чтобы терминал не забывал положение элементов...

Люди понемногу с мониторов на телеки переходят, вместо монитора... Очень удобно. На телеке большие элементы управления - пустая трата пространства. А на ноуте удобно элементы побольше... Нужны варианты выбора.

Платформа уже не маленькая. Столько сложных и серьёзных вещей сделано. А дизайн во многом старый, не менявшийся давно уже...

Вопрос по GetMicrosecondCount()

В справке написано - Функция GetMicrosecondCount() возвращает количество микросекунд, прошедших с момента начала работы MQL5-программы.

Я правильно понимаю что при запросе на Закрытие - Открытие - Модификацию ордера - позиции  эта функция замерзает ?


Метод проверки 

Открытие 20 позиций

Модификация 20 позиций

Замер GetMicrosecondCount()

Закрытие 20 позиций

Замер GetMicrosecondCount()


В результате все позиции закрываются с интервалом 70 000 микро секунд. Все 20 но если Мы посмотрим визуально в терминал то видим что некоторые позиции в процессе ожидания на закрытие по 2-5 секунд!

Vladimir Pastushak:

Вопрос по GetMicrosecondCount()

И еще в конце видео лог принтов показывает 

OD 0 22:58:46.604 Test (EURUSD,M15) 66190

GJ 0 22:58:46.669 Test (EURUSD,M15) 65134

GQ 0 22:58:55.914 Test (EURUSD,M15) 67867  Разница между этим значением и предыдущим 9 секунд, но GetMicrosecondCount() показывает 67867 мк/сек

PD 0 22:58:56.715 Test (EURUSD,M15) 66139

Vladimir Pastushak:

И еще в конце видео лог принтов показывает 

OD 0 22:58:46.604 Test (EURUSD,M15) 66190

GJ 0 22:58:46.669 Test (EURUSD,M15) 65134

GQ 0 22:58:55.914 Test (EURUSD,M15) 67867  Разница между этим значением и предыдущим 9 секунд, но GetMicrosecondCount() показывает 67867 мк/сек

PD 0 22:58:56.715 Test (EURUSD,M15) 66139

переполнение..счётчики надо сравнивать по модулю

Vladimir Pastushak:

И еще в конце видео лог принтов показывает 

OD 0 22:58:46.604 Test (EURUSD,M15) 66190

GJ 0 22:58:46.669 Test (EURUSD,M15) 65134

GQ 0 22:58:55.914 Test (EURUSD,M15) 67867  Разница между этим значением и предыдущим 9 секунд, но GetMicrosecondCount() показывает 67867 мк/сек

PD 0 22:58:56.715 Test (EURUSD,M15) 66139

К сожалению, вы не показали своего полного кода.

Как вы собрались обсуждать замер миллионных долей секунды, представляя лишь видео и полностью игнорируя код?


Если вы точно хотите обсудить точность замера микросекундного таймера, то запустите пример:

void OnStart()
  {
   ulong ticks;
//---
   ticks=GetMicrosecondCount();   
   Sleep(40);
   Print("40 ms = ",GetMicrosecondCount()-ticks," msc");
//---   
   ticks=GetMicrosecondCount();   
   Sleep(10);
   Print("10 ms = ",GetMicrosecondCount()-ticks," msc");
  }

40 ms = 40354 msc
10 ms = 10487 msc

Ошибки замеров нет.

GetMicrosecondCount() работает на системном счетчике QueryPerformanceCounter, а отсылка к времени старта приложения заложена для удобства.

Поищите ошибку в своем коде замера времени.

MetaQuotes Software Corp.:

К сожалению, вы не показали своего полного кода.

Как вы собрались обсуждать замер миллионных долей секунды, представляя лишь видео и полностью игнорируя код?


Если вы точно хотите обсудить точность замера микросекундного таймера, то запустите пример:

Ошибки замеров нет.

GetMicrosecondCount() работает на системном счетчике QueryPerformanceCounter, а отсылка к времени старта приложения заложена для удобства.

Поищите ошибку в своем коде замера времени.

Я использовал стандартную библиотеку. Код скину чуть позже, но там ничего нового нет.