Новая версия платформы MetaTrader 5 build 2485: улучшения в iCustom и общая оптимизация в MQL5 - страница 10

 
Vladimir Karputov:

Чтобы что-то поставить в подокно, нужно сначала точно убедиться что это подокно есть и в нём располагается нудный Вам индикатор.

Всё обсуждение сносится в тему: Создание линии в подокне индикатора.

всё работает отлично - кроме новой бета версию 2489 

 
Комментарии, не относящиеся к этой теме, были перенесены в "Создание линии в подокне индикатора".
 
Loring:

В тестере стратегий при переборе параметров на интервале истории результаты не попадают на закладку оптимизация пока :

1 - не переключишься на другую закладку и обратно,

2 - не закончится перебор полностью.

Таких моментов, связанных с обновлением данных в интерфейсе при оптимизации и тестировании очень много, к сожалению. Обсуждалось давно и безуспешно. Разработчики говорят, что обновление на экране в этих процессах имеет минимальный приоритет и все ресурсы отдаются процессу. В лучшем случае обновляется большим пакетом изредка. Результаты оптимизации когда-то обновлялись. При визуальном тестировании состояние графика и вкладок часто не соответствует актуальному состоянию на момент брекпойнта, что затрудняет отладку.

 
Edgar Akhmadeev:

Таких моментов, связанных с обновлением данных в интерфейсе при оптимизации и тестировании очень много, к сожалению. Обсуждалось давно и безуспешно. Разработчики говорят, что обновление на экране в этих процессах имеет минимальный приоритет и все ресурсы отдаются процессу. В лучшем случае обновляется большим пакетом изредка. Результаты оптимизации когда-то обновлялись. При визуальном тестировании состояние графика и вкладок часто не соответствует актуальному состоянию на момент брекпойнта, что затрудняет отладку.

Паузу нажмите, и всё станет актуальным.

 

Сейчас 0:15

Пытаюсь в тестере узнать, что случилось за последние 8 часов, но последние  4 часа до сих пор отсутствуют и он останавливается на 20:00.

 
Roffild:

Сейчас 0:15

Пытаюсь в тестере узнать, что случилось за последние 8 часов, но последние  4 часа до сих пор отсутствуют и он останавливается на 20:00.

В тестере нет последних суток.

 
Artyom Trishkin:

В тестере нет последних суток.

В 00:00 по серверному часовому поясу уже можно запускать тестирование.

Если, например, в 12:00 запросить историю по другому символу, то тест автоматически завершится без ошибок сразу в 12:00.

 
Artyom Trishkin:

Паузу нажмите, и всё станет актуальным.

После остановки по брекпойнту нажимать ещё паузу? Попробую этот костыль, спасибо. Но это очевидный костыль, при остановке по БП это должно актуализироваться/обновляться автоматом.

 

Что-то не пойму, в СБ и в 5-ке и в 4-ке в функции CWndContainer::Destroy() есть цикл for. Но внутри не видно, чтобы использовалась переменная инкремент i.

Это наверное ошибка?

//+------------------------------------------------------------------+
//| Delete group of controls                                         |
//+------------------------------------------------------------------+
void CWndContainer::Destroy(const int reason)
  {
//--- loop by elements of group
   int total=m_controls.Total();
   for(int i=0;i<total;i++)
     {
      CWnd *control=Control(0);
      //--- check of pointer
      if(control==NULL)
         continue;
      control.Destroy();
      m_controls.Delete(0);
     }
  }
 
Vasiliy Pushkaryov:

Что-то не пойму, в СБ и в 5-ке и в 4-ке в функции CWndContainer::Destroy() есть цикл for. Но внутри не видно, чтобы использовалась переменная инкремент i.

Это наверное ошибка?

Не обязательно. Некоторые функции используют одно и то же значение (0) при переборе, а не цикличную переменную. И это характерно, КАК РАЗ, для удаления позиций и ордеров.