Контроль процессов оптимизации в реальном режиме времени и передача массивных данных от агентов в MetaTrader 5 - страница 2

 
joo:


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

Да, мы как раз думаем над этой задачей.

Новые возможности вводим по частям и часто, чтобы быстро оценить результаты. Вопрос передачи результатов с агентов решили, теперь будем решать вопрос с отсылкой более объемных и персонализированных заданий на агентов.

 

Ренат, в Вашем примере в функции OnTester() при добавлении фрейма в случае положительного или отрицательного итога создания должно выводится сообщение.

//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester()
  {

...

   if(!FrameAdd("x",line_index,0,wavelet_line))
      Print("frame add error: ",GetLastError());
   else
     {
      Print("frame add ok");
     }
//---
   return(0);
  }

//---

Куда должно выводиться сообщение? Раньше нельзя было выводить в журнал сообщения из функции OnTester(). Теперь эта возможность должна быть или это ошибка? Если ошибка, то хотелось бы всё таки, чтобы такая возможность была.

 
tol64:

Ренат, в Вашем примере в функции OnTester() при добавлении фрейма в случае положительного или отрицательного итога создания должно выводится сообщение.

//---

Куда должно выводиться сообщение? Раньше нельзя было выводить в журнал сообщения из функции OnTester(). Теперь эта возможность должна быть или это ошибка? Если ошибка, то хотелось бы всё таки, чтобы такая возможность была.

С учетом того, что в режиме оптимизации принты не выводятся (пропускаются), то сообщения об ошибке не увидеть.
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции - Документация по MQL5
 
Renat:
С учетом того, что в режиме оптимизации принты не выводятся (пропускаются), то сообщения об ошибке не увидеть.

В режиме оптимизации принты выводятся в OnTesterInit(), OnTesterPass() и OnTesterDeinit(). А в OnTester() не выводятся. Примите, как пожелание тогда. Отмечу чуть позже в Сервисдеске.

А ещё неплохо было бы иметь возможность остановить оптимизацию программно. Сейчас пробовал остановить с помощью OnTesterDeinit() и OnDeinit(), но не получилось. Сообщения выводятся, а оптимизация продолжается. Попробовал ещё использовать ExpertRemove() из OnTesterPass(), чтобы сбрасывать каждый проход и этим быстро закончить оптимизацию, но почему то операционная система повисла и выбралась еле-еле без перезагрузки. Помню, что функция ExpertRemove() работала из других функций нормально.

Во всём остальном пока всё работает отлично.

 
Мы продумываем специальный код возврата из инита, чтобы сообщать об нормальном отказе работы при не подходящих параметрах и не подходящих ресурсах. Обратите внимание на новые параметры проверки наличия памяти, опенсл и тд.

Это важно для правильной работы в клауде, чтобы правильно отказываться от работы без выдачи сообщений об ошибках.
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции - Документация по MQL5
 
Renat:
Мы продумываем специальный код возврата из инита, чтобы сообщать об нормальном отказе работы при не подходящих параметрах и не подходящих ресурсах. Обратите внимание на новые параметры проверки наличия памяти, опенсл и тд.

Это важно для правильной работы в клауде, чтобы правильно отказываться от работы без выдачи сообщений об ошибках.

1. Отлично. Спасибо.

2. Обратил внимание, как раз Вы мне напомнили этим о некоторых вопросах.

//---

1. Что означает значение напротив OPENCL_SUPPORT?

2. Язык терминала у меня не определён. Баг?

3. Формируя это сообщение (вставляя картинку) увидел новую возможность сайта:

Теперь размер картинки можно регулировать самому указывая размер миниатюры?

 
tol64:

Теперь размер картинки можно регулировать самому указывая размер миниатюры?

Давно.
 
MetaDriver:
Давно.
У меня по ходу недавно. )) До этого пользовался Opera, а там эта возможность отсутствует. После последнего обновления, Opera глючить сильно стала и я перешёл на Firefox.
 
tol64:

1. Что означает значение напротив OPENCL_SUPPORT?

Это указывает на версию OpenCL 1.0 в виде 0x00010002 = "1.2". Значение 0 означает, что OpenCL не поддерживается.

2. Язык терминала у меня не определён. Баг?

Проверим, похоже на баг.


3. Формируя это сообщение (вставляя картинку) увидел новую возможность сайта:

Да.
 

Перенёс сюда пост Рената, так как вопрос ближе к этой теме:

Renat:

В МТ5 используется агрессивное управление кешами со временем жизни от десятков секунд до 5-7 минут. Это сделано для того, чтобы данные всегда были доступны при повторном использовании. Например, для быстрого переключения между чартами или вызовами те же самых индикаторов.

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

Сам терминал экономичен. Больше ресурсов ему приходится потреблять из-за работы с базами минуток, из которых и строятся остальные таймфреймы. И 64 битность тоже накладывает отпечаток.

Я так понимаю, что тестер при повторном запуске оптимизации берёт данные из кеша и при этом не прогоняет заново те проходы, которые уже есть, просто выдавая эти результаты. То есть, историю сделок из этих результатов уже не получится взять. Так?

Причина обращения: