ChartGetInteger(), ChartTimePriceToXY() - серьезные проблемы вызывают зависание - страница 4

 
Vitaly Muzichenko #:

Сделал проверку и остальных функций.

Всё работает отменно, разницу видно без каких либо измерений.

Спасибо, огромное!

Отлично. Значит надо опубликовать.
Спасибо.
 
Nikolai Semko #:
Вот первая версия библиотеки (не без помощи ИИ (Opus 4.8)

GetTickCount() это Opus понатыкал ? ;-)

беглым взглядом, тут ошибка :

//+------------------------------------------------------------------+
//| CHARTEVENT_CHART_CHANGE handler: throttled full refresh, then    |
//| mark the conversion cache dirty so XYToTimePrice recomputes the  |
//| per-subwindow price bounds on the next call.                     |
//+------------------------------------------------------------------+
void CFastChartTable::OnChartChange(void)
  {
   uint now = GetTickCount();
   if(now-m_last_update<30) // do not refresh more often than ~33 Hz
      return;
   m_last_update = now;
   ulong t0 = GetMicrosecondCount();
   GetWindowProperties();
   m_refresh_us = GetMicrosecondCount()-t0;
   XYToTimePrice(0,0,m_mouse_time,m_mouse_price,CHARTEVENT_CHART_CHANGE);
  }
 
Maxim Kuznetsov #:

GetTickCount() это Opus понатыкал ? ;-)

беглым взглядом, тут ошибка :

писал сам лет 8 назад. Opus лишь оформила в класс и выкусила все что связано с canvas.
Где ошибка то? Не исключаю косяков.
GetTickCount() очень важен там, особенно когда нужно добиться нормальной работы в тестере (здесь об этом писал). Это ограничитель вызова этой весьма ресурсоемкой функции не чаще чем раз в 31.25 миллисекунд (2/64 sec). Без этого тестер будет жутко тормозить. 
Найден баг в компиляторе, связанный с перерисовкой панелей в тестере
Найден баг в компиляторе, связанный с перерисовкой панелей в тестере
  • 2020.02.15
  • www.mql5.com
Пользователь обсуждает проблемы с перерисовкой панелей в режиме тестера, связанные с частым пересчётом канваса и низкой частотой обновления экрана. Также упоминается конфликт в библиотеке TypeToBytes и необходимость исправления ошибок в версии iCanvas 1.40.