Раньше при удалении группы, удалялись только скрытые символы в ней. Теперь удаляются все. Получается, что в Обзоре рынка висят вполне нормальные кастомные символы (работают запросы истории и т.д.), но при этом в базе данных символов (CTRL+U) их нет.
Минимизация окон позволяет снизить нагрузку на большинстве часто рисующих приложений.
В Win10 может быть несколько рабочих столов, между которыми быстрое переключение происходит по CTRL+WIN+LEFT и CTRL+WIN+RIGHT.
Очень удобно запускать, например, боевые Терминалы на отдельном рабочем столе. Тогда котлеты от мух отделены.
Однако, сейчас Терминалы, что работают на неактивном рабочем столе, продолжают активную деятельность по отрисовке GUI. Хотя они даже теоретически не могут быть видны. По сути их состояние приравнивается к минимизации.
Возможно ли не отрисовывать Терминалы, работающие на неактивном рабочем столе? Или иметь TERMINAL_MINIMIZED и TEMINAL_ACTIVEDESKTOP (TERMINAL_INVISIBLE)?
Сейчас такие DLL-манипуляции вынужден делать, чтобы не тратить ресурсы впустую.
// Возвращает true в некоторых ситуациях, когда чарт не виден.bool IsInvisible( long chartID = 0 )
{
bool Res = ::ChartGetInteger(chartID, CHART_IS_MINIMIZED);
if (!Res && !::ChartGetInteger(chartID, CHART_IS_MAXIMIZED) && ::ChartGetInteger(chartID, CHART_IS_DOCKED))
{
if (!chartID)
chartID = ::ChartID();
for (long Chart = ::ChartFirst(); (Chart != -1) && !Res; Chart = ::ChartNext(Chart))
Res = (Chart != chartID) && ::ChartGetInteger(Chart, CHART_IS_MAXIMIZED);
}
return(Res);
}
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132// Возвращает true в некоторых ситуациях, когда чарт не виден.// Учитывает еще окно Терминала и графики Оптимизатора.bool IsInvisible2( constlong chartID = 0 )
{
staticconstlong TerminalHandle = MTTESTER::GetTerminalHandle();
staticconstlong ChartsHandle = user32::GetDlgItem(TerminalHandle, 0xE900);
bool Res = ::ChartGetInteger(chartID, CHART_IS_MINIMIZED) || user32::IsIconic(TerminalHandle);
if (!Res && !::ChartGetInteger(chartID, CHART_IS_MAXIMIZED) && ::ChartGetInteger(chartID, CHART_IS_DOCKED))
{
constlong hwnd = ::ChartGetInteger(chartID, CHART_WINDOW_HANDLE);
for (long handle = user32::GetWindow(ChartsHandle, GW_CHILD); handle && !Res; handle = user32::GetWindow(handle, GW_HWNDNEXT))
Res = (hwnd != handle) && user32::IsZoomed(handle);
}
return(Res);
}
В общем, логичное желание не рисовать там, где это точно не будет кем-либо увидено. Например, не считать тяжелую стату для вывода на чарт, если этот чарт не виден. Коды выше позволяют это делать, но это далеко не штатные решения, а костыли.
2769 отладчик всё ещё не работает. При пошаговой отладке может скакать по строкам произвольно, останавливаться на пустой строке, возвращаться назад (на линейной программе)...
Could not evaluate expression на любой локальной или глобальной переменной, константе, параметре функции.
2769 из-за корявого отладчика невозможно программу отладить. Показывает либо чушь, либо не останавливается вообще, либо останавливается вообще непонятно где.
Новый отладчик - это фантастика. Я в восторге от возможности заглянуть внутрь любого объекта. Даже this разворачивается. Гениально. Конечно, все недочеты допилят, например, не видно статические поля класса, но функционал уже на совершенно новом уровне. Большое спасибо разработчикам от всей души.
P.S. Добавьте в editor возможность перемещать строку кода через Alt-Up/Alt-Dn
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Спасибо, буду разбираться
@Ilyas В новом билде
опять наблюдается остановка отладки на кривой скобке
и все остальные баги остались.
Баг с кастомными символами.
Раньше при удалении группы, удалялись только скрытые символы в ней. Теперь удаляются все. Получается, что в Обзоре рынка висят вполне нормальные кастомные символы (работают запросы истории и т.д.), но при этом в базе данных символов (CTRL+U) их нет.
Просьба вернуть, как было.
Строка для поиска: Oshibka 023.Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Canvas - это круто!
Renat Fatkhullin, 2021.01.29 19:38
Минимизация окон позволяет снизить нагрузку на большинстве часто рисующих приложений.
В Win10 может быть несколько рабочих столов, между которыми быстрое переключение происходит по CTRL+WIN+LEFT и CTRL+WIN+RIGHT.
Очень удобно запускать, например, боевые Терминалы на отдельном рабочем столе. Тогда котлеты от мух отделены.
Однако, сейчас Терминалы, что работают на неактивном рабочем столе, продолжают активную деятельность по отрисовке GUI. Хотя они даже теоретически не могут быть видны. По сути их состояние приравнивается к минимизации.
Возможно ли не отрисовывать Терминалы, работающие на неактивном рабочем столе? Или иметь TERMINAL_MINIMIZED и TEMINAL_ACTIVEDESKTOP (TERMINAL_INVISIBLE)?
Сейчас такие DLL-манипуляции вынужден делать, чтобы не тратить ресурсы впустую.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
MT5 и скорость в боевом исполнении
fxsaber, 2020.10.01 23:58
Горячая клавиша и готово. Как закрывать Обзор рынка и Инструменты - не разобрался. Будет полезно для всех, кто использует VPS, если покажут.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Benchmark
fxsaber, 2020.10.01 23:49
В общем, логичное желание не рисовать там, где это точно не будет кем-либо увидено. Например, не считать тяжелую стату для вывода на чарт, если этот чарт не виден. Коды выше позволяют это делать, но это далеко не штатные решения, а костыли.
Строка для поиска: Uluchshenie 034.Взял код из темы BUG in MQL5 version 5.00 build 2769 ?! (and build 2766)
Обставил OnInit точками останова и запускаю отладку на истории (
)
- но все они игнорируются и код запускается.
Как такое возможно?
Как такое возможно?
https://www.mql5.com/ru/forum/360210/page2#comment_20227638
https://www.mql5.com/ru/forum/360210/page3#comment_20271662
Т.е. реально данные правильные, но отладчик показывает неправильно.2769 отладчик всё ещё не работает. При пошаговой отладке может скакать по строкам произвольно, останавливаться на пустой строке, возвращаться назад (на линейной программе)...
Could not evaluate expression на любой локальной или глобальной переменной, константе, параметре функции.
2761 пока незаменим.