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

fxsaber
15227
fxsaber  
Vladimir Simakov:
Совсем намертво или все-таки через некоторое время выгрузка советника происходит? Если второе, то ищи цикл.

Интереснее. В дебаг-режиме не виснет. А в полноценном - намертво.

Vanyushka
5
Vanyushka  
Здравствуйте коллеги! Кто то знает почему терминал МТ4 на андроид не засчитывает некоторые закрытые позиции в прибыли, хотя в истории они отображаются? 

Может это баг какой-то?
fxsaber
15227
fxsaber  
fxsaber:

Интереснее. В дебаг-режиме не виснет. А в полноценном - намертво.

Локализовал проблему.

#include <WinAPI\WinAPI.mqh>

#define GA_ROOT           0x00000002

void OnDeinit( const int )
{
  static const int ControlID[] = {0xE81E, 0x804E, 0x2712, 0x4196};
  
  long Handle = user32::GetAncestor(::ChartGetInteger(0, CHART_WINDOW_HANDLE), GA_ROOT);
                                                                                        
  for (int i = 0; i < sizeof(ControlID) / sizeof(int); i++)                             
    Handle = user32::GetDlgItem(Handle, ControlID[i]);

  ushort Str[6];
  user32::GetWindowTextW(Handle, Str, sizeof(Str) / sizeof(ushort)); // Freeze
}


Запускаете этот советник на чарте и потом руками снимаете. Будет зависание Терминала.

Выполнение этого же кода в любой другой On-функции зависания не производит.

Stanislav Korotky
22433
Stanislav Korotky  
Вдруг в папке Tester появилась папка для третьего агента (порт 3002), которого отродясь не было. Ничего не менял, менеджер не запускал. В папках двух других (нормальных) агентов также есть свежие файлы от сегодня. Отчего такое может быть? Можно прибить лишний?
fxsaber
15227
fxsaber  
Stanislav Korotky:
Можно прибить лишний?

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

fxsaber
15227
fxsaber  

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

struct A { int i; };

struct B : public A { int j; };

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

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

Михаил
338
Михаил  

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

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

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

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

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

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

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

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

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

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

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

Alexey Viktorov
22588
Alexey Viktorov  
Михаил:

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

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

Михаил
338
Михаил  
Alexey Viktorov:

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

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

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

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

Vladimir Pastushak
78849
Vladimir Pastushak  

Вопрос по GetMicrosecondCount()

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

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


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

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

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

Замер GetMicrosecondCount()

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

Замер GetMicrosecondCount()


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